基本信息
- Nagios:Nagios core 4.4.3
- Nagios Plugins:check_mysql_health 2.2.2
- Mysql-server: 192.168.0.91
- db user:db
- 操作流程:下载插件->安装插件->配置command->添加主机->添加服务
安装插件
- 下载
wget https://labs.consol.de/assets/downloads/nagios/check_mysql_health-2.2.2.tar.gz
- 配置、编译、安装
1
2
3
4
5
6
7
8tar -xzvf check_mysql_health-2.2.2.tar.gz
cd check_mysql_health-2.2.2
# configure
./configure --prefix=/usr/local/nagios/libexec --with-nagios-user=nagios --with-nagios-group=nagios --with-perl=/usr/bin/perl
# make
sudo make
# install
sudo make install
配置
配置插件
添加check命令
1
2
3
4
5
6
7cd /usr/local/nagios/etc/objects/
sudo vi commands.cfg
## add
define command {
command_name check_mysql_health
command_line $USER1$/check_mysql_health -H $ARG1$ --username $ARG2$ --password $ARG3$ --port $ARG4$ --mode $ARG5$
}创建主机配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52cd /usr/local/nagios/etc/objects
sudo touch mysql92\1.cfg && sudo chown nagios:nagios mysql91.cfg
# add
# define a host use template linux-server
define host {
use linux-server
host_name mysql91
alias mysql server 91
address 192.168.0.91
}
# define a new hostgroup
define hostgroup {
hostgroup_name mysql-server
alias mysql-server
members mysql91
}
# define services with template generic-service
# mysql_conn_time
define service {
use generic-service
host_name mysql91
service_description mysql_conn_time
check_command check_mysql_health!192.168.0.91!db!MysqlPasswd2019!3306!connection-time!
}
# mysql_threads_connected
define service {
use generic-service
host_name mysql91
service_description mysql_threads_connected
check_command check_mysql_health!192.168.0.91!db!MysqlPasswd2019!3306!threads-connected!
}
# mysql_slow_queries
define service {
use generic-service
host_name mysql91
service_description mysql_slow_queries
check_command check_mysql_health!192.168.0.91!db!MysqlPasswd2019!3306!slow-queries!
}
# mysql_encde
define service {
use generic-service
host_name mysql91
service_description mysql_sql
check_command check_mysql_health!192.168.0.91!db!MysqlPasswd2019!3306!encode!
}
# mysql_open_files
define service {
use generic-service
host_name mysql91
service_description mysql_open_files
check_command check_mysql_health!192.168.0.91!db!MysqlPasswd2019!3306!open-files!
}更多Mysql检查
check_mysql_health
插件通过修改--mode
的参数来设定检查项,其他检查可以参考check_mysql_health mode参数- 检查Nagios配置文件
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
- 重启Nagios服务,打开web界面查看新增的主机和服务
sudo systemctl restart nagios
- 测试报警
将被监控主机的mysql服务关闭,查看Nagios Web平台中的报警。