如何使用Bash Shell脚本创建自己的Nagios插件
时间:2019-05-19 01:26:15 来源:igfitidea点击:
如何使用Bash Shell脚本创建自己的Nagios插件。
这对于监视我们自己设置的基础设施非常有用。
本教程将理解如何编写脚本,并将它们与NRPE和Nagios一起用于监视。
步骤1 -了解返回码
每个Nagios插件都必须返回一个状态码,这个状态码称为返回码。
Nagios核心服务根据返回代码为相应的主机或服务做出决策和适当的操作。
主机:
返回代码/主机状态
0 =>UP
1 =>Down
Other维护最后已知的状态
服务:
返回代码/服务状态
0 =>OK
1 =>警告
2 =>严重
3 =>未知
其他关键:未知返回码
步骤2 -安装NRPE客户端
让我们使用以下命令在系统上安装NRPE客户端。
sudo apt-get update sudo apt-get install nagios-nrpe-server nagios-plugins
以上命令适用于基于Debian的系统。
步骤3 -编写Shell脚本
现在是编写shell脚本来监视系统上的任何服务的时候了。
这个示例中,下面的脚本将监视磁盘空间使用情况。
vim /usr/lib/nagios/plugins/check_disk_uses.sh
添加下面的脚本内容。
#!/bin/bash
### ======================================================================= ###
### 用于检查给定磁盘或挂载点的磁盘使用情况的nagios插件 ###
### 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 -v Filesystem | awk '{print }' | sed 's/%//g'`
case ${USED_DISK_SPACE} in
[1-80]*)
echo "OK - ${USED_DISK_SPACE}% of disk space used."
exit 0
;;
[81-85]*)
echo "WARNING - ${USED_DISK_SPACE}% of disk space used."
exit 1
;;
[86-100]*)
echo "CRITICAL - ${USED_DISK_SPACE}% of disk space used."
exit 2
;;
*)
echo "UNKNOWN - ${USED_DISK_SPACE}% of disk space used."
exit 3
;;
esac
}
### ======================================================================= ###
### SCRIPT EXECUTION START HERE ###
### ======================================================================= ###
if [[ -z "" ]]
then
echo "Missing parameters! Syntax: ./`basename
chmod +x /usr/lib/nagios/plugins/check_disk_uses.sh
` mount_point/disk"
exit 3
else
MOUNT_POINT=
fi
calculate_disk_uses
### ======================================================================= ###
### END OF SCRIPT ###
### ======================================================================= ###
现在设置新脚本的执行权限。
command[check_disk_uses]=/usr/lib/nagios/plugins/check_disk_uses.sh /dev/sda1
步骤4 -更新NRPE配置
现在编辑NRPE配置文件/etc/nagios/nrpe.cfg并添加用于监视系统某些磁盘的命令。
./check_nrpe -H 192.168.1.100 -c check_disk_uses OK - 22% of disk space used.
可以使用check_nrpe命令从Nagios服务器调用check_disk_uses命令并返回结果。
第5步-使用Check_Nrpe命令进行测试
现在,从Nagios服务器运行下面的命令,其中192.168.1.100是NRPE客户端的IP。
##代码##
