nagios_plugin安装时正确关联mysql后会在libexec下产生check_mysql文件
/usr/local/nagios/libexec/check_mysql -h
check_mysql v2034 (nagios-plugins 1.4.13)
Copyright (c) 1999-2007 Nagios Plugin Development Team
This program tests connections to a mysql server
Usage: check_mysql [-d database] [-H host] [-P port] [-s socket]
[-u user] [-p password] [-S]
Options:
-h, –help
Print detailed help screen
-V, –version
Print version information
-H, –hostname=ADDRESS
Host name, IP Address, or unix socket (must be an absolute path)
-P, –port=INTEGER
Port number (default: 3306)
-s, –socket=STRING
Use the specified socket (has no effect if -H is used)
-d, –database=STRING
Check database with indicated name
-u, –username=STRING
Connect using the indicated username
-p, –password=STRING
Use the indicated password to authenticate the connection
==> IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE!!! <==
Your clear-text password could be visible as a process table entry
-S, --check-slave
Check if the slave thread is running properly.
-w, --warning
Exit with WARNING status if slave server is more than INTEGER seconds
behind master
-c, --critical
Exit with CRITICAL status if slave server is more then INTEGER seconds
behind master
There are no required arguments. By default, the local database is checked
using the default unix socket. You can force TCP on localhost by using an
IP address or FQDN ('localhost' will use the socket as well).
Send email to [email protected] if you have questions
regarding use of this software. To submit patches or suggest improvements,
send email to [email protected]
创建nagdb空数据库和naguser用户
create database nagemptydb;
GRANT select ON nagemptydb.* TO naguser@localhost identified by ‘password123’;
FLUSH PRIVILEGES ;
测试check_mysql
sudo -u nagios /usr/local/nagios/libexec/check_mysql -H localhost -u naguser -d nagemptydb -p password123
Uptime: 45850 Threads: 1 Questions: 493233 Slow queries: 0 Opens: 159 Flush tables: 1 Open tables: 153 Queries per second avg: 10.757
修改被子监控机nrpe.cfg增加监控命令
vi /usr/local/nagios/etc/nrpe.cfg
command[check_mysql_status]=/usr/local/nagios/libexec/check_mysql -H localhost -u naguser -d nagemptydb -p ‘password123’
重启被监控机nrpe
ps aux |grep nrpe
kill $pid
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
监控机polo.cfg增加
vi /etc/local/nagios/etc/objects/polo.cfg
define service{
use local-service ; Name of service template to use
host_name polo
service_description mysql_status
check_command check_nrpe!check_mysql_status
notifications_enabled 0
}
重载入监控机nagios
service nagios reload
访问http://localhost/nagios的service detail
mysql_status
Notifications for this service have been disabled
PENDING N/A 0d 0h 0m 35s+ 1/4 Service check scheduled for Tue May 19 15:01:30 CST 2009
等一会
mysql_status
Notifications for this service have been disabled
OK 05-19-2009 15:01:30 0d 0h 1m 5s 1/4 Uptime: 46758 Threads: 1 Questions: 513579 Slow queries: 0 Opens: 160 Flush tables: 1 Open tables: 154 Queries per second avg: 10.983
针对mysql的plugin,
check_mysql_health更好一些,还可以同时输出performance data,有利于性能视图的生成。
http://www.consol.de/opensource/nagios/check-mysql-health/
那要添加好几项服务呢,
我主要关注以下两项,每秒查询数好像得不到。
threads-connected
slow-queries