Process

Zabbix 使用 SNMP 監控程序/服務

  • January 26, 2021

我嘗試使用 Zabbix 2.2 和 SNMP 監控大約 60 台伺服器。我能夠監控很多值,但我面臨一個與 linux 伺服器上程序的辨識狀態有關的問題。

當服務啟動並執行時,我可以使用 OID 通過 SNMP 收集數據:

HOST-RESOURCES-MIB::hrSWRunStatus
[
   "index",
   "HOST-RESOURCES-MIB::hrSWRunPath", 
   "name_of_the_service_or_process"
]

問題是服務何時關閉。Zabbix 不承認這一點,只是顯示最後一個值。可以在圖中辨識故障,其中線甚至不在級別 1 或級別 0。它只是失去(因為沒有數據)。

有沒有可能,如何使用 SNMP 監控服務/程序?有沒有人有這方面的經驗?

非常感謝 …

所以我對此沒有詳細說明,我決定自己開發一些東西。bash 中的腳本是這樣的

#!/bin/bash

# Arguments:
# hostname
# service name
# please review community string when you debug any issue with this script

SNMP_COMM_STRING="public"
HOST_NAME=$1
SERVICE_NAME=$2

case $SERVICE_NAME in
 test)
   echo "For testing purposes only ..."
   echo $HOST_NAME
   echo $SERVICE_NAME
   ;;

 *)
   RESULT=$(snmpwalk -v2c -c $SNMP_COMM_STRING $HOST_NAME HOST-RESOURCES-MIB::hrSWRunPath | grep $SERVICE_NAME )

   #if the variable is null then the service is down (or the host is unreachable)
   if [ -z "$RESULT" ]; then
       echo 0
   else
       echo 1
   fi
esac
exit 0
  1. 在適當的 externalscript 目錄中創建 .sh 腳本。
  2. 在腳本中設置變數。
  3. 使用以下參數在 Zabbix WebUI 中創建項目:
  • 名稱根據您的需要填寫
  • 類型:外部檢查
  • script.sh ["{HOST.HOST}"," process_name “]
  • 資訊類型:數字(無符號)
  • 數據類型:十進制

希望這可以幫助。歡迎任何其他意見… Ch。

你好,先生 !你能更具體地指導我嗎

引用自:https://serverfault.com/questions/706292