我花了好几天的时间阅读了那些难以理解和难以理解的文档,以及不完整或不完整的例子。
我无法find从哪里开始 – 令人迷惑!
基本上,我只是想在目标服务器上运行一个简单的shell脚本,并让nagios对结果进行操作。 我不想学习“C”,并花了几个月的时间来开发一个插件,这就是它的样子。
例如我想说写一个脚本,执行“从logged_in_usersselect计数(*)”
并有nagios图绘制结果的数字(甚至警报)
我可以在数据库机器上写一个5行的脚本,在10秒内返回状态和信息。 问题是如何让Naigos读取这个值。
我已经阅读了很多关于插件的信息,并且看到了很多插件“脚本”,但是这些信息从来没有说过插件运行在哪里,它们是在Srever,客户端还是两者上运行,现在它们是如何configuration的。 我不想让服务器拥有数据库密码,所以我只想在目标服务器上编写一个abitrary shell脚本,并监视结果。
目标服务器已经安装了一些名为nrpe的东西,我希望能够编写一个简单的shell脚本,但是所有的“命令”都是二进制的,而且是完全神秘的,我找不到任何概述文档。
任何人都可以build议从哪里开始? 有人写了一个“你好世界”的脚本? 我一直无法find一个谷歌searchstring,返回任何相关的命中。 这个星球上没有人想通过nagios来监视一个简单的自定义脚本的结果吗?
更好的是一个MySQL插件,它允许你插入你自己的一点的SQL,但我不能find这样的事情。
谢谢!
是的,您可以在目标服务器上运行nrpe服务器。 在nagios服务器上,你可以使用check_nrpe插件,它以一个命令作为参数。 这个命令应该在目标服务器上定义nrpe服务器。 所以,你的脚本将被nrpe服务器在目标服务器上执行。
这里是一个例子:
您可以在目标服务器上的nrpe.cfg文件中定义像这样的命令:
command[check_my_query]=/usr/lib/nagios/plugins/check_my_query.sh
您需要在目标服务器上编写脚本/usr/lib/nagios/plugins/check_my_query.sh 。 当然,你可以像平常一样传递任何需要的参数。
在nagios服务器上,您可以如下定义check命令:
define service{ use generic-service host_name My_Target_Server service_description My_Query check_command check_nrpe_1arg!check_my_query notifications_enabled 1 }
您需要使用您在nagiosconfiguration中find的check_nrpe_1arg的正确名称。 它可以像下面这样定义:
define command { command_name check_nrpe_1arg command_line /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -t 15 }
这听起来像你真的想要通过一个自定义的参数集应用到现有的插件如何使用check_nrpe。
首先在你的mysql服务器上安装mysql check插件。 找出你想要执行的命令和你需要的任何参数。 写下这些设置。
在您的mysql服务器上安装NRPE守护进程。 如有必要,在iptables中打开端口5666。 编辑文件/etc/nagios/nrpe.cfg并添加一行,如下所示。
command[annoying_mysql_check]=/usr/lib/nagios/plugins/check_mysql -w 5 -c 10 "select top 10 from .. order by"
从您的Nagios服务器(在命令行)
check_nrpe -H <your mysql host> -c annoying_mysql_check
这将返回您在上面第一组指令中find的结果。
一旦你在Nagios服务器的命令行上完成了这个工作,把它转换成Nagios使用的语法和configuration文件来自动执行检查的时间安排。 这是Nagios核心文档的一部分。
http://nagiosplugins.org/man/check_mysql_query是Ubuntu上Nagios软件包的一部分。 不知道它是否在CentOS的Nagios软件包中(它可能与直接的Nagios服务器软件包不同)。
检查输出是在Nagios中将check_mysql_query作为“命令”并让Nagios服务器运行它的问题。 您可以从任何可以访问MySQL服务器的机器(不pipe是Nagios服务器还是其他机器)执行命令(在这种情况下,您可以在该机器上设置NRPE,Nagios服务器将运行该命令来运行该命令) 。
graphics是另一回事。 你可以使用nagiosgraph,我发现一个绝对痛苦的设置。 还有穆宁。