使用开源组件监控服务器温度
注:转载请在开头标明文章原始地址!!!
这一篇是Centreon_Monitor的补充,由于使用了开源组件,配置更加方便,无需配置snmp等,只需要在被监控端运行采集数据的代理程序,尤其是有增加了温度采集部分,由于没有日志的统计以及报表的功能,相关的功能比Centreon较轻,而Centreon监控功能则比较完整。
- Telegraf——开源的系统信息收集代理
- Influxdb——开源的时序数据库
- Chronograf——报警及数据库监控界面
- Kapacitor——警报轮询引擎
- OhmGraphite——开源的硬件信息搜集组件
- NSSM——将exe打包成服务
- Grafana——开源的图标前端组件
上面所说的前四个组件均来自InfluxData,简称TICK,TICK与之前通过SNMP协议的Centreon系统功能基本上重叠,但是因为需要监控设备的温度,故再加上OhmGraphite组件。具体的配置过程与网上搭建的监控系统类似,主要说明一下OhmGraphite的和报警的配置。所有需要的组件均在116PC的E盘lot目录内。
InfluxDB数据库配置
influxd.exe 为数据库服务端,通过配置influxd.conf文件以及influxd.exe -config influxd.conf
启动,默认启动端口为8086
influx.exe 为客户端,启动时不加参数默认连接本地服务端。操作类似。-host后接服务端ip地址。
一般使用influx.exe -perccision rfc3339
命令,使用标准的UTC时间方便查看数据。
通过NSSM配置为Windows服务开机自动启动。
Telegraf配置
设置config文件,将数据库端的ip输入替换掉默认地址。然后将文件夹拷贝至被监控的客户端PC。
通过Telegraf.exe -service install -config "配置文件的绝对路径"
将Telegraf安装成Windows系统服务。
Chronograf与Kapacitor配置
同InfluxDB的配置,都运行在服务端。同样通过NSSM配置成服务。
OhmGraphite配置
OhmGraphite类似Telegraf,也是采集客户端数据信息,主要采集温度、电压等信息。底层使用的是OpenHardwareMonitor的组件库。
通过OhmGraphite.exe.config文件配置采集的数据。
详细配置可键Github项目说明。
配置文件内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="type" value="influxdb" />
<add key="interval" value="5" />
<add key="influx_address" value="http://192.168.1.116:8086" />
<add key="influx_db" value="telegraf" />
<add key="influx_user" value="admin" />
<add key="influx_password" value="admin" />
<add key="interval" value="5" />
</appSettings>
</configuration>
通过命令OhmGraphite.exe install
命令安装成系统服务。
特别注意:
但是由于不明原因,调试很久无果,服务器能够正常采集温度,现场的终端却无法采集到温度,后面发现启动OhmGraphite前开启OpenHardwareMonitor就能正常采集温度。故将OpenHardwareMonitor设置成开机启动,OhmGraphite服务设置成自动(延时)
状态,就能正常采集到温度。
Grafana与Chronograf报警设置
Grafana配置与一般的配置,配置好图表,通过设置模板中的变量,通过改变变量来切换不同的主机。
通过Query获取到host这个key中所有值,然后在面板中使用下拉框改变监控的主机。
通过http://192.168.1.116:8888进入Chronograf界面,点击左侧的设置按钮,切换到设置页面,添加新的连接。
配置ip和端口用户名密码之后,就能连接到。
然后点击左边的Alerting,管理报警的规则。
这里报警使用的是方糖PushBear的post接口,详细见PushBear官网。
配置内容如下,选择telegraf中某个指标,下方就会预览出这个指标的曲线,并选择条件greater than(大于某个数值),选择完后会出现蓝色的区域,表示曲线到这个区域将触发报警。
经过上面的配置之后,CPU温度大于70度时就会触发报警,报警信息通过方糖的接口可以直接推送到微信。同时还可以配置离线报警,将报警类型改成Deadman即可监控在线状态,当超过一定时间没有接收到这个客户端的消息,认为是下线了,触发报警。下图为配置10分钟没有接收到WINDOWS-K3QHUSO的主机数据就触发报警。
参考资料
Grafana配置
Influx数据库说明
InfluxData
OhmGraphite
PushBear官网