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. 2020-07-16:如何获得一个链表的倒数第n个元素?

    福哥答案2020-07-16: 1.快慢指针.快指针先走n步,然后快慢指针同时走,直到快指针走到尾.2.两次遍历.第一次遍历获取链表长度,然后计算出序号,然后遍历获取序号下的元素.3.数组保存.遍历一 ...

  2. C#LeetCode刷题之#682-棒球比赛(Baseball Game)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4028 访问. 你现在是棒球比赛记录员. 给定一个字符串列表,每个 ...

  3. ThinkPHP 6.0 基础教程 - 安装

    ThinkPHP6.0 的环境: PHP >= 7.1.0 我本地环境: Win10 PhpStudy 安装 PhpStudy 如果你已经安装 PhpStudy 或其他环境,请忽略这里 安装方法 ...

  4. Vue在v-for中给css传递一个数组参数

    需求就是将很多个数据,以进度条的形式展示在页面上,形成一个可视化. 接下来是html代码 <!DOCTYPE html> <html> <head> <tit ...

  5. Salesforce学习笔记之代码若干

    有几段试验性的代码因为公司要更新沙盒,删除了.在本地虽然还保存了副本,但怕以后刷新时误删,所以贴一份在这里,以便需要时拷贝. 1.用aura组件包装一个flow foo.cmp: <aura:c ...

  6. 区分多个web driver实例

    固然可以用加载不同cookie的办法,让3个帐号共享一个web driver登陆,但总感觉切换麻烦,干脆用了3个web driver实例.问题来了,如何区分?不是说程序里如何区分,机器比人聪明,知道外 ...

  7. 用python进行实际地址经纬度提取

    实际地址经纬度提取 请求接口: https://apis.map.qq.com/ws/place/v1/suggestion/ 所需参数: 参数名称 是否必须 参数类型 说明 keyword 是 St ...

  8. Spring Boot系列(一):Spring Boot快速开始

    一.Spring Boot介绍 Spring Boot可以很容易的创建可直接运行的独立的基于Spring的应用程序. 功能特点: 创建独立的Spring应用程序: 直接嵌入Tomcat.Jetty等W ...

  9. 用心整理的 献丑啦 一些关于http url qs fs ...模块的方法

    http:  const http = require("http");  http.createServer((req , res)=>{  req:request 请求  ...

  10. ES6中的变量的解构赋值, 解放我们的双手,实现变量的批量赋值

    ES6--变量的解构赋值 引言 正文 一.数组的解构赋值 解构失败 不完全解构 默认值 二.对象的解构赋值 三.字符串的解构赋值 结束语 引言 变量的解构赋值, 听起来很复杂, 简单点说可以理解成批量 ...