
Nagios - 命令
命令定義定義了一個命令。命令包括服務檢查、服務通知、服務事件處理程式、主機檢查、主機通知和主機事件處理程式。Nagios 的命令定義在 commands.cfg 檔案中定義。
以下是定義命令的格式:
define command { command_name command_name command_line command_line }
命令名稱 - 此指令用於識別命令。聯絡人、主機和服務的定義透過命令名稱進行引用。
命令列 - 此指令用於定義 Nagios 在使用命令進行服務或主機檢查、通知或事件處理程式時執行的操作。
示例
define command{ command_name check_ssh command_line /usr/lib/nagios/plugins/check_ssh ‘$HOSTADDRESS$’ }
此命令將執行外掛 - /usr/libl/nagios/plugins/check_ssh,帶有一個引數:'$HOSTADDRESS$'。
一個非常簡短的主機定義,它將使用此檢查命令,可能類似於此處顯示的定義:
define host{ host_name host_tutorial address 10.0.0.1 check_command check_ssh }
命令定義說明了如何執行主機/服務檢查。它們還定義瞭如何在識別任何問題時生成通知以及如何處理任何事件。有幾個命令可以執行檢查,例如檢查 SSH 是否正常工作或不工作的命令,檢查資料庫是否啟動並執行的命令,檢查主機是否存活的命令等等。
有一些命令可以告訴使用者基礎設施中存在哪些問題。您可以在 Nagios 中建立自己的自定義命令或使用任何第三方命令,它們被視為與 Nagios 外掛專案類似,兩者之間沒有區別。
您還可以將引數傳遞給命令,這為執行檢查提供了更大的靈活性。以下是如何使用引數定義命令:
define command { command_name check-host-alive-limits command_line $USER5$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ -p 5 }
上述命令的主機定義:
define host { host_name system2 address 10.0.15.1 check_command check-host-alive-limits!1000.0,70%!5000.0,100% }
您可以透過將外部命令新增到由 Nagios 守護程序定期處理的 commands 檔案中,在 Nagios 中執行外部命令。
使用外部命令,您可以在 Nagios 執行時實現許多檢查。您可以暫時停用一些檢查,或強制立即執行一些檢查,暫時停用通知等。以下是 Nagios 中外部命令的語法,必須將其寫入命令檔案:
[time] command_id;command_arguments
您還可以檢視此處列出的所有可在 Nagios 中使用的外部命令: https://assets.nagios.com/downloads/nagioscore/docs/externalcmds/