之前使用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.6 IF-MIB::ifHCInOctets.1 = Counter64: 4484282381 IF-MIB::ifHCInOctets.2 = Counter64: 0 IF-MIB::ifHCInOctets.3 = Counter64: 3938818045 IF-MIB::ifHCInOctets.4 = Counter64: 0 IF-MIB::ifHCInOctets.6 = Counter64: 3890454361 IF-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)網卡實時流量帶寬 就完成了。