docker zabbix安装部署
``
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
提示:以下是本篇文章正文内容,下面案例可供参考
一、启动一个空的Mysql服务器实例
docker run --name zbx5-mysql -d \
--network=host \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="Hqkj2012_" \
--restart unless-stopped mysql:5.7 \
--character-set-server=utf8 --collation-server=utf8_bin \
--default-authentication-plugin=mysql_native_password
二、启动Zabbix server实例,并关联这个实例到已创建的MySQL服务器实例
docker run --name zbx5-server-mysql -d \
-e DB_SERVER_HOST="127.0.0.1" \
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="Hqkj2012_" \
--network=host \
--restart unless-stopped \
zabbix/zabbix-server-mysql:5.0-centos-latest
三、 启动Zabbix web 接口,并将它与MySQL服务器实例和Zabbix server实例关联
docker run --name zbx5-web-nginx-mysql -d \
-e ZBX_SERVER_HOST="192.168.0.10" \ ##宿主机IP
-e DB_SERVER_HOST="192.168.0.10" \ ##宿主机IP
-e MYSQL_DATABASE="zabbix" \
-e MYSQL_USER="zabbix" \
-e MYSQL_PASSWORD="zabbix" \
-e MYSQL_ROOT_PASSWORD="Hqkj2012_" \
-p 7070:8080 \
--restart unless-stopped \
zabbix/zabbix-web-nginx-mysql:5.0-centos-latest
四、 启动本机Agent
docker run --name zbx5-agent -d \
-e ZBX_HOSTNAME="local-agent" \
-e ZBX_SERVER_HOST="127.0.0.1" \
--network=host \
--restart unless-stopped \
zabbix/zabbix-agent:5.0-centos-latest
五、 docker ps -a 查询容器运行情况
六、 登录zabbix
默认用户名/密码是:Admin/zabbix
七、 客户端Agent配置
root@stroreroom4 ~]# cat > /etc/yum.repos.d/zabbix.repo <<EOF
[zabbix]
name= zabbix
baseurl=http://mirrors.bclinux.org/zabbix/zabbix/5.0/rhel/7/x86_64/
gpgcheck=0
enabled=1
EOF
[root@stroreroom4 ~]# systemctl start zabbix-agent.service
[root@stroreroom4 ~]# systemctl restart zabbix-agent.service
[root@stroreroom4 ~]# vim /etc/zabbix/zabbix_agentd.conf
八、 监控Mysql
1、新mysql监控帐号
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'Hqkj2012-';
GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
2、查看mysql的sock文件路径
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]# find / -name mysql.sock
/opt/mas/mysql/mysql.sock
3、复制Zabbix监控Mysql模板文件
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]# cp /usr/share/doc/zabbix-agent-5.0.43/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]# ls
userparameter_mysql.conf
4、设置模板归属
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]# chown -R zabbix:zabbix /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]# ll
total 4
-rw-r--r-- 1 zabbix zabbix 1118 Sep 14 10:23 userparameter_mysql.conf
[root@stroreroom5 /etc/zabbix/zabbix_agentd.d]#
5、修改模板文件(指定mysqladmin路径)
#template_db_mysql.conf created by Zabbix for "Template DB MySQL" and Zabbix 4.2
#For OS Linux: You need create .my.cnf in zabbix-agent home directory (/var/lib/zabbix by default)
#For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf https://dev.mysql.com/doc/refman/5.7/en/option-files.html
#The file must have three strings:
#[client]
#user=zbx_monitor
#password=<password>
#
UserParameter=mysql.ping[*],/opt/mas/mysql/bin/mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables[*], mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version[*], /opt/mas/mysql/bin/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"
6、在/var/lib/zabbix目录下创建.my.cnf配置文件
[root@stroreroom5 /etc/zabbix]# mkdir /var/lib/zabbix
[root@stroreroom5 /etc/zabbix]# cd /var/lib/zabbix/
[root@stroreroom5 /var/lib/zabbix]# ll -lsa
total 12
4 drwxr-xr-x 2 root root 4096 Sep 14 09:52 .
4 drwxr-xr-x. 32 root root 4096 Sep 14 09:33 ..
4 -rw-r--r-- 1 root root 271 Sep 14 09:52 .my.cnf
[root@stroreroom5 /var/lib/zabbix]# vim var/lib/zabbix/.my.cnf
[mysql]
host=localhost
user=zabbix
password=Hqkj2012-
socket=/opt/mas/mysql/mysql.sock
[client]
host=localhost
user=zabbix
password=Hqkj2012-
socket=/opt/mas/mysql/mysql.sock
[mysqladmin]
host=localhost
user=zabbix
password=Hqkj2012-
socket=/opt/mas/mysql/mysql.sock
7、重启zabbix-agent
[root@stroreroom5 /var/lib/zabbix]# systemctl restart zabbix-agent
九、 Zabbix-server Web端配置
配置–主机-模板
Template DB MySQL
页面展示,监控服时间与本地不一致问题
root@gejie-10 ~]# docker ps -a
##进入zabbix/zabbix-web-nginx-mysql的配置文件
docker exec -it 5eb6704a21c9 /bin/bash
##修改配置文件
vim /etc/php-fpm.d/zabbix.conf
php_value[date.timezone] = Asia/Shanghai