Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

用zabbix agent2自带模板监控MySQL的Threads,Queries,InnoDB buffer pool,Operations, Connections 简单易懂,不需要自己写监控脚本。当数据库性能超过阈值时,生成告警通知管理员 ,DB可以快速排查故障问题以及规划容量 。

Mysql数据库安装步骤点击查看,已安装数据库此步骤可省略。

至少需要两台虚拟机进行试验:一台服务端(监控端)jk,一台客户端(被监控端) 必备条件以及装好agent2。

部署zabbix-agent2和验证,采集数据,检测其他虚拟机(服务器),在其他虚拟机上安装zabbix-agent2(go语言)。

关闭防火墙

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
systemctl disable --now firewalld
yum install ntpdate -y

同步时间,和时区

ntpdate -u ntp.huaweicloud.com  
或(二选一,不要更改,更改可能会出现未知错误~)
ntpdate -u ntp.aliyun.com

查看时间

date

时区统一

mv /etc/localtime{,.bak}

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

部署zabbix-agent2(go语言)

再操作一遍,安装 zabbix rpm 源(使用华为云zabbix源或者阿里云zabbix源)

#用华为云zabbix源
rpm -Uvh https://mirrors.huaweicloud.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i 's#http://repo.zabbix.com#https://mirrors.huaweicloud.com/zabbix#' /etc/yum.repos.d/zabbix.repo
(源二选一,不要更改,更改可能会出现未知错误~)
或#是用阿里云zabbix 源 
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

安装zabbix-agent2

yum -y install zabbix-agent2
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

提示后输入y回车即可

ls -l /etc/zabbix/zabbix_agent2.conf
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

开机启动  zabbix-agent2

systemctl enable --now zabbix-agent2
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)
yum -y install net-tools

查看端口

netstat -tnlp|grep zabbix
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

查看验证zabbix-agent2.service文件

ls /lib/systemd/system/zabbix-agent2.service
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

需要详细也可以cat查看

配置并修改文件

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)
cat /var/run/zabbix/zabbix_agent2.pid  (源的不同,可能有些变化)
ps -ef|grep zabbix
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)
vi /etc/zabbix/zabbix_agent2.conf
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

:wq  退出保存

检查并查看修改了什么

grep -Ev '^#|^$' /etc/zabbix/zabbix_agent2.conf
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

改完一定都要重启zabbix_agent2

systemctl restart zabbix-agent2

一台服务端(监控端)jk 操作

返回值为1,说明ping通Mysql数据库

zabbix_get -s IP -p 10050 -k mysql.ping["tcp://IP:3306","用户名","密码"]
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

数据库按照以上链接配置完成了。

Mysql数据库安装步骤点击链接查看,已安装数据库此步骤可省略。记住用户名和密码,非常重要。

回到web端

配置-》模板-》agent2

Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

为了数据库安全起见,创建数据库普通用户,用来监控数据库(建议只授予读取的权限)

mysql -u root -p
Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)
#修改密码
set password for root@localhost = password('自定义');
#开放远程连接
use mysql;
update user set user.Host='%' where user.User='root';
create user 'qgs'@'%' identified by 'qgs111';   #create user '用户名'@'%' identified by '密码';
grant select,process,super on *.* to 'qgs'@'%' identified by 'qgs111';   #grant select,process,super on *.* to '用户名'@'%' identified by '密码'; 允许所有ip连接(用通配符%表示),只允许指定IP地址链接将%去掉即可
flush privileges;

quit

只要用户名,密码,IP地址对得上就可以了

Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

监控多台数据库操作如下

Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)imgZ投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)

选择更新等待即可

Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)Z投稿|基于Centos7 Zabbix agent2监控MySQL数据库(基于linux)
上一篇:部署zabbix监控


下一篇:zabbix实践