感谢支持
我们一直在努力

如何使用Bash Shell脚本创建自己的Nagios插件

如何使用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=`dfh${MOUNT_POINT}|grepvFilesystem|awk‘{print $5}’|sed‘s/%//g’`
case${USED_DISK_SPACE}in
[180]*)
echo“OK – ${USED_DISK_SPACE}% of disk space used.”
exit0
;;
[8185]*)
echo“WARNING – ${USED_DISK_SPACE}% of disk space used.”
exit1
;;
[86100]*)
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

赞(0) 打赏
转载请注明出处:服务器评测 » 如何使用Bash Shell脚本创建自己的Nagios插件
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏