一, 安装 Docker 并部署 Zabbix
建议先配置清华大学的 docker-ce yum 源, 速度有保障: 清华大学 repo 源
1.Zabbix Server 节点配置
部署环境:
- [root@server0 ~]# docker -v
- Docker version 18.09.1, build 4c52b90
- [root@server0 ~]# cat /proc/version
- Linux version 3.10.0-693.el7.x86_64 (builder@kbuilder.dev.CentOS.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
- [root@server0 ~]# cat /etc/RedHat-release
- CentOS Linux release 7.4.1708 (Core)
启动并开机自运行 Docker:
- systemctl enable docker
- systenctl start docker
部署 MySQL Docker, 提供 Zabbix 数据库服务:
- ~]$ docker container run --name zmysql-server \
- --network zabbix \
- -e MYSQL_DATABASE="zabbix" \
- -e MYSQL_USER="zabbix" \
- -e MYSQL_PASSWORD="123456" \
- -e MYSQL_ROOT_PASSWORD="654321" \
- -v /data/zabbix-MySQL:/var/lib/MySQL \
- --rm #根据需要也可以使用 --restart=always
- -d MySQL:5.7
部署 Zabbix_server 和 Zabbix_web:
- ~]$ docker container run --name zabbix-server-MySQL \
- --network zabbix -t \
- -e DB_SERVER_HOST="172.20.0.2" \
- -e MYSQL_DATABASE="zabbix" \
- -e MYSQL_USER="zabbix" \
- -e MYSQL_PASSWORD="123456" \
- -e MYSQL_ROOT_PASSWORD="654321" \
- -p 10051:10051 \
- --rm -d zabbix/zabbix-server-MySQL:CentOS-3.0-latest
- ~]$ docker container run --name zabbix-nginx \
- --network zabbix -t \
- -e DB_SERVER_HOST="172.20.0.2" \
- -e MYSQL_DATABASE="zabbix" \
- -e MYSQL_USER="zabbix" \
- -e ZBX_SERVER_HOST="172.20.0.3" \
- -e MYSQL_PASSWORD="123456" \
- -e MYSQL_ROOT_PASSWORD="654321" \
- -e PHP_TZ="Asia/Shanghai" \
- -p 80:80 --rm \
- -d zabbix/zabbix-Web-nginx-MySQL:CentOS-3.0-latest
修改时区:
- docker container exec -ti zabbix-server-MySQL /bin/bash
- cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
访问宿主机的 IP 就能访问 zabbix 了, 使用容器部署服务是非常方便快捷的. 部署 zabbix 的自运行脚本放在了我的 GitHub, 可以直接运行脚本启动安装 Zabbix.
2. 在 MariaDB 主从节点上部署 Zabbix-agent
在 MariaDB 主从节点上设置授权 zabbix 能访问数据的账号, 登录数据库执行:
> GRANT PROCESS,SUPER,REPLICATION CLIENT ON *.* TO zabbix@127.0.0.1 IDENTIFIED BY '123456';
配置 zabbix 官方 yum 源并安装 zabbix-agent,PHP,PHP-MySQL:
- [zabbix]
- name=Zabbix Official Repository - $basearch
- baseurl=http://repo.zabbix.com/zabbix/3.0/rhel/7/$basearch/
- enabled=1
- gpgcheck=0
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
- [zabbix-non-supported]
- name=Zabbix Official Repository non-supported - $basearch
- baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
- enabled=1
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
- gpgcheck=0
- yum install -y zabbix-agent zabbix-senter PHP PHP-MySQL
二, 安装 Percona Monitoring Plugins 插件监控 MariaDB
Percona Monitoring Plugins 是一个很强大的数据库测试插件, 我们这里只用它的 MariaDB For Zabbix 模板.
- ~]# rpm -ivh https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-6.noarch.rpm
- ~]# yum install percona-zabbix-templates -y
- ~]# rpm -ql percona-zabbix-templates #安装监控模板
- /var/lib/zabbix/percona
- /var/lib/zabbix/percona/scripts
- /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
- /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.PHP
- /var/lib/zabbix/percona/templates
- /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
- /var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
修改模板文件配置参数 (红色字体为要修改的部分):
- ~]# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
- ~]# VIM /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
- if [ "$ITEM" = "running-slave" ]; then
- # Check for running slave
- RES=`HOME=~zabbix /usr/bin/mysql -uzabbix -p123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`
- if [ "$RES" = "Yes, Yes," ]; then
- echo 1
- else
- echo 0
- fi
- exit
- ~]# VIM /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.PHP
- $mysql_user = 'zabbix';
- $mysql_pass = '123456';
- ~]# systemctl restart zabbix-agent.service
测试, 若以下命令返回任意数字, 则说明模板配置成功:
- ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
- ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
- ~]# /usr/bin/PHP -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.--host localhost --items gg
登录 Zabbix 页面并导入模板:
将 xml 模板文件上传至 zabbix-server, 由于官方的模板文件只支持 zabbix2.0, 这里提供修改后的 3.0 模板文件→→Zabbix Percona Template. 导入后重 zabbix-agent, 添加主机和模板, 设置触发器等等功能, 然后就能监控 MariaDB 了. Percona 的模板很详细, 可以满足生产中决大部分 MariaDB 监控需求.
关于 Zabbix 的基础配置可参阅我的文章 ---->Zabbix 监控原理及架构, Zabbix3.0 基础教程之一: 系统监控, zabbix 安装与基本配置, Zabbix3.0 基础教程之二: item,trigger,action,graph 配置
来源: https://www.cnblogs.com/readygood/p/10416166.html