sender
调用各个公司提供的mail-provider和sms-provider,按照某个并发度,从redis中读取邮件、短信并发送,alarm生成的报警短信和报警邮件都是直接写入redis即可,sender来发送。
cd /usr/local/open-falcon/sender mv cfg.example.json cfg.json
# redis地址需要和后面的alarm、judge使用同一个
# queue维持默认
# worker是最多同时有多少个线程玩命得调用短信、邮件发送接口
# api要给出sms-provider和mail-provider的接口地址
./control start
fe
cd /usr/local/open-falcon/fe mv cfg.example.json cfg.json
# 启动
./control start
# 查看日志
./control tail
# 停止服务
./control stop
portal
portal是用于配置报警策略的地方
cd /usr/local/open-falcon/portal mv cfg.example.json cfg.json
virtualenv env pip install -r pip_requirements.txt -i http://pypi.douban.com/simple source env/bin/activate deactivate
./control start
portal默认监听在5050端口,浏览器访问即可
HBS(Heartbeat Server)
心跳服务器,只依赖Portal的DB
cd /usr/local/open-falcon/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 /usr/local/open-falcon/judge mv cfg.example.json cfg.json
# remain: 这个配置指定了judge内存中针对某个数据存多少个点,比如host01这个机器的cpu.idle的值在内存中最多存多少个,
# 配置报警的时候比如all(#3),这个#后面的数字不能超过remain-1
# hbs: 配置为hbs的地址,interval默认是60s,表示每隔60s从hbs拉取一次策略
# alarm: 报警event写入alarm中配置的redis,minInterval表示连续两个报警之间至少相隔的秒数,维持默认即可
./control start
alarm
alarm模块是处理报警event的,judge产生的报警event写入redis,alarm从redis读取,这个模块被业务搞得很糟乱,各个公司可以根据自己公司的需求重写
cd /usr/local/open-falcon/alarm mv cfg.example.json cfg.json
./control start
links 报警合并依赖的WEB端
virtualenv env
source env/bin/activate
easy_install mysql-python
./env/bin/pip install -r pip_requirements.txt
deactivate
./control start