01. zabbix_server_install
部署 mysql 服务
[root@itdhz ~]# groupadd -g 999 mysql
[root@itdhz ~]# useradd -u 999 -g 999 mysql
[root@itdhz ~]# mkdir -p /data/docker/mysql/
[root@itdhz ~]# chown -R mysql:mysql /data/docker/mysql/
[root@itdhz ~]# docker container run -d --restart=always --name mysql --hostname mysql -p 3306:3306 -e TZ="Asia/Shanghai" -e MYSQL_ROOT_PASSWORD=zabbix -v /data/docker/mysql:/var/lib/mysql mysql:5.6 --character-set-server=utf8 --collation-server=utf8_general_ci --lower-case-table-names=1 --max-connections=1024 --max_connect_errors=10000 --innodb-log-file-size=268435456 --max-allowed-packet=67108864 --server-id=5555
从zabbix 源码安装包中找到 mysql 目录下 schema.sql data.sql images.sql 三个文件
通过下面命令将文件拷贝到容器内
[root@itdhz ~]# docker cp ./schema.sql mysql:/
[root@itdhz ~]# docker cp ./data.sql mysql:/
[root@itdhz ~]# docker cp ./images.sql mysql:/
连接数据库,创建zabbix数据库及用户,并加载表结构语句。
mysql> create database zabbix default charset utf8;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY '123456';
mysql> use zabbix;
mysql> source /schema.sql;
mysql> source /data.sql;
mysql> source /images.sql;
部署 zabbix-server 服务
[root@itdhz ~]# docker container run -d --restart=always --name zabbix-server --hostname zabbix-server -e TZ="Asia/Shanghai" -p 10051:10051 -p 162:162/tcp -p 162:162/udp -e DB_SERVER_HOST="<mysql-ip>" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" zabbix/zabbix-server-mysql
端口 10051/tcp 162/tcp 162/udp 这些要对外开放,方便外面客户端连接 zabbix-server
部署 zabbix-web 服务
[root@itdhz ~]# docker container run -d --restart=always --name zabbix-web --hostname zabbix-web -v /etc/localtime:/etc/localtime -v /etc/timezone:/etc/timezone -p 80:80 -e DB_SERVER_HOST="<mysql-ip>" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="123456" -e ZBX_SERVER_HOST="<zabbix-server-ip>" -e PHP_TZ="Asia/Shanghai" zabbix/zabbix-web-nginx-mysql
### windows
[root@itdhz ~]# docker container cp xxx.ttf
zabbix-web:/usr/share/zabbix/fonts/graphfont.ttf
安装完就可以直接通过http://<ip>访问我的zabbix服务了, The zabbix-web default user name isAdmin, passwordzabbix.
zabbix-agent
注意: zabbix-agent 不需要用 docker 容器去运行, 因为 zabbix-agent
需要监控宿主机,运行在docker容器内不给权限无法收集检测宿主机的相关信息。