首先要确认 check_mysql 与check_mysql_query 是否存在这插件 没有的话 要nagios-plugin中安装支持
需要被监控机添加访问
据库授权:(登陆DB服务器,进行授权用户名 nagios,密码123456
mysql> grant all privileges on *.* to nagios@localhost identified by '123456';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
监控端/usr/local/nagios/etc/objects/commands.cfg添加
define command{
command_name check_mysql
command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$
}
修改 /usr/local/nagios/etc/objects/localhost.cfg 在后面添加:
define service{
use local-service ; Name of service template to use
host_name localhost
service_description MySQL
max_check_attempts 3 ; 故障后最多尝试几次,次数到达后开始提醒
normal_check_interval 2 ; 正常状态下再次检查的间隔
retry_check_interval 1 ; 故障后重试时间间隔
notification_options w,u,c,r,f ;
notification_interval 1 ; 提醒的间隔,单位为分钟
notification_period 24x7 ; 提醒的时间段
# notifications_enabled 0 此项定义是否发送报警信息,0为关闭,1为开启
check_command check_mysql!127.0.0.1!nagios!123456
}
注意红色部分,用感叹号分隔开的有三个参数,分别是
host, username, password. 在 nagios 进行自动检查时,会将这三个参数在调用 check_mysql
命令的时候传递过去.