利用Zabbix部署一个简易的MySQL监控系统

ywz888
发布于 2022-8-24 14:42
浏览
0收藏

•  一、Zabbix部署
•  二、浏览器安装Zabbix
•  三、Zabbix Agent 安装
•  四、配置MySQL监控
•  五、查看监控数据

 

一、Zabbix部署


1.配置Zabbix源

# 1.下载rpm包
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i "s#http://repo.zabbix.com/#https://mirror.tuna.tsinghua.edu.cn/zabbix/#g" /etc/yum.repos.d/zabbix.repo

# 2.启用Zabbix前端仓库
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo
sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/zabbix.repo

# 3.清理源yum信息
yum clean all

 

2.安装 Zabbix server 和 agent

yum -y install zabbix-server-mysql zabbix-agent

 

3.启用 Red Hat软件集合

SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。

yum -y install centos-release-scl

 

4.安装Zabbix前端软件包

通常我们会安装的独立的Nginx和Php,这里演示方便就直接安装了

yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl

 

5.安装MySQL用来存储Zabbix的元数据信息

安装MySQL步骤跳过,非本文重点。

 

6.数据库赋权

create database zabbix charset utf8 collate utf8_bin; 
create user zabbix@'127.0.0.1' identified by 'Zabbix.~#';
grant all on zabbix.* to zabbix@'127.0.0.1';
ALTER USER 'zabbix'@'127.0.0.1' IDENTIFIED WITH mysql_native_password BY 'Zabbix.~#';
flush privileges;

 

7.导入Zabbix元数据SQL

zcat /usr/share/doc/zabbix-server-mysql-5.0.24/create.sql.gz|mysql -uroot -p -S /data/GreatSQL/3306/mysql.sock zabbix

 

8.服务端配置连接zabbix数据库

[root@localhost]# cat /etc/zabbix/zabbix_server.conf|grep -v '#'|grep -v '^$'
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBHost=127.0.0.1
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

 

9、配置Nignx 配置后把域名绑定到hosts文件中

[root@localhost]# more /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
server {
        listen      80;
        server_name     greatsql.zabbix.com;  # 自定义域名
        root    /usr/share/zabbix;

 

10、配置Php

[root@localhost]# cat /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
listen.acl_users = apache,nginx           # 加个nginx白名单
php_value[date.timezone] = Asia/Shanghai  # 时区改成上海

 

11、启动服务并设置开机启动

systemctl start zabbix-server
systemctl start rh-nginx116-nginx.service 
systemctl start rh-php72-php-fpm.service 
systemctl enable zabbix-server
systemctl enable rh-nginx116-nginx.service 
systemctl enable rh-php72-php-fpm.service 

 

二、浏览器安装Zabbix


1.访问WEB地址

 

先绑定下host,步骤略,然后浏览器访问地址。

 

http://greatsql.zabbix.com/setup.php利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

2.确认所有条件都OK,点击Next step利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

3.填写账户密码等信息,点击Next step利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

4.再执行Next step利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

5.执行Next step利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

6.确认安装完成利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

7.登陆主页,默认账户密码:Admin/zabbix

http://greatsql.zabbix.com/index.php利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

8.主页信息利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

三、Zabbix Agent 安装


1、配置Zabbix yum地址

# 1.下载rpm包
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
sed -i "s#http://repo.zabbix.com/#https://mirror.tuna.tsinghua.edu.cn/zabbix/#g" /etc/yum.repos.d/zabbix.repo

# 2.启用Zabbix前端仓库
sed -i "s/gpgcheck=1/gpgcheck=0/g" /etc/yum.repos.d/zabbix.repo
sed -i "s/enabled=0/enabled=1/g" /etc/yum.repos.d/zabbix.repo

# 3.清理源yum信息
yum clean all

 

2、安装zabbix-agent

yum install zabbix-agent -y

 

3、配置Zabbix Server地址

[root@localhost zabbix]# cat /etc/zabbix/zabbix_agentd.conf|grep -v '#'|grep -v '^$'
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.6.221         # Zabbix服务端地址
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf

 

4、启动zabbix-agent

systemctl start zabbix-agent
systemctl enable zabbix-agent

 

四、配置MySQL监控


4.1 配置 Host groups


左侧下拉菜单栏 Configuration -> Host groups利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

右上角 Create host group利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

输入名称 MySQL Monitor 点击 Add,完成利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

4.2 配置 Templates


1、菜单栏点击 Templates利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

2、右上角点击 Create template利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

3、填写模板名称和组,Groups就是上一个步骤创建的MySQL Monitor利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

4、选择链接的模板,链接了2个模板、分别是系统监控和MySQL服务监控利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

5、配置完成后,如果是首次配置则点击Add。否则就是Update。

 

4.3 配置 hosts


1、左侧菜单栏点击 hosts利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

2、右侧点击 Create host利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

3、配置Host内容利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

4、配置 Templates 内容,选择上个步骤创建的自定义MySQL Monitor Template利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

5、配置完成后,点击Add

 

4.4 配置后最终效果利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

以上就配置完成一台受监控的数据库服务器。

 

五、查看监控数据


点击左边菜单页Monitorning -> Latest data 可以看到 MySQL-01 系统以及MySQL相关的监控项汇总信息。利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

点击其中一个监控项Graph,可以看到历史监控绘图数据。利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

由于zabbix_agentd没有收集MySQL的信息,所以我们要结合监控模板自定义编写监控脚本进行数据收集。

 

1、查看模板配置要求

 

打开相关模板,查看描述利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

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>

 

按步骤满足相关要求。

 

1、安装 Zabbix agent and MySQL client.

 

2、复制监控采集模板,服务器并没有Template_DB_MySQL.conf文件,我们自定义一个文件,如下:

[root@localhost ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=mysql.uptime[*], HOME=/etc/zabbix mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.ping[*], HOME=/etc/zabbix mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], HOME=/etc/zabbix mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize[*], HOME=/etc/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=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status[*], HOME=/etc/zabbix mysql -h"$1" -P"$2" -sNX -e "show slave status"

 

3、数据库采集权限开通

CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'Zabbix.~#';
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
flush privileges;

 

4、创建监控采集的账户信息

root@localhost ~]# cat /etc/zabbix/.my.cnf
[mysql]
user=zbx_monitor
password=Zabbix.~#
[mysqladmin]
user=zbx_monitor
password=Zabbix.~#

 

以上按要求配置完成后,重启进程。

[root@mgr1 ~]# systemctl restart zabbix-agent

 

再次查看就有MySQL监控数据了。利用Zabbix部署一个简易的MySQL监控系统-鸿蒙开发者社区

 

Enjoy GreatSQL :)

 

文章转载自公众号:GreatSQL社区

 

分类
标签
已于2022-8-24 14:42:07修改
收藏
回复
举报
回复
    相关推荐