您好,登錄后才能下訂單哦!
一、 系統(tǒng)環(huán)境
操作系統(tǒng):CentOS 7
nagios 服務(wù)器端版本: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)腳本需要具有執(zhí)行權(quán)限
-rwxrwxrwx 1 nagios nagios 281 May 24 13:35 check_zfstatus.sh
(2)定義監(jiān)控命令,在被監(jiān)控端 /etc/nagios/nrpe.cfg 中,
command[check_zfs]= /usr/bin/sudo /usr/lib64/nagios/plugins/check_zfstatus.sh
(3) 在nagios 服務(wù)器端定義 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
}
四、重啟進程,在可以在監(jiān)控界面看到定義的服務(wù)了
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用戶有權(quán)限,nrpe 無法調(diào)用,所以需要編輯 /etc/sudoers 文件,給予
nrpe 權(quán)限。添加 nrpe ALL=(ALL) NOPASSWD:ALL
Defaults requiretty,修改為 #Defaults requiretty,表示不需要控制終端。
(2)[[ "$device" == "$status" ]] 因為device變量有時會為空值,故需要在判斷時候?qū)憙蓚€中括號
(3)如遇到監(jiān)控狀態(tài)輸出與 腳本執(zhí)行結(jié)果不一致時,調(diào)錯,切換到nagios 用戶
/usr/lib64/nagios/plugins/check_nrpe -H IP地址 -c check_zfs
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。