zabbix5.0.42监控mysql数据库

zabbix服务器ip地址:192.168.8.134

mysql服务器ip地址:192.168.8.100

前两天在公司解决一个zabbix监控mysql数据的问题,搞了半天发现需要在my.cnf指定client字段。到家后自己搭建了一个测试环境重新来一遍。

一:安装zabbix-agent

直接在Index of /zabbix/zabbix/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

下载好对应版本的rpm包

看内核版本的这个字样表示rhel9版本的rpm包

安装上面的rhel7版本的包会报错,下面的rhel9的包安装成功

2:修改agent配置

vim /etc/zabbix/zabbix_agentd.conf

ServerActive=192.168.8.134                      #主动检查,agent主动向zabbix服务器发送数据

Server=192.168.8.134                                #指向zabbix  ip

Hostname=mysql                                        #主机名字

修改完之后wq保存退出

将mysql模板监控项拷贝到/etc/zabbix/zabbix_agent.d/

cp /usr/share/doc/zabbix-agent/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/

cat  /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

红框中那些注释行翻译过来就是:

--------------------------------------------------

#template_db_mysql.conf 由 Zabbix 为 "Template DB MySQL" 创建,适用于 Zabbix 4.2 #对于操作系统 Linux:你需要在 zabbix-agent 家目录(默认为 /var/lib/zabbix)中创建 .my.cnf 文件 #对于操作系统 Windows:你需要将路径添加到 mysql 和 mysqladmin,并在 %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf 中创建 my.cnf 文件 MySQL :: MySQL 5.7 Reference Manual :: 4.2.2.2 Using Option Files #该文件必须包含三行字符串: #[client] #user=zbx_monitor #password=<密码>

---------------------------------------------------

所以说我们要创建/var/lib/zabbix目录并且生成一个文件.my.cnf

mkdir /var/lib/zabbix/

chown -R zabbix:zabbix  /var/lib/zabbix/      #修改属主

vim /var/lib/zabbix/.my.cnf

文件内容:

这里面写的user和password之后在mysql里面配置

3:启动zabbix_agent,添加zabbix监控

/usr/sbin/zabbix_agentd     #启动zabbix

ss -anpt|grep 10050     #查看是否成功启动

zabbix web界面:

配置>主机>创建主机

模板选择:

添加之后现在的mysql监控项还是没有数据的,并且状态是down

是因为还没有配置mysql,现在配置mysql

4:配置mysql

4.1创建之前在/var/lib/zabbix/.my.cnf中写的user

create user 'zbxmonitor'@'%' identified BY 'Zbx@123456';

 # %代表远程和本地都能登录

4.2设置权限

grant replication client,process,show databases,show view on *.* to 'zaxmonitor'@'%';

  • replication client:允许用户运行复制相关的命令,如 SHOW MASTER STATUSSHOW SLAVE STATUS 等。
  • process  :允许用户查看其他用户的进程,即能看到 SHOW PROCESSLIST 的结果。

  • show databases: 允许用户运行 SHOW DATABASES 命令,列出所有数据库。
  • show view: 允许用户查看数据库中存储的视图。 

4.3flush刷新权限

在192.168.8.134上面测试一下权限

可以看到确实没有创建的权限,有showdatabases的权限。

5:修改mysql配置文件

vim /etc/my.cnf

添加红框中的三行,添加完之后不需要重启MySQL,他会自动加载客户端参数。

在 Zabbix 中,为了能够监控 MySQL 数据库,Zabbix Agent 需要使用 MySQL 客户端工具(如 mysqlmysqladmin)来执行命令并获取数据库的状态信息。

这些命令需要认证信息(用户名和密码)来连接到 MySQL 服务器,所以说client中定义的实际上是为 Zabbix Agent 提供了连接到 MySQL 服务器所需的用户密码,这样的话Zabbix Agent 就可以使用这些client中的定义的user password来执行必要的命令,从而收集 MySQL 的监控数据

测试一下:

可以看到不需要用户密码就可以用zbxmonitor这个用户登录进来

6:看zabbix web界面是否已经有了数据

监测 > 最新数据 > 选择刚才创建的主机 > 应用集选择mysql

对MySQL数据库进行压力测试:

mysqlslap -u=root -p=Sjl@123456 --concurrency=50          #注意要用root用户进行测试

这条命令表示对mysql产生50个并发连接

可以看到数据是一路飙升 

-------------------------------------------------

最后大家也可以试一下在mysql服务器上面把/etc/my.cnf 中的client字段那三行注释掉之后zabbix还会不会正常监控MySQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Source、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值