Nagios Plugins介紹
目錄- Nagios Plugins介紹
- 什么是nagios plugins
- Plugins規范
- 回傳code代表的意思
- 標準輸出行
- plugin output實體
- output限制
- 查看plugins用法或幫助
- Nagios Plugins怎么配置到監控項中
nagios core是沒有內置任何檢查機制進行主機服務或者網路的監控,對于這些作業,都是交給額外的程式,就是nagios plugins程式來完成,
注意在nagios有Addons與Plugins的區分,這個后面會說到,
什么是nagios plugins
Plugins是可執行程式或者腳本,可以在命令列執行,用于獲取主機或者服務的狀態,Nagios core呼叫執行plugins然后plugins將執行的results回傳給Nagios core,然后nagios 處理這些結果,然后做出必要的actions,如運行event handlers,sending out notifications,,,
Plugins作為一個抽象層,位于Nagios core與 具體監控物件,

Plugins規范
- Exit with one of serveral possible return values # 要有回傳值
- Return at leaset one lien of text output to STDOUT # 要有一行標準輸出
- 當然,plugins必須是可執行程式(有一丟丟像cgi規范),
回傳code代表的意思
| plugin return code | Services State | Host State |
| 0 | OK | UP |
| 1 | WARNING | UP orr DOWN/UNREACHABLE* |
| 2 | CRITICAL | DOWN/UNREACHABLE |
| 3 | UNKNOWN | DOWN/UNREACHABLE |
Note: 如果將use_aggressive_host_checking 設定了enabled,那么回傳碼1對于host就是down.如果沒設定,那么1對于host是UP.討論情況點擊
標準輸出行
插件至少應回傳至少一行文本輸出, 從Nagios Core 3開始,插件可以選擇回傳多行輸出, 插件還可能回傳可由外部應用程式處理的可選性能資料, 插件輸出的基本格式如下所示參考:
TEXT OUTPUT | OPTIONAL PERFDATA
LONG TEXT LINE 1
LONG TEXT LINE 2
...
LONG TEXT LINE N | PERFDATA LINE 2
PERFDATA LINE 3
...
PERFDATA LINE N
通過管道符號來分割出可選的性能資料,后面的LONG TEST LINE * 也是可選的資料,
plugin回傳的資料都會對應該監控會話或者監控項范疇中的一個宏變數:
- TEXT OUTPUT ===> $SERVICEOUTPUT$
- OPTIONAL PERFDATA =https://www.cnblogs.com/ZJiQi/archive/2020/09/22/==> $SERVICEPERFDATA$ # 可選性能資料
- LONG TEXT LINE * ===> $LONGSERVICEOUTPUT$
plugin output實體
- 一行輸出
DISK OK - free space: / 3326 MB (56%);# $SERVICEOUTPUT$ - 一行輸出包括性能資料
DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968 - 多行輸出
DISK OK - free space: / 3326 MB (56%); | /=2643MB;5948;5958;0;5968 / 15272 MB (77%); /boot 68 MB (69%); /home 69357 MB (27%); /var/log 819 MB (84%); | /boot=68MB;88;93;0;98 /home=69357MB;253404;253409;0;253414 /var/log=818MB;970;975;0;980
output限制
Nagios Core 只會讀取第一個4KB資料,當然可以通過MAX_PLUGIN_OUTPUT_LENGTH在include/nagios.h.in 檔案,
查看plugins用法或幫助
- exec_plugin --usage # 命令用法
- exec_plugin --help # manpage
Nagios Plugins怎么配置到監控項中
Plugin命令要通過nagios的command進行一層封裝,command定義新的名字,并定義對應plugin的具體執行命令,包括引數,其中在command的定義的引數中,可以包含macro,這些macro可以來自command物件被用在的地方,想用在service,最多的可能還是主機和引數,如果ARG1,ARG2...
Commnad定義后,其新名字就可以被用于其它定義中,且通過command名字來傳遞引數是這種形式one_command!arg1!arg2 引數通過!來分割,然后引數就會出入ARG1 ARG2宏中,從而通過宏傳遞給使用宏的地方,像command定義中plugin中引數使用,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/106238.html
標籤:其他
下一篇:批處理環境變數設定
