网站监控
前言
- 感谢
摘要
- 由于原urlooker在监控数据的存储、展示、报警灯跟open-falcon是基本分离的,每个地址的监控需要在全国各地的监测点上部署相同的策略,相同的告警机制,那我们为何不能用open-falcon的api将数据上传。将全国的各个监测点的数据统一到一个screen中,只配置一套监控模板、只使用一个hostgroup,这样是否会显得优雅和便捷。
- 在原有的urlooker监控基础上,将存储的mysql数据提取出来回传到open-falcon做统一的监控管理
1. 监控方式是在urlooker的基础上,将数据dump下来进行整理汇总,计算等操作后再push到open-falcon
2. agent与server端的数据传输,采用socket的方式通讯
3. server端控制了agent的定时执行
4. agent上传数据的同时也会将自己的dump下来的数据push到open-falcon作为独立的数据监测站点,并以一个为zone的tag来作为相同地址监控的区分
- 在URLooker的基础上将数据手机整理,重新计算后push到open-falcon
- 由于URLooker的部署可以分布到不同的地点,所以在处理数据的时候,不但将每个点的数据都push到falcon,
而且会将所有点的结果进行汇总计算后push到falcon,并以tag:zone=all
来辨识- push到falcon的数据的endpoint为你在URLooker中监控的url地址
- metric只有两个:
- 响应平均时间
ResponseTimeAverage
- 平均可用率
CurrentAvailableRate
环境支持
- Python3
部署
-
python环境
-
依赖
pip install -r requirement.txt
-
server端配置
- 防火墙请打开对应端口限制,以便于agent上报的数据正常接收
- 监听端口默认为
6699
,server修改请注意修改agent与之对应 - 私钥请将内容添加至conf目录下的id_rsa文件中
-
agent相关配置
- 公钥私钥对登录配置
- 外网访问
-
启动server
cd src;nohup python3 SocketServer.py &
cd src;nohup python3 main.py &
添加新的监控节点
- 首先部署
urlooker
,从其他节点导出监控数据,这样避免了手动添加 - 添加
open-falcon
主机对新agent的免密码登录 - 添加
open-falcon
主机对新agent的ssh22
端口防火墙访问权限 open-falcon
外网防火墙添加agent对其6699
端口的访问权限- 新节点上存在
/data/scripts/urlooker_to_falcon/src/urlooker-to-falcon.py
- Python3
- 依赖:
- pymysql
- requests
- urlparse
- socket
- 在
agent.py
中的agent_list
列表添加一个字典,请注意包含以下三个字段:
{
"host":"",
"port":22,
"username":"root"
},