falcon-hbs 心跳服务器

发布于 2021-11-21 00:49:21 字数 1123 浏览 961 评论 0

Heartbeat Server. 所有 Agent 都会连到 hbs,每分钟发一次心跳,汇报自己的 hostname、ip、agent version、plugin version,hbs 据此 填充 host 表。agent 还会通过 hbs 拿到应该监控的端口、进程,应该执行的插件等信息。

hbs 要能够处理 agent 的上述请求,就需要与 portal 的数据库打交道,这是无论如何无法避免的,那就为hbs再赋予一个功能:DB的缓存器。judge 也需要通过 portal 的 DB 拿到策略列表,在一个大点的公司,judge实例可能比较多,几十个、甚至上百个,有了hbs这个DB缓存器在这了,judge就 无需直接访问DB了,从hbs获取策略列表即可。

如此一来,hbs可以每分钟从DB读取一次数据,这一分钟内所有judge的请求都可以直接读取内存。 另外,DB存的是关系型数据,需要做一些转换才能被judge使用,hbs从DB中读取到数据之后顺便把转换也做了,这样所有judge就无需再做转换了。

所以hbs的逻辑就变成了:每分钟从DB中load各种数据,处理后放到内存里,静待agent、judge的请求。

Installation

# set $GOPATH and $GOROOT
mkdir -p $GOPATH/src/github.com/open-falcon
cd $GOPATH/src/github.com/open-falcon
git clone https://github.com/open-falcon/hbs.git
cd hbs
go get ./...
./control build
./control start

Configuration

  • database: portal 的 db 连接地址
  • maxIdle: 数据库连接池的 MaxIdle 配置
  • listen: 监听的 rpc 端口,judge 要通过这个端口拿到策略列表
  • trustable: 可信 ip 列表,安全起见留空即可
  • http: 监听的 http 地址,主要是做调试

项目地址:https://github.com/open-falcon-archive/hbs

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84961 人气
更多

推荐作者

已经忘了多久

文章 0 评论 0

15867725375

文章 0 评论 0

LonelySnow

文章 0 评论 0

走过海棠暮

文章 0 评论 0

轻许诺言

文章 0 评论 0

信馬由缰

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文