Zabbix 5.0下如何应用Template DB MySQL来监控MySQL数据库呢?下面简单整理一下如何配置、应用Zabbix下自带的模板Template DB MySQL。其实非常简单。

Template DB MySQL可以在Zabbix 5.0的模板下面查看,也有简单的安装相关说明,如下所示:

Requirements for template operation:

1.Install Zabbix agent and MySQL client.

2.Copy Template_DB_MySQL.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget restart zabbix-agent.

3.Create MySQL user for monitoring. For example:

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';

GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

For more information read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please.

4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. For example:

[client]

user=zbx_monitor

password=<password>

在GitHub上https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent上,你可以看到更详细的信息

Overview

For Zabbix version: 5.0

The template is developed for monitoring DBMS MySQL and its forks.

This template was tested on:

·         MySQL, version 5.7, 8.0

·         Percona, version 8.0

·         MariaDB, version 10.4

·         Zabbix, version 4.2.1

 

Setup

See Zabbix template operation for basic instructions.

1. Install Zabbix agent and MySQL client. If necessary, add the path to the mysql and mysqladmin utilities to the global environment variable PATH.

2. Copy template_db_mysql.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget to restart zabbix-agent

3. Create MySQL user for monitoring (<password> at your discretion):

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';

GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

For more information please read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html

4. 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:

[client]

user='zbx_monitor'

password='<password>'

NOTE: Use systemd to start the Zabbix agent on Linux OS. For example in Centos use "systemctl edit zabbix-agent.service" to set the required user to start the Zabbix agent.

Add the rule to the SELinux policy (example for Centos):

# cat <<EOF > zabbix_home.te

module zabbix_home 1.0;

require {

type zabbix_agent_t;

type zabbix_var_lib_t;

type mysqld_etc_t;

type mysqld_port_t;

type mysqld_var_run_t;

class file { open read };

class tcp_socket name_connect;

class sock_file write;

}

#============= zabbix_agent_t ==============

allow zabbix_agent_t zabbix_var_lib_t:file read;

allow zabbix_agent_t zabbix_var_lib_t:file open;

allow zabbix_agent_t mysqld_etc_t:file read;

allow zabbix_agent_t mysqld_port_t:tcp_socket name_connect;

allow zabbix_agent_t mysqld_var_run_t:sock_file write;

EOF

# checkmodule -M -m -o zabbix_home.mod zabbix_home.te

# semodule_package -o zabbix_home.pp -m zabbix_home.mod

# semodule -i zabbix_home.pp

# restorecon -R /var/lib/zabbix

下面用中文简单总结概括一下

1:在被监控的主机上安装Zabbix Agent和 MySQL Client,如有必要,将mysql和mysqladmin应用程序的路径添加到全局环境变量PATH中。

2:将Template_DB_MySQL.conf文件拷贝到Zabbix Agent的配置目录(默认为etc/zabbix/zabbix_agentd.d/),不要忘记重启Zabbix Agent。

注意,Template_DB_MySQL.conf文件在哪里呢?相信有些人会懵逼。这个文件在https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent下

我将zabbix源码download下面,此文件位于zabbix-master@18cf3730036\templates\db\mysql_agent下。

3:在被监控的数据库上创建数据库账号

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'xxxxx';

GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

个人观点:出于安全考虑,账号限定只能本机访问,不要设置为任意IP可以访问。

CREATE USER 'zbx_monitor'@'localhost' IDENTIFIED BY 'xxxxx';

GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'localhost';

4:找不到这个目录/var/lib/zabbix,那么新建此目录,然后创建.my.cnf

# rpm -ql zabbix-agent 

/etc/logrotate.d/zabbix-agent

/etc/zabbix/zabbix_agentd.conf

/etc/zabbix/zabbix_agentd.d

/usr/lib/systemd/system/zabbix-agent.service

/usr/lib/tmpfiles.d/zabbix-agent.conf

/usr/sbin/zabbix_agentd

/usr/share/doc/zabbix-agent-5.0.1

/usr/share/doc/zabbix-agent-5.0.1/AUTHORS

/usr/share/doc/zabbix-agent-5.0.1/COPYING

/usr/share/doc/zabbix-agent-5.0.1/ChangeLog

/usr/share/doc/zabbix-agent-5.0.1/NEWS

/usr/share/doc/zabbix-agent-5.0.1/README

/usr/share/doc/zabbix-agent-5.0.1/userparameter_mysql.conf

/usr/share/man/man8/zabbix_agentd.8.gz

/var/log/zabbix

/var/run/zabbix

新建目录/var/lib/zabbix

# mkdir /var/lib/zabbix

添加访问数据库的账号信息。

[client]

user='zbx_monitor'

password='<password>'

关于Template DB MySQL的Discovery rules、Items 、Triggers、Macros,下面参考资料中已有详细介绍,在此略过。

 

参考资料:

https://www.zabbix.com/integrations/mysql

https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent

Template DB MySQL学习总结的更多相关文章

  1. 我的MYSQL学习心得(六) 函数

    我的MYSQL学习心得(六) 函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类 ...

  2. 我的MYSQL学习心得(十) 自定义存储过程和函数

    我的MYSQL学习心得(十) 自定义存储过程和函数 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心 ...

  3. 我的MYSQL学习心得(十三) 权限管理

    我的MYSQL学习心得(十三) 权限管理 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  4. 我的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  5. 我的MYSQL学习心得(十七) 复制

    我的MYSQL学习心得(十七) 复制 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  6. 别人的的MYSQL学习心得(十五) 日志

    我的MYSQL学习心得(十五) 日志 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据 ...

  7. 我的MYSQL学习心得 mysql的权限管理

    这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 ...

  8. 我的MYSQL学习心得 mysql日志

    这一篇<我的MYSQL学习心得(十五)>将会讲解MYSQL的日志 MYSQL里的日志主要分为4类,使用这些日志文件,可以查看MYSQL内部发生的事情. 分别是 1.错误日志:记录mysql ...

  9. 我的MYSQL学习心得(六)

    原文:我的MYSQL学习心得(六) 我的MYSQL学习心得(六) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL ...

随机推荐

  1. Python 3.9 beta2 版本发布了,看看新特性?

    随着 Python 3.9.0b1 的发布,即开发周期中计划的四个 beta 版本的首个,Python 3.9 的功能已经是完善了.在 10 月发布最终版本之前,还会有许多测试和稳定性方面的工作要做. ...

  2. 【LeetCode/LintCode 题解】约瑟夫问题 · Joseph Problem

    n个人按顺序围成一圈(编号为1~n),从第1个人从1开始报数,报到k的人出列,相邻的下个人重新从1开始报数,报到k的人出列,重复这个过程,直到队伍中只有1个人为止,这就是约瑟夫问题.现在给定n和k,你 ...

  3. 数据结构C++实现邻接矩阵存储图

    定义邻接矩阵存储的图类.[实验要求] 1. 创建一个邻接矩阵存储的图: 2. 返回图中指定边的权值: 3. 查找图中某顶点的第一个邻接顶点.某顶点关于另一个顶点的下一个邻接顶点序号: 4. 图的深度优 ...

  4. C#算法设计排序篇之08-计数排序(附带动画演示程序)

    计数排序(Counting Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/689 访问. 计数排序是一个非基 ...

  5. JavaScript 跨站伪造请求-CSRF

    CSRF: Cross-Site Request Forgery CSRF 概念 `定义`: 是一种对网站的而已利用,也被称之为one-click-attack 或者 session riding, ...

  6. jquery—实现能滚动的选项卡效果

    选项卡在网页中很常见,可以说是必备的一个元素了,网上其实也有很多案例讲解选项卡的做法,写这篇文章,就是记录下自己的写一个的实例效果图: html: css样式: 主要是滚动条的的样式设置width:1 ...

  7. 洛谷P1149.火柴棒等式(暴力搜索)

    题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-9的拼法如图所示: 注 ...

  8. 悄咪咪提高团队幸福感 & Surprise!

    前言 本文的灵感是在几个月以前工作不忙(摸鱼)时想到的,老是自己一个人往前冲冲冲也没啥意思,需要想一点办法,来提高团队的效率,提高团队的幸福感(效率起来了,单位时间内代码写的更多,那不就幸福啦 ),经 ...

  9. 年近而立,Java何去何从?

    摘要:各种新需求新应用层出不尽,各路新生代编程语言异军突起等等,Java未来会不会继续受欢迎?曾经备受关注的Java是否能紧跟时代步伐?新基建时代破茧重生引领云端未来潮流? 1995年第一个Java版 ...

  10. Redis设计与实现——数据结构与对象

    SDS 简单动态字符串 在redis数据库里面,包含字符串值得键值对在底层都是由SDS实现的. redis >  set msg "hello world" 1)键值对的键是 ...