open-falcon之HBS

功能

  • 处理agent心跳请求,并将agent信息(ip、hostname、agent_version、plugin_version)等信息入库(portal库)
    
  • 为agent提供执行run api的白名单
    
  • 为agent 提供执行的plugin插件
    
  • 为agent提供需要监控的进程和端口
    
  • 缓存监控策略,为judge 提供告警阈值
    

配置文件


{

    "debug": true,

    "database": "root:password@tcp(127.0.0.1:3306)/falcon_portal?loc=Local&parseTime=true", # Portal的数据库地址

    "hosts": "", # portal数据库中有个host表,如果表中数据是从其他系统同步过来的,此处配置为sync,否则就维持默认,留空即可

    "maxIdle": 100,

    "listen": ":6030", # hbs监听的rpc地址

    "trustable": [""],        #授信的Ip列表

    "http": {

        "enabled": true,

        "listen": "0.0.0.0:6031" # hbs监听的http地址

    }

}

默认端口

  • rpc:6030 为agent和judge 提供数据

  • http:6031 提供admin管理功能 /expressions 查看内存中缓存的数据

数据处理

agent和HBS 通信

  • agent上报自己的信息至HBS

  • HBS 会检查agent信息是否存在,如果存在,则只更新数据,不存在则插入agent信息,如果agent的host配置sync,则不处理。此时hostname 为唯一索引。

  • 查询agent 的所需要监控的进程、端口和执行的plugin脚本,返回给agent

judge 和HBS通信

HBS会每分钟查询数据库,并将策略缓存至内存

原文地址:https://www.cnblogs.com/pycode/p/6722388.html