使用开源组件监控服务器温度
使用开源组件监控服务器温度
这一篇是Centreon_Monitor的补充,由于使用了开源组件,配置更加方便,无需配置snmp等,只需要在被监控端运行采集数据的代理程序,尤其是有增加了温度采集部分,由于没有日志的统计以及报表的功能,相关的功能比Centreon较轻,而Centreon监控功能则比较完整。
-
Telegraf——开源的系统信息收集代理 Influxdb——开源的时序数据库 Chronograf——报警及数据库监控界面 Kapacitor——警报轮询引擎 OhmGraphite——开源的硬件信息搜集组件 NSSM——将exe打包成服务 Grafana——开源的图标前端组件
上面所说的前四个组件均来自,简称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文件配置采集的数据。 详细配置可键。 配置文件内容如下:
<?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中所有值,然后在面板中使用下拉框改变监控的主机。
通过进入Chronograf界面,点击左侧的设置按钮,切换到设置页面,添加新的连接。 配置ip和端口用户名密码之后,就能连接到。 然后点击左边的Alerting,管理报警的规则。 这里报警使用的是方糖PushBear的post接口,详细见。 配置内容如下,选择telegraf中某个指标,下方就会预览出这个指标的曲线,并选择条件greater than(大于某个数值),选择完后会出现蓝色的区域,表示曲线到这个区域将触发报警。
参考资料
Grafana配置 Influx数据库说明