alarm模块是处理报警event的,judge产生的报警event写入redis,alarm从redis读取,这个模块被业务搞得很糟乱,各个公司可以根据自己公司的需求重写
cd /opt/openfalcon/alarm/mv cfg.example.json cfg.json# vi cfg.json# 把redis配置成与judge同一个./control start
注意,alarm当前的版本,highQueues和lowQueues都不能为空,是个bug,稍候修复。我们可以把event:p0~event:p5配置到highQueues,把event:p6配置到lowQueues
PS:微信告警版本可到我的github拉取
https://github.com/chensambb/open-falcon-alarm-by-weixin/
安装sender调用各个公司提供的mail-provider和sms-provider,按照某个并发度,从redis中读取邮件、短信并发送,alarm生成的报警短信和报警邮件都是直接写入redis即可,sender来发送。
cd /opt/openfalcon/sender/mv cfg.example.json cfg.json# vi cfg.json# redis地址需要和后面的alarm、judge使用同一个# queue维持默认# worker是最多同时有多少个线程玩命得调用短信、邮件发送接口# api要给出sms-provider和mail-provider的接口地址
#我们现在调用上面的短信和邮件api
{ "debug": true, "http": { "enabled": true, "listen": "0.0.0.0:6066" }, "redis": { "addr": "127.0.0.1:6379", "maxIdle": 5 }, "queue": { "sms": "/sms", "mail": "/mail" }, "worker": { "sms": 10, "mail": 50 }, "api": { "sms": "http://127.0.0.1:4040/", "mail": "http://127.0.0.1:4000/sender/mail" }}./control start
微信告警版本可到我的github拉取
https://github.com/chensambb/open-falcon-alarm-by-weixin/
安装fe cd /opt/openfalcon/femv cfg.example.json cfg.json# 请基于cfg.example.json 酌情修改相关配置项# 启动./control start# 查看日志./control tail# 停止服务./control stop安装portal
portal是用于配置报警策略的地方
yum install -y python-virtualenv # run as rootcd/opt/openfalcon/portal/virtualenv ./env
./env/bin/pip install -r pip_requirements.txt# vi frame/config.py# 1. 修改DB配置# 2. SECRET_KEY设置为一个随机字符串# 3. UIC_ADDRESS有两个,internal配置为FE模块的内网地址,portal通常是和UIC在一个网段的,# 内网地址相互访问速度快。external是终端用户通过浏览器访问的UIC地址,很重要!# 4. 其他配置可以使用默认的./control start
portal默认监听在5050端口,浏览器访问即可
安装HBS(heartbeat Server)
心跳服务器,只依赖Portal的DB
cd/opt/openfalcon/hbs/mv cfg.example.json cfg.json# vi cfg.json 把数据库配置配置为portal的db./control start
如果先安装的绘图组件又来安装报警组件,那应该已经安装过agent了,hbs启动之后会监听一个http端口,一个rpc端口,agent要和hbs通信,重新去修改agent的配置cfg.json,把heartbeat那项enabled设置为true,并配置上hbs的rpc地址,./control restart重启agent,之后agent就可以和hbs心跳了
安装judge报警判断模块,judge依赖于HBS,所以得先搭建HBS
cd/opt/openfalcon/judge/mv cfg.example.json cfg.json# vi cfg.json# remain: 这个配置指定了judge内存中针对某个数据存多少个点,比如host01这个机器的cpu.idle的值在内存中最多存多少个,# 配置报警的时候比如all(#3),这个#后面的数字不能超过remain-1# hbs: 配置为hbs的地址,interval默认是60s,表示每隔60s从hbs拉取一次策略# alarm: 报警event写入alarm中配置的redis,minInterval表示连续两个报警之间至少相隔的秒数,维持默认即可./control start
安装Links
Links是为报警合并功能写的组件。如果你不想使用报警合并功能,这个组件是无需安装的。