说明
nodata用于检测监控数据的上报异常
nodata和实时报警judge模块协同工作
过程如下配置了nodata的采集项超时未上报数据,nodata生成一条默认的模拟数据
用户配置相应的报警策略,收到mock数据就产生报警
采集项上报异常检测,作为judge模块的一个必要补充
能够使judge的实时报警功能更加可靠、完善
创建目录
# mkdir /apps/svr/falcon-plus/nodata/{bin,config,logs} -p
编译
# make nodata
go build -o bin/nodata/falcon-nodata ./modules/nodata
配置文件
{
"debug": false,
"http": {
"enabled": true,
"listen": "0.0.0.0:6090"
},
"plus_api":{
"connectTimeout": 500,
"requestTimeout": 2000,
"addr": "http://falcon-api.133.com",
"token": "default-token-used-in-server-side"
},
"config": {
"enabled": true,
"dsn": "falcon:falcontest@tcp(ns-yun-020021.133.com:3306)/falcon_portal?loc=Local&parseTime=true&wait_timeout=604800",
"maxIdle": 4
},
"collector":{
"enabled": true,
"batch": 200,
"concurrent": 10
},
"sender":{
"enabled": true,
"connectTimeout": 500,
"requestTimeout": 2000,
"transferAddr": "xx.xxx.xx.26:8433", <- nginx 地址,代理 tsdb 端口
"batch": 500
}
}
启动测试
# /apps/svr/falcon-plus/nodata/bin/falcon-nodata -c /apps/svr/falcon-plus/nodata/config/cfg.json
2020/08/19 18:06:16 cfg.go:89: g.ParseConfig ok, file /apps/svr/falcon-plus/nodata/config/cfg.json
2020/08/19 18:06:16 proc.go:35: g.StartProc ok
2020/08/19 18:06:16 db.go:28: config.InitDB ok
2020/08/19 18:06:16 config.go:28: config.Start ok
2020/08/19 18:06:16 collector.go:27: collector.Start ok
2020/08/19 18:06:16 judge.go:9: judge.Start ok
2020/08/19 18:06:16 http.go:44: http.startHttpServer ok, listening 0.0.0.0:6090
启动文件
/usr/lib/systemd/system/falcon-nodata.service
[Unit]
Description=falcon nodata
After=network-online.target
Before=shutdown.target
[Service]
Type=simple
User=apps
Group=apps
LimitNOFILE=65535
ExecStart=/apps/svr/falcon-plus/nodata/bin/falcon-nodata -c /apps/svr/falcon-plus/nodata/config/cfg.json
Restart=always
StandardOutput=journal
启动服务
[root@ns-yun-020026 system]# vim falcon-nodata.service
[root@ns-yun-020026 system]# systemctl start falcon-nodata
[root@ns-yun-020026 system]# systemctl status falcon-nodata
● falcon-nodata.service - falcon nodata
Loaded: loaded (/usr/lib/systemd/system/falcon-nodata.service; static; vendor preset: disabled)
Active: active (running) since Wed 2020-08-19 18:07:08 CST; 2s ago
Main PID: 25448 (falcon-nodata)
Memory: 1.8M
CGroup: /system.slice/falcon-nodata.service
└─25448 /apps/svr/falcon-plus/nodata/bin/falcon-nodata -c /apps/svr/falcon-plus/nodata/config/cfg.json
Aug 19 18:07:08 ns-yun-020026.133.com systemd[1]: Started falcon nodata.
Aug 19 18:07:08 ns-yun-020026.133.com systemd[1]: Starting falcon nodata...
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 cfg.go:89: g.ParseConfig ok, file ...json
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 proc.go:35: g.StartProc ok
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 db.go:28: config.InitDB ok
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 config.go:28: config.Start ok
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 collector.go:27: collector.Start ok
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 judge.go:9: judge.Start ok
Aug 19 18:07:08 ns-yun-020026.133.com falcon-nodata[25448]: 2020/08/19 18:07:08 http.go:44: http.startHttpServer ok...6090
Hint: Some lines were ellipsized, use -l to show in full.