答案1
好吧,我尝试了 William Leibzon 的 check_mysqld 插件,效果很好。您确实可以控制比标准 nagios 插件多得多的变量。我刚刚将插件放入 /usr/local/nagios/libexec 并从 cli 运行它,它就可以正常工作。我将其添加到 nagios(实际上是 opsview,但引擎是 nagios)检查中,现在我有了漂亮的图形。所以也许您没有正确设置它。
几件事:从 shell 以用户 nagios 身份运行插件。如果数据库是远程服务器,请验证您使用插件的用户和服务器是否可以查询 mysql 服务器和您从中提取数据的数据库(标准是数据库:mysql)。
我的支票是这样的:
nagios@host:$ cd /usr/local/nagios/libexec
$./check_mysqld.pl -H hostname -u user -a slow_queries -w 44 -c 55 -f
MYSQL 5.0.51a-24+lenny4 OK - slow_queries=0 | slow_queries=0
-u 是数据库服务器上的 mysql 用户。此数据库用户没有密码来查询 mysql 数据库。
答案2
您想检查什么?
我正在使用 Centos nagios 盒子上的插件包附带的 check_mysql 来远程监控 MySQL。此设置不需要 NRPE。
答案3
当 MSQL 不对来自本地主机以外的主机的查询开放,或者无法加速 mysqld 进程以允许配置更改时,非常需要 NRPE。
~
添加通过 NRPE 检查的命令非常简单。对于 Mysql,将以下行添加到您的 nrpe.cfg 文件:
命令 [check_mysql]=sudo /usr/lib/nagios/plugins/check_mysql -u'user' -p'pass'
这是 Nagios 的命令定义:$USER1$/check_nrpe -H $HOSTADDRESS$ -c check_mysql
将这一行添加到您的 /etc/sudoers:nagios ALL=(ALL) NOPASSWD:/usr/lib/nagios/plugins/check_mysql
确保不允许将命令行参数传递给命令:dont_blame_nrpe=0
~
要创建任何其他 NRPE 命令,请将“check_mysql”替换为您要创建的命令的名称,以及 sudo 后的实际命令的路径。sudoers 文件也一样。
- HTH〜丹。