forked from pneymrl2f/nightingale
parent
8379624581
commit
ed35ddc388
@ -0,0 +1,237 @@
|
||||
#!/bin/bash -x
|
||||
|
||||
# release version
|
||||
version=3.0.0
|
||||
|
||||
CWD=$(cd $(dirname $0)/; pwd)
|
||||
cd $CWD
|
||||
|
||||
usage()
|
||||
{
|
||||
echo $"Usage: $0 {start|stop|restart|status|build|pack} <module>"
|
||||
exit 0
|
||||
}
|
||||
|
||||
start_all()
|
||||
{
|
||||
test -x n9e-rdb && start rdb
|
||||
test -x n9e-transfer && start transfer
|
||||
test -x n9e-tsdb && start tsdb
|
||||
test -x n9e-index && start index
|
||||
test -x n9e-judge && start judge
|
||||
test -x n9e-monapi && start monapi
|
||||
test -x n9e-job && start job
|
||||
test -x n9e-ams && start ams
|
||||
test -x n9e-agent && start agent
|
||||
}
|
||||
|
||||
start()
|
||||
{
|
||||
mod=$1
|
||||
if [ "x${mod}" = "x" ]; then
|
||||
usage
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "x${mod}" = "xall" ]; then
|
||||
start_all
|
||||
return
|
||||
fi
|
||||
|
||||
binfile=n9e-${mod}
|
||||
|
||||
if [ ! -f $binfile ]; then
|
||||
echo "file[$binfile] not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
|
||||
echo "${mod} already started"
|
||||
return
|
||||
fi
|
||||
|
||||
mkdir -p logs/$mod
|
||||
nohup $CWD/$binfile &> logs/${mod}/stdout.log &
|
||||
|
||||
for((i=1;i<=15;i++)); do
|
||||
if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -gt 0 ]; then
|
||||
echo "${mod} started"
|
||||
return
|
||||
fi
|
||||
sleep 0.2
|
||||
done
|
||||
|
||||
echo "cannot start ${mod}"
|
||||
exit 1
|
||||
}
|
||||
|
||||
stop_all()
|
||||
{
|
||||
test -x n9e-monapi && stop monapi
|
||||
test -x n9e-transfer && stop transfer
|
||||
test -x n9e-tsdb && stop tsdb
|
||||
test -x n9e-index && stop index
|
||||
test -x n9e-judge && stop judge
|
||||
test -x n9e-agent && stop agent
|
||||
test -x n9e-ams && stop ams
|
||||
test -x n9e-job && stop job
|
||||
test -x n9e-rdb && stop rdb
|
||||
}
|
||||
|
||||
stop()
|
||||
{
|
||||
mod=$1
|
||||
if [ "x${mod}" = "x" ]; then
|
||||
usage
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "x${mod}" = "xall" ]; then
|
||||
stop_all
|
||||
return
|
||||
fi
|
||||
|
||||
binfile=n9e-${mod}
|
||||
|
||||
if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
|
||||
echo "${mod} already stopped"
|
||||
return
|
||||
fi
|
||||
|
||||
ps aux|grep -v grep|grep -v control|grep "$binfile"|awk '{print $2}'|xargs kill
|
||||
for((i=1;i<=15;i++)); do
|
||||
if [ $(ps aux|grep -v grep|grep -v control|grep "$binfile" -c) -eq 0 ]; then
|
||||
echo "${mod} stopped"
|
||||
return
|
||||
fi
|
||||
sleep 0.2
|
||||
done
|
||||
|
||||
echo "cannot stop $mod"
|
||||
exit 1
|
||||
}
|
||||
|
||||
restart()
|
||||
{
|
||||
mod=$1
|
||||
if [ "x${mod}" = "x" ]; then
|
||||
usage
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "x${mod}" = "xall" ]; then
|
||||
stop_all
|
||||
start_all
|
||||
return
|
||||
fi
|
||||
|
||||
stop $mod
|
||||
start $mod
|
||||
|
||||
status
|
||||
}
|
||||
|
||||
status()
|
||||
{
|
||||
ps aux|grep -v grep|grep "n9e"
|
||||
}
|
||||
|
||||
build_one()
|
||||
{
|
||||
mod=$1
|
||||
go build -ldflags "-X main.version=${version}" -o n9e-${mod} src/modules/${mod}/${mod}.go
|
||||
}
|
||||
|
||||
build_docker()
|
||||
{
|
||||
mod=$1
|
||||
go build -ldflags "-X main.version=${version}" -o bin/n9e-${mod} src/modules/${mod}/${mod}.go
|
||||
}
|
||||
|
||||
build()
|
||||
{
|
||||
export GO111MODULE=on
|
||||
|
||||
mod=$1
|
||||
if [ "x${mod}" = "x" ]; then
|
||||
build_one monapi
|
||||
build_one transfer
|
||||
build_one index
|
||||
build_one judge
|
||||
build_one agent
|
||||
build_one tsdb
|
||||
build_one rdb
|
||||
build_one ams
|
||||
build_one job
|
||||
return
|
||||
fi
|
||||
|
||||
if [ "x${mod}" = "xdocker" ]; then
|
||||
build_docker monapi
|
||||
build_docker transfer
|
||||
build_docker index
|
||||
build_docker judge
|
||||
build_docker agent
|
||||
build_docker tsdb
|
||||
build_docker rdb
|
||||
build_docker ams
|
||||
build_docker job
|
||||
return
|
||||
fi
|
||||
|
||||
build_one $mod
|
||||
}
|
||||
|
||||
reload()
|
||||
{
|
||||
mod=$1
|
||||
if [ "x${mod}" = "x" ]; then
|
||||
echo "arg: <mod> is necessary"
|
||||
return
|
||||
fi
|
||||
|
||||
build_one $mod
|
||||
restart $mod
|
||||
}
|
||||
|
||||
pack()
|
||||
{
|
||||
v=$1
|
||||
if [ "x${v}" = "x" ]; then
|
||||
v=$(date +%Y-%m-%d-%H-%M-%S)
|
||||
fi
|
||||
|
||||
tar zcvf n9e-$v.tar.gz control sql pub etc/service etc/nginx.conf etc/mysql.yml etc/address.yml \
|
||||
n9e-agent etc/agent.yml \
|
||||
n9e-tsdb etc/tsdb.yml \
|
||||
n9e-index etc/index.yml \
|
||||
n9e-judge etc/judge.yml \
|
||||
n9e-transfer etc/transfer.yml \
|
||||
n9e-monapi etc/monapi.yml
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start $2
|
||||
;;
|
||||
stop)
|
||||
stop $2
|
||||
;;
|
||||
restart)
|
||||
restart $2
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
build)
|
||||
build $2
|
||||
;;
|
||||
reload)
|
||||
reload $2
|
||||
;;
|
||||
pack)
|
||||
pack $2
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
esac
|
@ -0,0 +1,46 @@
|
||||
---
|
||||
rdb:
|
||||
http: 0.0.0.0:8000
|
||||
|
||||
ams:
|
||||
http: 0.0.0.0:8002
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
job:
|
||||
http: 0.0.0.0:8004
|
||||
rpc: 0.0.0.0:8005
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
monapi:
|
||||
http: 0.0.0.0:8006
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
transfer:
|
||||
http: 0.0.0.0:8008
|
||||
rpc: 0.0.0.0:8009
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
tsdb:
|
||||
http: 0.0.0.0:8010
|
||||
rpc: 0.0.0.0:8011
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
index:
|
||||
http: 0.0.0.0:8012
|
||||
rpc: 0.0.0.0:8013
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
judge:
|
||||
http: 0.0.0.0:8014
|
||||
rpc: 0.0.0.0:8015
|
||||
addresses:
|
||||
- 127.0.0.1
|
||||
|
||||
agent:
|
||||
http: 0.0.0.0:2080
|
@ -0,0 +1,12 @@
|
||||
logger:
|
||||
dir: logs/ams
|
||||
level: INFO
|
||||
keepHours: 24
|
||||
|
||||
http:
|
||||
mode: release
|
||||
cookieDomain: ""
|
||||
cookieName: ecmc-user
|
||||
|
||||
tokens:
|
||||
- ams-builtin-token
|
@ -0,0 +1,16 @@
|
||||
- system: 资产管理系统
|
||||
groups:
|
||||
- title: 主机设备
|
||||
ops:
|
||||
- en: ams_host_mgr_menu
|
||||
cn: 主机设备管理菜单
|
||||
- en: ams_host_delete
|
||||
cn: 主机设备删除
|
||||
- en: ams_host_modify
|
||||
cn: 主机设备信息修改
|
||||
- title: 网络设备
|
||||
ops:
|
||||
- en: ams_netware_mgr_menu
|
||||
cn: 网络设备管理菜单
|
||||
- en: ams_netware_modify
|
||||
cn: 网络设备信息修改
|
@ -0,0 +1,4 @@
|
||||
logger:
|
||||
dir: logs/index
|
||||
level: WARNING
|
||||
keepHours: 2
|
@ -0,0 +1,15 @@
|
||||
logger:
|
||||
dir: logs/job
|
||||
level: INFO
|
||||
keepHours: 24
|
||||
|
||||
http:
|
||||
mode: release
|
||||
cookieDomain: ""
|
||||
cookieName: ecmc-user
|
||||
|
||||
output:
|
||||
# database | remote
|
||||
comeFrom: database
|
||||
remotePort: 2080
|
||||
|
@ -0,0 +1,18 @@
|
||||
query:
|
||||
connTimeout: 1000
|
||||
callTimeout: 2000
|
||||
indexCallTimeout: 2000
|
||||
|
||||
redis:
|
||||
addrs:
|
||||
- 127.0.0.1:6379
|
||||
pass: ""
|
||||
# timeout:
|
||||
# conn: 500
|
||||
# read: 3000
|
||||
# write: 3000
|
||||
|
||||
logger:
|
||||
dir: logs/judge
|
||||
level: WARNING
|
||||
keepHours: 2
|
@ -0,0 +1,66 @@
|
||||
- system: 用户资源库
|
||||
groups:
|
||||
- title: 人员授权
|
||||
ops:
|
||||
- en: rdb_perm_grant
|
||||
cn: 权限分配
|
||||
- title: 节点类操作
|
||||
ops:
|
||||
- en: rdb_node_create
|
||||
cn: 创建节点
|
||||
- en: rdb_node_modify
|
||||
cn: 修改节点
|
||||
- en: rdb_node_delete
|
||||
cn: 删除节点
|
||||
- title: 资源类操作
|
||||
ops:
|
||||
- en: rdb_resource_view
|
||||
cn: 资源信息查看
|
||||
- en: rdb_resource_bind
|
||||
cn: 资源挂载节点
|
||||
- en: rdb_resource_unbind
|
||||
cn: 资源解挂节点
|
||||
- en: rdb_resource_modify
|
||||
cn: 资源信息修改
|
||||
- system: 任务执行中心
|
||||
groups:
|
||||
- title: 任务模板相关
|
||||
ops:
|
||||
- en: job_tpl_view
|
||||
cn: 查看任务模板
|
||||
- en: job_tpl_create
|
||||
cn: 创建任务模板
|
||||
- en: job_tpl_modify
|
||||
cn: 修改任务模板
|
||||
- en: job_tpl_delete
|
||||
cn: 删除任务模板
|
||||
- title: 任务执行相关
|
||||
ops:
|
||||
- en: task_run_use_root_account
|
||||
cn: 使用root账号运行脚本
|
||||
- en: task_run_use_gene_account
|
||||
cn: 使用普通账号运行脚本
|
||||
- system: 监控告警系统
|
||||
groups:
|
||||
- title: 告警策略
|
||||
ops:
|
||||
- en: mon_stra_write
|
||||
cn: 告警策略配置权限
|
||||
- title: 采集策略
|
||||
ops:
|
||||
- en: mon_collect_write
|
||||
cn: 采集策略配置权限
|
||||
- title: 大屏操作
|
||||
ops:
|
||||
- en: mon_screen_write
|
||||
cn: 监控大屏配置权限
|
||||
- en: mon_screen_read
|
||||
cn: 监控大屏查看权限
|
||||
- title: 指标计算
|
||||
ops:
|
||||
- en: mon_aggr_write
|
||||
cn: 指标计算配置权限
|
||||
- title: 告警历史
|
||||
ops:
|
||||
- en: mon_event_write
|
||||
cn: 告警历史屏蔽、认领、忽略
|
@ -0,0 +1,28 @@
|
||||
---
|
||||
tokens:
|
||||
- monapi-internal-third-module-pass-fjsdi
|
||||
logger:
|
||||
dir: logs/monapi
|
||||
level: WARNING
|
||||
keepHours: 2
|
||||
region:
|
||||
- default
|
||||
# read alert from redis
|
||||
redis:
|
||||
addr: 127.0.0.1:6379
|
||||
pass: 1234
|
||||
# timeout:
|
||||
# conn: 500
|
||||
# read: 3000
|
||||
# write: 3000
|
||||
|
||||
notify:
|
||||
p1: ["voice", "sms", "mail", "im"]
|
||||
p2: ["sms", "mail", "im"]
|
||||
p3: ["mail", "im"]
|
||||
|
||||
# addresses accessible using browser
|
||||
link:
|
||||
stra: http://ecmc.com/mon/strategy/%v
|
||||
event: http://ecmc.com/mon/history/his/%v
|
||||
claim: http://ecmc.com/mon/history/cur/%v
|
@ -0,0 +1,26 @@
|
||||
---
|
||||
rdb:
|
||||
addr: "root:1234@tcp(127.0.0.1:3306)/n9e_rdb?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
|
||||
max: 16
|
||||
idle: 4
|
||||
debug: false
|
||||
ams:
|
||||
addr: "root:1234@tcp(127.0.0.1:3306)/n9e_ams?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
|
||||
max: 16
|
||||
idle: 4
|
||||
debug: false
|
||||
job:
|
||||
addr: "root:1234@tcp(127.0.0.1:3306)/n9e_job?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
|
||||
max: 16
|
||||
idle: 4
|
||||
debug: false
|
||||
mon:
|
||||
addr: "root:1234@tcp(127.0.0.1:3306)/n9e_mon?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
|
||||
max: 16
|
||||
idle: 4
|
||||
debug: false
|
||||
hbs:
|
||||
addr: "root:1234@tcp(127.0.0.1:3306)/n9e_hbs?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
|
||||
max: 16
|
||||
idle: 4
|
||||
debug: false
|
@ -0,0 +1,76 @@
|
||||
logger:
|
||||
dir: logs/rdb
|
||||
level: INFO
|
||||
keepHours: 24
|
||||
|
||||
http:
|
||||
mode: release
|
||||
cookieDomain: ""
|
||||
cookieName: ecmc-user
|
||||
|
||||
sso:
|
||||
enable: true
|
||||
ssoAddr: "http://10.86.76.13:8071"
|
||||
redirectURL: "http://10.86.76.13:8072/api/rdb/auth/callback"
|
||||
clientId: ""
|
||||
clientSecret: ""
|
||||
apiKey: ""
|
||||
|
||||
tokens:
|
||||
- uic-builtin-token
|
||||
- hsp-builtin-token
|
||||
- rdb-builtin-token
|
||||
|
||||
# for ldap authorization
|
||||
ldap:
|
||||
host: "ldap.example.org"
|
||||
port: 389
|
||||
baseDn: "dc=example,dc=org"
|
||||
# AD: manange@example.org
|
||||
bindUser: "cn=manager,dc=example,dc=org"
|
||||
bindPass: "*******"
|
||||
# openldap: (&(uid=%s))
|
||||
# AD: (&(sAMAccountName=%s))
|
||||
authFilter: "(&(uid=%s))"
|
||||
attributes:
|
||||
dispname: "cn"
|
||||
email: "mail"
|
||||
phone: "mobile"
|
||||
im: ""
|
||||
coverAttributes: false
|
||||
autoRegist: true
|
||||
tls: false
|
||||
startTLS: false
|
||||
|
||||
# as queue for sender
|
||||
redis:
|
||||
enable: false
|
||||
addr: 127.0.0.1:6379
|
||||
pass: ""
|
||||
idle: 5
|
||||
timeout:
|
||||
conn: 500
|
||||
read: 3000
|
||||
write: 3000
|
||||
|
||||
sender:
|
||||
mail:
|
||||
# three choice: smtp|shell|api
|
||||
way: smtp
|
||||
worker: 10
|
||||
api: http://127.0.0.1:2008/mail
|
||||
sms:
|
||||
# two choice: shell|api
|
||||
way: api
|
||||
worker: 10
|
||||
api: http://127.0.0.1:2008/sms
|
||||
voice:
|
||||
# two choice: shell|api
|
||||
way: shell
|
||||
worker: 10
|
||||
api: http://127.0.0.1:2008/voice
|
||||
im:
|
||||
# two choice: shell|api
|
||||
way: shell
|
||||
worker: 10
|
||||
api: http://127.0.0.1:2008/im
|
@ -0,0 +1,14 @@
|
||||
{{if .IsUpgrade}}注意,告警已触发升级!{{end}}
|
||||
级别状态:{{.Status}}
|
||||
策略名称:{{.Sname}}
|
||||
告警设备:{{.Endpoint}}
|
||||
挂载节点:
|
||||
{{range .Bindings}}{{.}}
|
||||
{{end}}监控指标:{{.Metric}}
|
||||
指标标签:{{.Tags}}
|
||||
当前值:{{.Value}}
|
||||
报警说明:{{.Info}}
|
||||
触发时间:{{.Etime}}
|
||||
报警详情:{{.Elink}}
|
||||
报警策略:{{.Slink}}
|
||||
{{if .HasClaim}}认领报警:{{.Clink}}{{end}}
|
@ -0,0 +1,34 @@
|
||||
backend:
|
||||
datasource: "tsdb"
|
||||
tsdb:
|
||||
enabled: true
|
||||
name: "tsdb"
|
||||
cluster:
|
||||
tsdb01: 127.0.0.1:5821
|
||||
influxdb:
|
||||
enabled: false
|
||||
username: "influx"
|
||||
password: "admin123"
|
||||
precision: "s"
|
||||
database: "n9e"
|
||||
address: "http://127.0.0.1:8086"
|
||||
opentsdb:
|
||||
enabled: false
|
||||
address: "127.0.0.1:4242"
|
||||
kafka:
|
||||
enabled: false
|
||||
brokersPeers: "192.168.1.1:9092,192.168.1.2:9092"
|
||||
topic: "n9e"
|
||||
aggr:
|
||||
enabled: false
|
||||
kafkaAddrs:
|
||||
- ecmc-01.py:9092
|
||||
- ecmc-02.py:9092
|
||||
- ecmc-03.py:9092
|
||||
kafkaAggrInTopic: aggrin
|
||||
kafkaAggrOutTopic: aggrout
|
||||
|
||||
logger:
|
||||
dir: logs/transfer
|
||||
level: WARNING
|
||||
keepHours: 2
|
@ -0,0 +1,54 @@
|
||||
module github.com/didi/nightingale
|
||||
|
||||
go 1.12
|
||||
|
||||
require (
|
||||
github.com/Shopify/sarama v1.19.0
|
||||
github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d // indirect
|
||||
github.com/cespare/xxhash v1.1.0
|
||||
github.com/codegangsta/negroni v1.0.0
|
||||
github.com/coreos/go-oidc v2.2.1+incompatible
|
||||
github.com/dgryski/go-tsz v0.0.0-20180227144327-03b7d791f4fe
|
||||
github.com/eapache/go-resiliency v1.2.0 // indirect
|
||||
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
|
||||
github.com/eapache/queue v1.1.0 // indirect
|
||||
github.com/garyburd/redigo v1.6.2
|
||||
github.com/gin-contrib/pprof v1.3.0
|
||||
github.com/gin-gonic/gin v1.6.3
|
||||
github.com/go-ole/go-ole v1.2.4 // indirect
|
||||
github.com/go-sql-driver/mysql v1.5.0
|
||||
github.com/google/go-cmp v0.5.1 // indirect
|
||||
github.com/google/uuid v1.1.2
|
||||
github.com/gorilla/context v1.1.1 // indirect
|
||||
github.com/gorilla/mux v1.6.2
|
||||
github.com/hpcloud/tail v1.0.0
|
||||
github.com/influxdata/influxdb v1.8.0
|
||||
github.com/mattn/go-isatty v0.0.12
|
||||
github.com/mattn/go-sqlite3 v1.14.0 // indirect
|
||||
github.com/onsi/ginkgo v1.7.0 // indirect
|
||||
github.com/onsi/gomega v1.4.3 // indirect
|
||||
github.com/open-falcon/rrdlite v0.0.0-20200214140804-bf5829f786ad
|
||||
github.com/pquerna/cachecontrol v0.0.0-20200819021114-67c6ae64274f // indirect
|
||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 // indirect
|
||||
github.com/robfig/go-cache v0.0.0-20130306151617-9fc39e0dbf62 // indirect
|
||||
github.com/shirou/gopsutil v2.20.7+incompatible
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72
|
||||
github.com/spf13/viper v1.7.1
|
||||
github.com/stretchr/testify v1.6.1
|
||||
github.com/toolkits/pkg v1.1.2
|
||||
github.com/ugorji/go/codec v1.1.7
|
||||
github.com/unrolled/render v1.0.3
|
||||
go.uber.org/automaxprocs v1.3.0 // indirect
|
||||
golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de // indirect
|
||||
golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc // indirect
|
||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||
golang.org/x/sys v0.0.0-20200812155832-6a926be9bd1d // indirect
|
||||
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
|
||||
gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
|
||||
gopkg.in/ldap.v3 v3.1.0
|
||||
gopkg.in/square/go-jose.v2 v2.5.1 // indirect
|
||||
gopkg.in/yaml.v2 v2.3.0 // indirect
|
||||
k8s.io/apimachinery v0.0.0-20190817020851-f2f3a405f61d
|
||||
xorm.io/core v0.7.3
|
||||
xorm.io/xorm v0.8.1
|
||||
)
|
@ -0,0 +1,30 @@
|
||||
set names utf8;
|
||||
|
||||
drop database if exists n9e_ams;
|
||||
create database n9e_ams;
|
||||
use n9e_ams;
|
||||
|
||||
CREATE TABLE `host`
|
||||
(
|
||||
`id` int unsigned not null AUTO_INCREMENT,
|
||||
`sn` char(128) not null default '',
|
||||
`ip` char(15) not null,
|
||||
`ident` varchar(128) not null default '',
|
||||
`name` varchar(128) not null default '',
|
||||
`cpu` varchar(255) not null default '',
|
||||
`mem` varchar(255) not null default '',
|
||||
`disk` varchar(255) not null default '',
|
||||
`note` varchar(255) not null default 'different with resource note',
|
||||
`cate` varchar(32) not null comment 'host,vm,container,switch',
|
||||
`tenant` varchar(128) not null default '',
|
||||
`clock` bigint not null comment 'heartbeat timestamp',
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY (`ip`),
|
||||
UNIQUE KEY (`ident`),
|
||||
KEY (`sn`),
|
||||
KEY (`name`),
|
||||
KEY (`tenant`)
|
||||
) ENGINE = InnoDB
|
||||
DEFAULT CHARSET = utf8;
|
||||
|
||||
/* 网络设备管理、机柜机架、配件耗材等相关的功能是商业版本才有的,表结构不要放到这里 */
|
@ -0,0 +1,29 @@
|
||||
set names utf8;
|
||||
|
||||
drop database if exists n9e_hbs;
|
||||
create database n9e_hbs;
|
||||
use n9e_hbs;
|
||||
|
||||
create table `instance` (
|
||||
`id` int unsigned not null auto_increment,
|
||||
`module` varchar(32) not null,
|
||||
`identity` varchar(255) not null,
|
||||
`rpc_port` varchar(16) not null,
|
||||
`http_port` varchar(16) not null,
|
||||
`remark` text,
|
||||
`ts` int unsigned not null,
|
||||
primary key (`id`),
|
||||
key(`module`,`identity`,`rpc_port`,`http_port`)
|
||||
) engine=innodb default charset=utf8;
|
||||
|
||||
create table `detector` (
|
||||
`id` int unsigned not null auto_increment,
|
||||
`module` varchar(32) not null,
|
||||
`node` varchar(16) not null,
|
||||
`region` varchar(64) not null,
|
||||
`ip` varchar(255) not null,
|
||||
`port` varchar(16) not null,
|
||||
`ts` int unsigned not null,
|
||||
primary key (`id`),
|
||||
key(`ip`,`port`)
|
||||
) engine=innodb default charset=utf8;
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue