您好,登錄后才能下訂單哦!
一、 系統環境
操作系統:CentOS 7
nagios 服務器端版本:nagios-4.0.8-2.el7.x86_64
nrpe 客戶端版本:nrpe-2.15-7.el7.x86_64
二、nagios自定義插件返回碼:
Return Code Service State Host State
0 OK UP
1 WARNING UP or DOWN/UNREACHABLE*
2 CRITICAL DOWN/UNREACHABLE
3 UNKNOWN DOWN/UNREACHABLE
三、定義插件,將插件放在 /usr/lib64/nagios/plugins
(1)腳本需要具有執行權限
-rwxrwxrwx 1 nagios nagios 281 May 24 13:35 check_zfstatus.sh
(2)定義監控命令,在被監控端 /etc/nagios/nrpe.cfg 中,
command[check_zfs]= /usr/bin/sudo /usr/lib64/nagios/plugins/check_zfstatus.sh
(3) 在nagios 服務器端定義 service 及command
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
define service{
use local-service
host_name test
service_description zfs_status
check_command check_nrpe!check_zfs
}
四、重啟進程,在可以在監控界面看到定義的服務了
PS: 在安裝過程中遇到的問題及解決辦法
附上腳本代碼:
#! /bin/bash
sudo /usr/sbin/zpool scrub myzpool
device=` sudo /usr/sbin/zpool status | grep -o UNAVAIL | uniq `
status=UNAVAIL
if [[ "$device" == "$status" ]]; then
echo " device wrong!"
exit 2
else
echo "device all right;"
exit 0
fi
腳本說明:
(1)因為zpool 只有root用戶有權限,nrpe 無法調用,所以需要編輯 /etc/sudoers 文件,給予
nrpe 權限。添加 nrpe ALL=(ALL) NOPASSWD:ALL
Defaults requiretty,修改為 #Defaults requiretty,表示不需要控制終端。
(2)[[ "$device" == "$status" ]] 因為device變量有時會為空值,故需要在判斷時候寫兩個中括號
(3)如遇到監控狀態輸出與 腳本執行結果不一致時,調錯,切換到nagios 用戶
/usr/lib64/nagios/plugins/check_nrpe -H IP地址 -c check_zfs
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。