目的
编译 falcon-hbs
启动 falcon-hbs
作用
Portal的数据库中有一个host表,维护了公司所有机器的信息,比如hostname、ip等等
这个表中的数据通常是从公司CMDB中同步过来的
但是有些规模小一些的公司是没有CMDB的,那此时就需要手工往host表中录入数据
agent 发送心跳信息给 HBS
agent 会把 hostname、ip、agent version、plugin version 等信息告诉HBS
HBS负责更新host表
启动依赖
mysqldb
架构
根据公司服务器数量大小, 访问 HEARTBEAT 数量会非常多
根据代码, 默认每个 AGENT 会一分钟连接 hbs 一次
因此需要部署多个 hbs 服务
利用 nginx 进行 tcp 调度到 hbs 中 (参考 nginx 部署)
hbs 集群自身没有相关依赖关系
可以根据负责行进行横向扩容
安装
修改版本信息
modules/hbs/g/g.go
const (
VERSION = "20200818"
)
编译
[root@ns-yun-020049 falcon-plus]# make hbs
go build -o bin/hbs/falcon-hbs ./modules/hbs
服务器搭建
创建目录
mkdir /apps/svr/falcon-plus/hbs/{bin,config,logs} -p
文件说明
[root@ns-yun-020021 hbs]# cd /apps/svr/falcon-plus/hbs
[root@ns-yun-020021 hbs]# tree
.
├── bin
│ └── falcon-hbs 启动文件
├── config
│ └── cfg.json 配置文件
└── logs
配置文件
/apps/svr/falcon-plus/hbs/config/cfg.json
{
"debug": false,
"database": "falcon:密码@tcp(ns-yun-020021.133.com:3306)/falcon_portal?loc=Local&parseTime=true",
"hosts": "",
"maxIdle": 100,
"listen": "0.0.0.0:6030",
"trustable": [""],
"http": {
"enabled": true,
"listen": "0.0.0.0:6031"
}
}
启动文件
/usr/lib/systemd/system/falcon-hbs.service
[Unit]
Description=falcon hbs
After=network-online.target
Before=shutdown.target
[Service]
Type=simple
User=apps
Group=apps
LimitNOFILE=65535
ExecStart=/apps/svr/falcon-plus/hbs/bin/falcon-hbs -c /apps/svr/falcon-plus/hbs/config/cfg.json
Restart=always
StandardOutput=journal
测试启动
# /apps/svr/falcon-plus/hbs/bin/falcon-hbs -c /apps/svr/falcon-plus/hbs/config/cfg.json
2020/08/18 11:01:39 cfg.go:65: read config file: /apps/svr/falcon-plus/hbs/config/cfg.json successfully
2020/08/18 11:01:39 cache.go:9: cache begin
2020/08/18 11:01:39 cache.go:11: #1 GroupPlugins...
2020/08/18 11:01:39 cache.go:14: #2 GroupTemplates...
2020/08/18 11:01:39 cache.go:17: #3 HostGroupsMap...
2020/08/18 11:01:39 cache.go:20: #4 HostMap...
2020/08/18 11:01:39 cache.go:23: #5 TemplateCache...
2020/08/18 11:01:39 cache.go:26: #6 Strategies...
2020/08/18 11:01:39 cache.go:29: #7 HostTemplateIds...
2020/08/18 11:01:39 cache.go:32: #8 ExpressionCache...
2020/08/18 11:01:39 cache.go:35: #9 MonitoredHosts...
2020/08/18 11:01:39 cache.go:38: cache done
2020/08/18 11:01:39 http.go:60: http listening 0.0.0.0:6031
2020/08/18 11:01:39 rpc.go:28: listening 0.0.0.0:6030
启动 falcon-hbs
[root@ns-yun-020021 hbs]# systemctl daemon-reload
[root@ns-yun-020021 hbs]# systemctl start falcon-hbs
[root@ns-yun-020021 hbs]# systemctl status falcon-hbs
● falcon-hbs.service - falcon hbs
Loaded: loaded (/usr/lib/systemd/system/falcon-hbs.service; static; vendor preset: disabled)
Active: active (running) since Tue 2020-08-18 11:04:38 CST; 4s ago
Main PID: 780 (falcon-hbs)
Memory: 8.5M
CGroup: /system.slice/falcon-hbs.service
└─780 /apps/svr/falcon-plus/hbs/bin/falcon-hbs -c /apps/svr/falcon-plus/hbs/config/cfg.json
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:17: #3 HostGroupsMap...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:20: #4 HostMap...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:23: #5 TemplateCache...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:26: #6 Strategies...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:29: #7 HostTemplateIds...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:32: #8 ExpressionCache...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:35: #9 MonitoredHosts...
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 cache.go:38: cache done
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 http.go:60: http listening 0.0.0.0:6031
Aug 18 11:04:38 ns-yun-020021.133.com falcon-hbs[780]: 2020/08/18 11:04:38 rpc.go:28: listening 0.0.0.0:6030