如何使用Bash Shell脚本创建自己的Nagios插件,这对于监视基础架构是非常有用的。 本教程将帮助您了解如何编写脚本并将其与NRPE和Nagios一起用于监控。
第1步 – 了解返回代码
每个Nagios插件必须返回一个被称为返回码的状态码。 Nagios核心服务根据返回码为相应的主机或服务作出决策并采取适当的行动。
Hosts:
Return Code / Host status
0 => UP
1 => DOWN
Other Maintains last known state
Services:
Return code / Service status
0 => OK
1 => WARNING
2 => CRITICAL
3 => UNKNOWN
Other CRITICAL : unknown return code
步骤2 – 安装NRPE客户端
让我们使用以下命令在您的系统上安装NRPE客户端。
sudo apt-get update sudo apt-get install nagios-nrpe-server nagios-plugins
以上命令适用于基于Debian的系统。 要在基于RedHat Linux的系统上安装NRPE,请访问这篇教程 http://www.linuxidc.com/Linux/2017-12/149212.htm。
第3步 – 写一个Shell脚本
现在写一个shell脚本来监视系统上的任何服务。 对于下面的这个例子,脚本将监视磁盘空间的使用。
vim /usr/lib/nagios/plugins/check_disk_uses.sh
添加下面的脚本。
#!/bin/bash
### ======================================================================= ###
### A nagios plugin to check disk uses for given disk or mountpoint ###
### Uses: ./check_disk_uses.sh / ###
### ./check_disk_uses.sh /mnt ###
### ./check_disk_uses.sh /dev/sda1 ###
### ======================================================================= ###
### ======================================================================= ###
### FUNCTIONS ###
### ======================================================================= ###
calculate_disk_uses(){
USED_DISK_SPACE=`df–h${MOUNT_POINT}|grep–vFilesystem|awk‘{print $5}’|sed‘s/%//g’`
case${USED_DISK_SPACE}in
[1–80]*)
echo“OK – ${USED_DISK_SPACE}% of disk space used.”
exit0
;;
[81–85]*)
echo“WARNING – ${USED_DISK_SPACE}% of disk space used.”
exit1
;;
[86–100]*)
echo“CRITICAL – ${USED_DISK_SPACE}% of disk space used.”
exit2
;;
*)
echo“UNKNOWN – ${USED_DISK_SPACE}% of disk space used.”
exit3
;;
esac
}
### ======================================================================= ###
### SCRIPT EXECUTION START HERE ###
### ======================================================================= ###
if[[–z“$1”]]
then
echo“Missing parameters! Syntax: ./`basename $0` mount_point/disk”
exit3
else
MOUNT_POINT=$1
fi
calculate_disk_uses
### ======================================================================= ###
### END OF SCRIPT ###
### ======================================================================= ###
现在在新脚本上设置执行权限。
chmod +x /usr/lib/nagios/plugins/check_disk_uses.sh
步骤4 – 更新NRPE配置
现在编辑NRPE配置文件/etc/nagios/nrpe.cfg并添加命令来监视系统的某个磁盘。
command[check_disk_uses]=/usr/lib/nagios/plugins/check_disk_uses.sh /dev/sda1
您可以使用check_nrpe命令从Nagios服务器调用check_disk_uses命令,并将结果返回。
第5步 – 使用Check_Nrpe命令进行测试
现在,从Nagios服务器运行以下命令,其中192.168.1.100是NRPE客户机系统的IP。
./check_nrpe -H 192.168.1.100 -c check_disk_uses OK - 22% of disk space used.
更多Nagios相关教程见以下内容:
CentOS 7下安装配置Nagios监控图文详解 http://www.linuxidc.com/Linux/2017-05/143886.htm
Nagios邮件报警配置简述 http://www.linuxidc.com/Linux/2017-02/140834.htm
Nagios本机及其他主机监控安装部署详解 http://www.linuxidc.com/Linux/2017-03/141600.htm
Nagios 系统监控基本安装配置过程详解 http://www.linuxidc.com/Linux/2017-01/139758.htm
Linux下Nagios+PNP4Nagios的安装与配置 http://www.linuxidc.com/Linux/2016-09/135534.htm
CentOS7安装Nagios并配置出图详解 http://www.linuxidc.com/Linux/2015-12/125777.htm
Linux下Nagios安装配置详解 http://www.linuxidc.com/Linux/2017-05/144032.htm
CentOS 7下Nagios的安装及配置 http://www.linuxidc.com/Linux/2017-10/147580.htm
Nagios下的NDOUtils插件 http://www.linuxidc.com/Linux/2017-10/147303.htm
Nagios 的详细介绍:请点这里
Nagios 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-12/149211.htm