openfalcon+grafana安装配置手册及注意事项 下载本文

\\

\连续两个报警之间至少相隔的秒数,维持默认即可 \\

\与alarm、sender使用一个redis \\\\ } } }

访问/health接口验证Judge是否工作正常。

curl 127.0.0.1:6081/health

另外就是查看Judge的log,log在var目录下

3.12 links

Links是为报警合并功能写的组件。如果你不想使用报警合并功能,这个组件是无需安装的。

解压Links安装包后,安装依赖库 $ virtualenv ./env

$ ./env/bin/pip install -r pip_requirements.txt

安装完依赖的lib之后就可以用control脚本启动了,log在var目录。不过启动之前要先把配置文件修改成相应配置。另外,监听的端口在gunicorn.conf中配置。

Links是个web项目,无状态,可以水平扩展,至少部署两台机器以保证可用性,前面架设nginx或者lvs这种负载设备,申请一个域名,搞定!

配置说明

Links的配置文件在frame/config.py

# 修改一下数据库配置,数据库schema文件在scripts目录 DB_HOST = \DB_PORT = 3306

DB_USER = \DB_PASS = \

DB_NAME = \

# SECRET_KEY尽量搞一个复杂点的随机字符串 SECRET_KEY = \SESSION_COOKIE_NAME = \PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30

# 我们可以cp config.py local_config.py用local_config.py中的配置覆盖config.py中的配置# 嫌麻烦的话维持默认即可,也不用制作local_config.pytry:

from frame.local_config import *except Exception, e: print \

启动之后要看看log是否正常,log在var目录。

然后浏览器访问之,发现首页404,这是正常的。之后alarm模块会用到links。

或者我们可以这么验证:

curl http://links.example.com/store -d \例:curl http://10.192.40.151:5090/store -d \

上面命令会返回一个随机字符串,拿着这个随机字符串拼接到links地址后面,浏览器访问之即可。比如返回的随机字符串是dot9kg8b,浏览器访问:http://links.example.com/dot9kg8b 即可

3.13 alarm

alarm模块是处理报警event的,judge产生的报警event写入redis,alarm从redis读取处理

alarm是个单点。对于未恢复的告警是放到alarm的内存中的,alarm还需要做报警合并,故而alarm只能部署一个实例。后期需要想办法改进。 配置说明 {

\\

\\

\# 未恢复的告警就是通过alarm的http页面来看的 }, \

\需要与sender配置成相同的,维持默认即可 \ }, \

\与judge、sender相同的redis地址 \\\\ ], \\\\\\ ],

\这两个queue维持默认即可 \ }, \

\内网可访问的portal的地址,实例\

\内网可访问的uic(或fe)的地址,实例\

\外网可访问的links的地址,实例\ } }

api部分portal和uic可以配置成内网可访问的地址,速度比较快,但是links要配置成外网可访问的地址,注意喽

如果某个核心服务挂了,可能会造成大面积报警,为了减少报警短信数量,我们做了报警合并功能。把报警信息写入links模块,然后links返回一个url地址给alarm,alarm将这个url链接发给用户,这样用户只要收到一条短信(里边是个url地址),点击url进去就是多条报警内容。

highQueues中配置的几个event队列中的事件是不会做报警合并的,因为那些是高优先级的报警,报警合并只是针对lowQueues中的事件。如果所有的事件都不想做报警合并,就把所有的event队列都配置到highQueues中即可

alarm搭建完成了,我们可以回去修改fe的配置,把fe模块的

shortcut:falconAlarm配置成alarm的http地址,是浏览器可访问的alarm的http地址

3.14 task

task是监控系统一个必要的辅助模块。定时任务,实现了如下几个功能: index更新。包括图表索引的全量更新 和 垃圾索引清理。

falcon服务组件的自身状态数据采集。定时任务了采集了transfer、graph、task这三个服务的内部状态数据。

falcon自检控任务。 配置说明

debug: true/false, 如果为true,日志中会打印debug信息 http

- enable: true/false, 表示是否开启该http端口,该端口为控制端口,主要用来对task发送控制命令、统计命令、debug命令等 - listen: 表示http-server监听的端口 index

- enable: true/false, 表示是否开启索引更新任务