如何使用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: ./`basenamechmod +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。
##代码##