Linux
如何使用 SNMP 監控服務?
我想通過 SNMP 監控幾個服務的狀態。
手冊頁說:
proc NAME [MAX [MIN]] monitors the number of processes called NAME (as reported by "/bin/ps -e") running on the local system.
所以我將這些行添加到
/etc/snmp/snmpd.conf
:proc smbd proc nfsd
但相應的 OID 仍返回零:
iso.3.6.1.4.1.2021.2.1.100.4 = INTEGER: 0 iso.3.6.1.4.1.2021.2.1.100.5 = INTEGER: 0
儘管
ps -e
顯示smbd
和nfsd
處理:> ps -e | grep "smbd\|nfsd" 8267 ? 00:00:01 smbd 10179 ? 00:00:04 smbd 11068 ? 00:00:00 nfsd4_callbacks 11072 ? 00:12:53 nfsd 11073 ? 00:13:33 nfsd 11074 ? 00:14:35 nfsd 11075 ? 00:16:23 nfsd 11076 ? 00:21:52 nfsd 11077 ? 00:33:34 nfsd 11078 ? 00:48:10 nfsd 11079 ? 01:02:44 nfsd 15135 ? 00:00:03 smbd 15137 ? 00:00:17 smbd 15141 ? 00:00:05 smbd 20603 ? 00:00:00 smbd
我還能夠使用 OID 獲取正在執行的程序列表,
1.3.6.1.2.1.25.4.2.1.2
其中還包含smbd
和nfsd
程序:> snmpwalk -v 2c -c secret host 1.3.6.1.2.1.25.4.2.1.2 | grep "smbd\|nfsd" iso.3.6.1.2.1.25.4.2.1.2.11068 = STRING: "nfsd4_callbacks" iso.3.6.1.2.1.25.4.2.1.2.11072 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11073 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11074 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11075 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11076 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11077 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11078 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11079 = STRING: "nfsd" iso.3.6.1.2.1.25.4.2.1.2.11724 = STRING: "smbd" iso.3.6.1.2.1.25.4.2.1.2.12367 = STRING: "smbd" iso.3.6.1.2.1.25.4.2.1.2.15135 = STRING: "smbd" iso.3.6.1.2.1.25.4.2.1.2.15137 = STRING: "smbd" iso.3.6.1.2.1.25.4.2.1.2.15141 = STRING: "smbd" iso.3.6.1.2.1.25.4.2.1.2.29897 = STRING: "smbd"
它是否應該像這樣工作並且使用
proc
SNMP 指令監視服務是一個好主意還是我應該使用extend
s (已經讓它們為 ZFS 和 SLURM 狀態工作)?環境:
- NET-SNMP 5.7.3
- Ubuntu 伺服器 16.04
下面 OID 中報告的零
1.3.6.1.4.1.2021.2.1.100
實際上意味著一切正常,非零表示錯誤。供將來參考:下面的 OID
1.3.6.1.4.1.2021.2.1.101
會在出現錯誤時提供更多資訊。