Nagios - 附加元件/外掛



外掛幫助使用 Nagios 監控資料庫、作業系統、應用程式、網路裝置和協議。外掛是編譯後的可執行檔案或指令碼(Perl 或非 Perl),它擴充套件了 Nagios 的功能以監控伺服器和主機。Nagios 將執行外掛以檢查服務或主機的狀態。Nagios 可以編譯為支援嵌入式 Perl 直譯器以執行 Perl 外掛。如果沒有,Nagios 將透過 fork 並將外掛作為外部命令執行來執行 Perl 和非 Perl 外掛。

Nagios 外掛型別

Nagios 提供以下外掛:

官方 Nagios 外掛 - 有 50 個官方 Nagios 外掛。官方 Nagios 外掛由官方 Nagios 外掛團隊開發和維護。

社群外掛 - 有超過 3000 個由數百名 Nagios 社群成員開發的第三方 Nagios 外掛。

自定義外掛 - 您也可以編寫自己的自定義外掛。編寫自定義外掛必須遵循某些準則。

編寫自定義 Nagios 外掛的指南

在 Nagios 中編寫自定義外掛時,您需要遵循以下準則:

  • 外掛應提供“-V”命令列選項(驗證配置更改)
  • 僅列印一行文字
  • 列印診斷資訊和幫助訊息的一部分
  • 網路外掛使用 DEFAULT_SOCKET_TIMEOUT 來超時
  • “-v”或“--verbose”與詳細程度級別相關
  • “-t”或“--timeout”(外掛超時);
  • “-w”或“--warning”(警告閾值);
  • “-c”或“--critical”(嚴重閾值);
  • “-H”或“--hostname”(要檢查的主機名稱)

多個 Nagios 外掛同時執行並執行檢查,為了使所有外掛都能順利一起執行,Nagios 外掛遵循狀態程式碼。下表列出了退出程式碼狀態及其描述:

退出程式碼 狀態 描述
0 OK 工作正常
1 WARNING 工作正常,但需要關注
2 CRITICAL 工作不正常
3 UNKNOWN 外掛無法確定主機/服務的狀態時

Nagios 外掛使用選項進行配置。以下是 Nagios 外掛接受的一些重要引數:

序號 選項和描述
1

-h, --help

提供幫助

2

-V, --version

列印外掛的精確版本

3

-v, --verbose

使外掛提供關於其正在執行的操作的更詳細資訊

4

-t, --timeout

提供超時時間(以秒為單位);超過此時間後,外掛將報告 CRITICAL 狀態

5

-w, --warning

提供外掛特定警告狀態的限制

6

-c, --critical

提供外掛特定嚴重狀態的限制

7

-H, --hostname

提供主機名、IP 地址或與之通訊的 Unix 套接字

8

-4, --use-ipv4

允許您使用 IPv4 進行網路連線

9

-6, --use-ipv6

允許您使用 IPv6 進行網路連線

10

-p, --port

用於連線到 TCP 或 UDP 埠

11

-s, --send

提供將傳送到伺服器的字串

12

-e, --expect

提供伺服器應發回的字串

13

-q, --quit

提供傳送到伺服器以關閉連線的字串

Nagios 外掛包提供了許多可用於主機和服務的檢查,以監控基礎設施。讓我們嘗試使用 Nagios 外掛執行一些檢查。

SMTP 是一種用於傳送電子郵件的協議。Nagios 標準外掛具有用於執行 SMTP 檢查的命令。SMTP 的命令定義:

define command {
   command_name check_smtp
   command_line $USER2$/check_smtp -H $HOSTADDRESS$
}

讓我們使用 Nagios 外掛監控 MySQL。Nagios 提供 2 個外掛來監控 MySQL。第一個外掛檢查 mysql 連線是否正常工作,第二個外掛用於計算執行 SQL 查詢所需的時間。

兩個外掛的命令定義如下:

define command {
   command_name check_mysql
   command_line $USER1$/check_mysql –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -S –w 10 –c 30
}

define command {
   command_name check_mysql_query
   command_line $USER1$/check_mysql_query –H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -d
   $ARG3$ -q $ARG4$ –w $ARG5$ -c $ARG6$
}

注意 - 使用者名稱、密碼和資料庫名稱在兩個命令中都需要作為引數。

Nagios 提供外掛來檢查安裝在所有分割槽上的磁碟空間。命令定義如下

define command {
   command_name check_partition
   command_line $USER1$/check_disk –p $ARG1$ –w $ARG2$ -c $ARG3$
}

大多數檢查可以透過標準 Nagios 外掛完成。但是,有些應用程式需要特殊的檢查來監控它們,在這種情況下,您可以使用第三方 Nagios 外掛,它將提供對應用程式更復雜的檢查。在使用 Nagios exchange 上的第三方外掛或從其他網站下載外掛時,瞭解安全和許可問題非常重要。

廣告