0


如何在 Ubuntu 12.10 上使用 Python 创建 Nagios 插件

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

介绍

Python 是一种在 Linux 上默认可用的流行命令处理器。

我们之前已经介绍过如何在 Ubuntu 12.10 x64 上安装 Nagios 监控服务器。

这一次,我们将扩展这个想法,使用 Python 创建 Nagios 插件。

这些插件将在客户 VPS 上运行,并通过 NRPE 执行。

步骤 1 - 在客户 VPS 上安装 NRPE

apt-getinstall-y python nagios-nrpe-server
useradd nrpe && update-rc.d nagios-nrpe-server defaults

步骤 2 - 创建你的 Python 脚本

最好将你的插件保存在与其他 Nagios 插件相同的目录中(例如

/usr/lib/nagios/plugins/

)。

对于我们的示例,我们将创建一个脚本,通过调用 shell 中的 “df” 来检查当前磁盘使用情况,并在使用量超过 85% 时触发警报:

#!/usr/bin/pythonimport os, sys
used_space=os.popen("df -h / | grep -v Filesystem | awk '{print $5}'").readline().strip()if used_space <"85%":print"OK - %s of disk space used."% used_space
        sys.exit(0)elif used_space =="85%":print"WARNING - %s of disk space used."% used_space
        sys.exit(1)elif used_space >"85%":print"CRITICAL - %s of disk space used."% used_space
        sys.exit(2)else:print"UKNOWN - %s of disk space used."% used_space
        sys.exit(3)

我们将保存这个脚本在

/usr/lib/nagios/plugins/usedspace.py

并使其可执行:

chmod +x /usr/lib/nagios/plugins/usedspace.py

整个 Nagios NRPE 插件的关键在于使用退出代码来触发警报。

你可以在脚本中引入你的逻辑水平,如果要触发警报(无论是 OK、WARNING、CRITICAL 还是 UNKNOWN),你需要指定一个退出代码。

参考以下 Nagios 退出代码:

Nagios 退出代码

退出代码状态0OK1WARNING2CRITICAL3UNKNOWN

步骤 3 - 将你的脚本添加到客户主机上的 NRPE 配置

删除原始的

/etc/nagios/nrpe.cfg

并添加以下行:

log_facility=daemon
pid_file=/var/run/nagios/nrpe.pid
server_port=5666nrpe_user=nrpe
nrpe_group=nrpe
allowed_hosts=198.211.117.251
dont_blame_nrpe=1debug=0command_timeout=60connection_timeout=300include_dir=/etc/nagios/nrpe.d/

command[usedspace_python]=/usr/lib/nagios/plugins/usedspace.py

其中 198.211.117.251 是我们之前文章中的监控服务器。将这些值更改为你自己的值。

确保重新启动 Nagios NRPE 服务:

service nagios-nrpe-server restart

步骤 4 - 将你的新命令添加到 Nagios 监控服务器上的 Nagios 检查中

/etc/nagios/objects/commands.cfg

中定义新命令:

define command{
        command_name    usedspace_python
        command_line    $USER1$/check_nrpe -H$HOSTADDRESS$ -c usedspace_python
        }

如你所见,它使用 NRPE 对端口 5666 进行 TCP 连接,并运行命令 ‘usedspace_python’,我们在远程主机的

/etc/nagios/nrpe.cfg

中定义了这个命令。

将此检查添加到客户 VPS 的 Nagios 配置文件中。

对于我们的示例,我们将监视一个名为 UbuntuDroplet 的服务器,并编辑

/etc/nagios/servers/UbuntuDroplet.cfg

define service{
        use                             generic-service
        host_name                       UbuntuDroplet
        service_description             Custom Disk Checker In Python
        check_command                   usedspace_python
        }

重新启动 Nagios:

service nagios restart

验证新的检查是否正常工作:

nagios-ubuntu-python

完成!

标签: ubuntu python linux

本文转载自: https://blog.csdn.net/rubys007/article/details/138678791
版权归原作者 白如意i 所有, 如有侵权,请联系我们删除。

“如何在 Ubuntu 12.10 上使用 Python 创建 Nagios 插件”的评论:

还没有评论