nagios自定义监控脚本
在客戶端以下位置編輯配置文件
1、vim /usr/lib64/nagios/plugins/check_disk.sh
#!/bin/bash
#!/bin/bash
row=`df -h |wc -l`
for i in `seq 2 $row` ? ?#從df -h的第二行開始
do
? ?? ???ava=`df -h |sed -n "$i"p|awk '{print $4}'` ? ? ? ?#打印第四行也就是剩余多少
? ?? ???u_per=`df -h |sed -n "$i"p|sed -n "s/\%//"p|awk '{print $5}'` ?#使用多少百分比,sed -n 跟行數
? ?? ???p_p=`df -h -P|sed -n "$i"p|awk '{print $6}'` ? ? #剩余多少百分比
? ?? ???if [ "$u_per" -gt "97"??];then
? ?? ?? ?? ?? ? echo -n "$p_p CRITICAL $u_per% $ava" ??#echo -n讓輸出的內容不用換行
? ?? ?? ?? ?? ? sta[$i]=2 ? ? ? ? ? ? ? ? ?#表示數組,nagios里面2則會報?CRITICAL
? ?? ???elif [ "$u_per" -gt "95" ];then
? ?? ?? ?? ?? ? echo -n "$p_p WARNING! $u_per% $ava" ?#echo -n可以讓輸出的內容不換行
? ?? ?? ?? ?? ? sta[$i]=1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??#表示數組,1會報WARNING
? ?? ???else
? ?? ?? ?? ?? ? echo -n "$p_p OK $u_per% $ava??"
? ?? ?? ?? ?? ? sta[$i]=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??#表示數組,0會報ok
? ?? ???fi
done
n=0
for j in `seq 2 $row`
do
? ?? ???if [ "${sta[$j]}" -gt $n??];then
? ?? ?? ?? ?? ? n=${sta[$j]}
? ?? ???fi
done
exit $n
2. 保存后,修改該腳本的權限
chmod +x??/usr/lib64/nagios/plugins/check_disk.sh (client上)
3. 然后編輯/etc/nagios/nrpe.cfg文件
vim /etc/nagios/nrpe.cfg ? ? ? # 加入一行:(client上)
command[check_disk]=/usr/lib64/nagios/plugins/check_disk.sh
保存,重啟nrpe服務
/etc/init.d/nrpe restart (client上)
4. 檢測剛才的腳本是否正常運行的方法是,到server端執行如下命令:
/usr/lib64/nagios/plugins/check_nrpe -H 10.10.13.247 -c check_disk ? #(server上)
#如果正常的話,會輸出一行磁盤檢測的數據,否則可能會報錯。
5. 到server上添加相應的host和service
cd /etc/nagios/conf.d/
vim 10.10.13.247.cfg? ???# 加入如下內容:
define host{
? ?? ???use? ?? ?? ?? ?? ?? ?? ?linux-server? ?? ?? ?? ?
? ?? ???host_name? ?? ?? ???10.10.13.247
? ?? ???alias? ?? ?? ?? ?? ?? ?? ???13.247
? ?? ???address? ?? ?? ?? ?? ???10.10.13.247
? ?? ???}
define service{
? ?? ???use? ???generic-service
? ?? ???host_name? ?? ? 10.10.13.247
? ?? ???service_description? ???check_disk
? ?? ???check_command? ?? ?? ???check_nrpe!check_disk
? ?? ???max_check_attempts 5
? ?? ???normal_check_interval 1
}
6、定義command
vim /etc/nagios/objects/commands.cfg
增加:
define command{
command_name? ? check_nrpe
? ?? ???command_line? ? $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
? ?? ???}
7. 重啟nagios服務
/etc/init.d/nagios restart? ?(server上)
8、使用瀏覽器訪問發現已經添加一項監控服務
轉載于:https://blog.51cto.com/riverxyz/1793144
總結
以上是生活随笔為你收集整理的nagios自定义监控脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: open***2.3.12安装与easy
- 下一篇: 快速生成树配置