之前使用zabbix监控的网络设备一般就是交换机路由器等网络设备,最近有个需求,需要监控群晖的一些状态,比如像内存使用率,cpu负载,网卡的实时流量等。当然群晖系统是属于在linux系统上开发的一个系统,所以也可以开启root权限,安装zabbix-agent的方式去监控,不过开启root不是很安全,毕竟上面存的都是些重要资料,最好还是不对系统进行修改。毕竟群晖官方也提供了snmp功能,所以我打算使用snmp来监控群晖。
那么问题来了......
使用snmp来监控,首先得找到需要监控的OID号,还好,群晖提供了一个MIB Guide的文件,在开启snmp功能页下面就有连接。
https://global.download.synology.com/download/Document/Software/DeveloperGuide/Firmware/DSM/All/enu/Synology_DiskStation_MIB_Guide.pdf
我大概翻了一下,基本上需要监控的OID都有,我就监控一些常用的参数。在监控网卡实时流量带宽时,发现文档中是没有提供网卡的实时流量带宽的OID号的。一般在大多数的网络设备厂家都会提供网卡的实时速率这个OID。(也有网络设备厂家没有网卡实时流量带宽的OID号)这个时候就需要我们自己来想办法。
大概的思路:
1.一般情况下都会有一个叫网卡流量总和统计的参数如:ifHCInOctets或ifHCOutOctets,我们首先获取ifHCInOctets(网卡入的流量总和)和ifHCOutOctets(网卡出的流量总和)。
2.使用zabbix-server中监控项里的“可计算的”类型,通过zabbix提供的一个change功能来实现:
change功能可以得出最新值和前一个值的差异,这个值就是监控间隔期间产生的流量,再将值除以监控间隔时间,就可以得到一个监控间隔期间的平均速率,此速率就为网卡的速率(当然监控间隔越短越接近实际速率,生产中不建议间隔时间太短)。可计算监控项官方说明:
https://www.zabbix.com/documentation/4.0/zh/manual/config/items/itemtypes/calculated
3.使用得到的值,来生成一个网卡的速率监控项。
具体实施步骤:
0.环境介绍:
OS:CentOS7
监控软件:zabbix4.0
被监控端:群晖DSM 6.1.7-15284
1.群晖开启并配置snmp
在群晖控制面板中找到“终端机和snmp”,点击进入,选中snmp选项,勾选“启动snmp服务”和snmpv1,v2c服务,填写社群(也就是团体名,实际上就是snmp后面需要认证的时候的密码),记得点击应用。ps:请记住该密码后面会用到,忘记了可以到这里查看。
2.zabbix-server测试需要获取的参数。
zabbix-server端需要提前安装好snmpwalk软件,包名为net-snmp-utils。
#安装net-snmp-utils软件
[root@zabbix-server ~]# yum install -y net-snmp-utils
#测试对应OID是否能获取正确数据,此处xxx就是之前填写的团体名。192.168.1.153为群晖ip地址。.1.3.6.1.2.1.31.1.1.1.1为获取网卡信息
[root@zabbix-server ~]# snmpwalk -v 2c -c xxx 192.168.1.153 .1.3.6.1.2.1.31.1.1.1.1
IF-MIB::ifName.1 = STRING: lo
IF-MIB::ifName.2 = STRING: sit0
IF-MIB::ifName.3 = STRING: eth0
IF-MIB::ifName.4 = STRING: ovs-system
IF-MIB::ifName.6 = STRING: ovs_eth0
IF-MIB::ifName.7 = STRING: docker0
[root@zabbix-server ~]# snmpwalk -v 2c -c xxx 192.168.1.153 .1.3.6.1.2.1.31.1.1.1.6IF-MIB::ifHCInOctets.1 = Counter64: 4484282381IF-MIB::ifHCInOctets.2 = Counter64: 0IF-MIB::ifHCInOctets.3 = Counter64: 3938818045IF-MIB::ifHCInOctets.4 = Counter64: 0IF-MIB::ifHCInOctets.6 = Counter64: 3890454361IF-MIB::ifHCInOctets.7 = Counter64: 0
以上可以得出,我需要监控eth0网卡的入流量的总和OID号为:.1.3.6.1.2.1.31.1.1.1.6.3
3.zabbix-server添加主机。
4.zabbix-server添加监控项。
5.zabbix-server添加图形。
至此,zabbix监控群晖(synology)网卡实时流量带宽 就完成了。