利用 zabbix 监控全国天气状况
本次主要是采用zabbix 的 http 代理方式进行数据的采集。可以通过网站的api接口来测试获取天气的状况。这里使用的是高德地图的天气。zabbix版本使用4.0 以上支持http 代理。3.0 版本不支持。
利用zabbix创建测试
打开zabbix的配置——>主机,点击任意一台主机进行item的配置。
获取数据如下
根据上述创建的监控项,然后我们在Latest data
里面看到获取的数据如下所示:
1 | {"status":"1","count":"1","info":"OK","infocode":"10000","lives":[{"province":"重庆","city":"重庆市","adcode":"500000","weather":"多云","temperature":"21","winddirection":"南","windpower":"≤3","humidity":"45","reporttime":"2020-04-07 17:54:43"}]} |
监控天气信息为例
键值定义尽量和上述的一致,依赖项选择刚刚新建的http agent监控项
添加预处理步骤
根据刚才获取到的数据来获取weather
的值,不通平台的获取的数据类型不一样。这里的weather
要根据不通平台的信息进行修改。否则无法获取数据,在该 item
点击Preprocessing
定义气温、风力、风向、相对湿度,添加方法与上面相同
建立触发器
这里建立一个温度超过30度显示温度过高,温度低于13度就显示温度低的两个触发器
这里我们需要添加全国34个省市,每一个省市都是手动建立,去查找每一个省市的代码需要多少时间,这里使用python的一个小程序来实现获取全国的城市,然后创建对应item
和Trigger
。添加完成以后的最后结果为:
创建网络拓扑
创建背景图片
可以自行去网上照一张中国地图的图片。
创建map图
Monitoring——>Maps——>Create map
编辑map
标签用于显示监控的数据,添加高温的触发器,当触发高温报警后,图标由绿点会变成红绿 交替闪动,这里以西藏气温为例
1 | {Zabbix server:xizangzizhiqu-weather.last()} |
实现效果
zabbix 图标乱码
在打开天气温度和湿度的图表时,显示乱码。在windows电脑上选择一个字体,比如简体中文
,我这里使用的是中文楷体simkai.ttf
字体。上传到zabbix server的服务器
zabbix的安装目录
1 | whereis zabbix |
切换到/usr/share/zabbix目录
切换到该目录可以使用ls
命令,该目录下面已经没有fonts字体目录了。可以创建目录
1 | mkdir /usr/share/zabbix/fonts |