首页 > 数据库 >Zabbix6.0监控MySQL数据库

Zabbix6.0监控MySQL数据库

时间:2023-11-02 23:23:22浏览次数:37  
标签:status lib Zabbix6.0 数据库 MySQL zabbix conf mysql var

官方文档:https://www.zabbix.com/cn/integrations/mysql

部署过程:

1. 在MySQL数据库中创建监控账号并授权

CREATE USER 'zabbix'@'%'IDENTIFIED BY 'Likun@123';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zabbix'@'%';
flush privileges;
2. 找到自己MySQL的mysql.sock文件位置

find / -name mysql.sock
3. 创建.my.cnf文件并写入相关信息

#创建目录
mkdir -p /var/lib/zabbix
#写入用户名和密码
vi /var/lib/zabbix/.my.cnf

[client]
user=zabbix
password=Likun@123
socket=/var/lib/mysql/mysql.sock

[mysql]
user=zabbix
password=Likun@123
socket=/var/lib/mysql/mysql.sock

[mysqladmin]
user=zabbix
password=Likun@123
socket=/var/lib/mysql/mysql.sock
官方说明 Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. The file must have three strings:

4. 修改zabbix目录权限

chown zabbix:zabbix /var/lib/zabbix -R
5. 找到userparameter_mysql.conf文件(一般在zabbix_agentd目录中)

find / -name userparameter_mysql.conf

 

6. 修改 userparameter_mysql.conf内容(其实每行只多了一个 HOME=/var/lib/zabbix )

#原配置文件
UserParameter=mysql.ping[*], mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], mysql -h"$1" -P"$2" -sNX -e "show slave status"

#修改为
UserParameter=mysql.ping[*],HOME=/var/lib/zabbix mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*],HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*],HOME=/var/lib/zabbix mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*],HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*],HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery[*],HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*],HOME=/var/lib/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
7. 修改zabbix_agentd.cof,打开一个Include

vim /usr/local/zabbix/conf/zabbix_agentd.conf
#原内容:
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
#改为userparameter_mysql.conf所在位置
Include=/usr/local/zabbix/conf/zabbix_agentd/*.conf

 

8. 重启zabbix_agent

systemctl restart zabbix-agent
注意:重启过程中可能会报错:Job for zabbix-agent.service failed because a configured resource limit was exceeded. See "systemctl status zabbix-agent.service" and "journalctl -xe" for details.

使用journalctl -xe 查看错误信息

systemd[1]: PID file /tmp/zabbix_agentd.pid not readable (yet?) after start.

 原因:在zabbix_agentd.conf中打开了一个Include位置,在那个位置中除了userparameter_mysql.conf文件外,还有一个userparameter_examples.conf文件,移走或者删除这个文件即可

 rm /usr/local/zabbix/conf/zabbix_agentd/userparameter_examples.conf

 9. 在zabbix web页面关联MySQL模板

 10. 等待几分钟,zabbix6.0 自带模板监控MySQL有数据,监测成功 !

 

标签:status,lib,Zabbix6.0,数据库,MySQL,zabbix,conf,mysql,var
From: https://www.cnblogs.com/A121/p/17806648.html

相关文章

  • zabbix4.x安装出现“configure: error: Not found mysqlclient library”的解决办法
    一、zabbix3.x安装出现“configure:error:Notfoundmysqlclientlibrary”的解决办法1、编译安装zabbix-server出现编译时加参数:--with-mysql在编译时,可能会出现题目中所示的错误,可以通过安装mysql-devel这个库解决:yuminstall mysql-devel-y注:如果出现“......
  • Ansible操作MySQL常用的几个模块
    1. mysql_user模块mysql_user模块用来添加,删除用户以及设置用户权限创建MySQL数据库的用户与口令(非root@localhost用户),直接通过playbooks中的案例来说明吧。-name:创建MySQL数据库用户--user_testmysql_user:#-----登陆数据库login_host:"localhost"......
  • docker-compose安装mysql8+踩坑版
    一、拉取MySQL镜像我这里使用的是MySQL8.0.18,可以自行选择需要的版本。dockerpullmysql:8.0.18二、创建挂载目录mkdir-p/home/docker/mysql8/logmkdir-p/home/docker/mysql8/datamkdir-p/home/docker/mysql8/conf.d三、添加配置文件my.cnf(没有特殊需求可以跳......
  • 无涯教程-H2数据库 - Drop语句
    DROP命令用于从内存中删除数据库组件及其结构,无涯教程将在本章中讨论Drop命令的不同情况。DropTable删除表是删除相应表及其结构的命令。DROPTABLE[IFEXISTS]tableName[,...][RESTRICT|CASCADE]如果无涯教程使用的是RESTRICT并且存在具有依赖视图的表,则该命令将......
  • IDEA中配置Mysql
    我的IDEA版本是2021.2.4刚开始使用IDEA时,想要配置Mysql,搜索了许多教程,却根本找不到DataBase的位置,view中也找不到,后面才找到了问题。在file的setting中找到plugins,搜索Database即可,安装如图插件。 安装后即可在View中找到DBBrowser,然后如图连接选择mysql,另外连接时还需要输......
  • 无涯教程-H2数据库 - 合并数据(Merge)
    MERGE命令用于更新现有行并将新行插入表中,使用此命令时,主键列起着重要的作用,它用于查找行。Merge-语法以下是MERGE命令的通用语法。MERGEINTOtableName[(columnName[,...])][KEY(columnName[,...])]{VALUES{({DEFAULT|expression}[,...])}[,.......
  • powerdesigner 数据库建模
    作用,用于数据库建模,形成pdm图,生成数据表或者逆向工程到设计图上1、cdm数据库建模文件表格代表实体,线条代表关系,建模不是建数据库,数据库的一种抽象当前只是建模阶段,不清楚具有以后要向哪种数据库中去生成表,所以这里的数据类型都是一种具体数据库类型的代替名称。name属性的中文名c......
  • openGauss学习笔记-112 openGauss 数据库管理-管理用户及权限-行级访问控制
    openGauss学习笔记-112openGauss数据库管理-管理用户及权限-行级访问控制行级访问控制特性将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。用户可以在数据表创建行访问控制(RowLevelSecurity)策略,该......
  • 无涯教程-H2数据库 - Call语句
    CALL是属于H2数据库服务器的SQL命令,此命令用于计算简单表达式,它在单个列字段中返回给定表达式的输出。Call-语法以下是CALL命令的通用语法。CALLexpression;无涯教程可以在这种语法中使用算术表达式。Call-示例让无涯教程举个例子,并使用call命令执行算术表达式(15*25......
  • 无涯教程-H2数据库 - Explain语句
    EXPLAIN命令显示一条语句的执行计划,当无涯教程使用EXPLAINANALYZE命令执行语句时,查询计划将包括每个表的实际行扫描计数。Explain-语法以下是EXPLAIN命令的通用语法。EXPLAIN{[PLANFOR]|ANALYZE}{select|insert|update|delete|merge}连同此语法,无涯教......