
nagios配置报警方法
原理 Nagios的报警原理可以概括为以下几个步骤: 1. 监测主机和服务状态:Nagios通过周期性地执行预定义的监测命令,检查被监控主机和服务的状态。这些监测命令可以是Ping
如上图,通过 Zabbix Agent 获取 MySQL 的监控数据(需要结合一些脚本和命令,在本节的后面会提到具体配置方法)。将获得的监控数据传到 Zabbix Server 中,最终通过 Zabbix Web 展示出来。
| 作用 | IP 地址 | 主机名 | 操作系统 | 版本 |
|---|---|---|---|---|
| Zabbix Server | 192.168.1.5 | node1 | CentOS 7.8 | zabbix-server-mysql-4.0.27 |
| Zabbix 数据库 | 192.168.1.6 | node2 | CentOS 7.8 | MySQL 8.0.23 |
| MySQL 机器(Zabbix Agent) | 192.168.1.7 | node3 | CentOS 7.8 | MySQL 8.0.23 |
在 node1 机器上部署 Zabbix Server,具体步骤如下:
添加 Zabbix 存储库
rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm 启用 rpm 存储库 yum-config-manager --enable rhel-7-server-optional-rpms 安装 Zabbix server yum install -y zabbix-server-mysql 安装 Zabbix 前端 yum install -y zabbix-web-mysql
mysql> create database zabbix character set utf8 collate utf8_bin; Query OK, 1 row affected (0.00 sec) mysql> create user 'zabbix_rw'@'%' IDENTIFIED WITH mysql_native_password BY 'Zabbix@123456' ; Query OK, 0 rows affected (0.07 sec) mysql> grant all privileges on zabbix.* to zabbix_rw@'%'; Query OK, 0 rows affected (0.00 sec)登陆 node1 机器,导入 MySQL 初始化 SQL 语句:
zcat usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix_rw -p'Zabbix@123456' zabbix -h192.168.1.6
LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid SocketDir=/var/run/zabbix DBHost=192.168.1.6 DBName=zabbix DBUser=zabbix_rw DBPassword=Zabbix@123456 SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000
在 ;date.timezone = 下一行添加:
date.timezone = Asia/Shanghai
设置 zabbix-server 开机启动
systemctl enable zabbix-server启动 zabbix-server
systemctl start zabbix-server 设置 Apache 开启启动 systemctl enable httpd 启动 Apache 服务 systemctl start httpd
点击 “Next step”,可进入如下界面:
点击 “Next step”,可进入如下界面,修改 MySQL 的连接信息:
点击 “Next step”,可进入如下界面:
点击 “Next step”,可进入如下界面:
点击 “Next step”,可进入如下界面:
点击 "Finish",可跳转到 zabbix 的登陆界面:
默认用户名为 Admin,密码为 zabbix。登陆后,可进入到 Zabbix 的主页面,如下图:
到这一步,表示 Zabbx Server 的安装已经完成。
安装 Zabbix Agent 包
yum install zabbix-agent 将 zabbix-agent 加入开机启动 systemctl enable zabbix-agent 启动 Zabbix Agent systemctl start zabbix-agent
将下载后的 rpm 包传到 Agent 机器上,进行 percona zabbix 插件的安装:
yum install -y percona-zabbix-templates-1.1.8-1.noarch.rpm cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf etc/zabbix/zabbix_agentd.d/ yum -y install php php-mysql
create user 'zabbix'@'localhost' identified with mysql_native_password by 'Zabbix@123'; GRANT SELECT, PROCESS, SUPER, REPLICATION CLIENT ON *.* TO 'zabbix'@'localhost';
Server= 192.168.1.5 Hostname=192.168.1.7 其中: Server 为 Zabbix Server 的 IP; Hostname 为本机 IP。重启 zabbix agent
systemctl restart zabbix-agent编辑配置文件 var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
<?php $mysql_user = 'zabbix'; $mysql_pass = 'Zabbix@123';编辑配置文件 ~zabbix/.my.cnf
[client] user = zabbix password = Zabbix@123
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg在 node1 上执行:
yum install zabbix-get -y zabbix_get -s 192.168.1.7 -p10050 -k "agent.ping" zabbix_get -s 192.168.1.7 -p10050 -k "MySQL.Key-read-requests"
如果都有返回值,则表示客户端部署正常。
删除临时文件(该文件为临时存放监控数据的文件,测试时,该文件的属组为 root,如果不删除,会导致 zabbix 用户无权限取到监控数据):
rm tmp/localhost-mysql_cacti_stats.txt -rf
cd /var/lib/zabbix/percona/templates
获取到 zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml 文件。
在 Zabbix 的 web 界面上,点击Configuration -> Templates -> Import 导入
进入以下界面,点击选择文件:
选择完文件后,点击“Import”:
如下图,如果出现“Imported successfully”,则说明导入成功。
Configuration-->Templates,输入关键字 “percona”,则可以看到新导入的模板 “Template Perconal MySQL Server”:
Configuration-->Hosts-->Create host,如下:
点击上图的“Create host”,进入下图,其中 Host name 填写被监控机器的可区分名字,Agent interfaces 中的 IP address 填被监控机器的 IP:
点击“Templates”,增加下图中对应的两个选项。
Monitoring-->Graphs,Host 选择这次新增的主机名,Graph 选择一个监控项,看是否有数据:
到这里,使用 Zabbix 监控 MySQL 的内容就讲完了。
评论 0