docker部署zabbix 6.2.7
zabbix 6.2.7
docker pull zabbix/zabbix-web-nginx-mysql:centos-6.2.7
docker pull zabbix/zabbix-server-mysql:centos-6.2.7
docker pull zabbix/zabbix-agent:centos-6.2.7
docker pull zabbix/zabbix-java-gateway:centos-6.2.7
docker pull mysql:8.0.32
首先创建一个供zabbix系统使用的网络环境
docker network create -d bridge zbx_net
docker network create -d bridge --subnet 192.168.10.0/24 zbx_net
创建一个供mysql数据库存放文件的目录
mkdir -p /data/dockerdata/zabbix/db
启动mysql容器
docker run -itd -p 3306:3306 --name zabbix-mysql
--network zbx_net --restart always -v /etc/localtime:/etc/localtime
-v /data/dockerdata/zabbix/db:/var/lib/mysql -e MYSQL_USER="zabbix"
-e MYSQL_PASSWORD="Zabb1x" -e MYSQL_ROOT_PASSWORD="rootPW123" mysql:8.0.32
--default-authentication-plugin=mysql_native_password --character-set-server=utf8
--collation-server=utf8_bin
为zabbix-server创建一个持久卷
docker volume create zbx_vo1
启动zabbix-server容器
docker run -itd -p 10051:10051 --mount source=zbx_vo1,target=/etc/zabbix
-v /etc/localtime:/etc/localtime -v /usr/lib/zabbix/alertscripts:/usr/lib/zabbix/alertscripts
--name=zabbix-server-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql"
-e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Zabb1x" -e MYSQL_ROOT_PASSWORD="rootPW123"
-e ZBX_JAVAGATEWAY="zabbix-java-gateway" -e ZBX_JAVAGATEWAY_ENABLE="true"
-e ZBX_JAVAGATEWAYPORT=10052 zabbix/zabbix-server-mysql:centos-6.2.7
启动zabbix-java-gateway
docker run -itd -v /etc/localtime:/etc/localtime --restart=always --name=zabbix-java-gateway
--network zbx_net zabbix/zabbix-java-gateway:centos-6.2.7
创建语言存放目录
mkdir -p /data/dockerdata/zabbix/db/fonts
下载语言文件
cd /data/dockerdata/zabbix/db/fonts/
wget https://dl.cactifans.com/zabbix_docker/msty.ttf
mv msty.ttf DejaVuSans.ttf
配置https访问
生成自签名证书
!/bin/bash
baseshell=$(cd $(dirname $0);pwd)
变量定义
IP=$1
生成证书配置文件
cat > ${baseshell}/ssl.cnf << EOF
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
C = CN
ST = GD
L = GZ
O = EDGE
OU = BASE
CN = $IP
[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = $IP
DNS.2 = 8.8.8.8
IP.1 = $IP
EOF
生成crt和key证书
openssl req -x509 -nodes -days 9999 -newkey rsa:2048 -keyout ${baseshell}/ssl.key -out ${baseshell}/ssl.crt -config ${baseshell}/ssl.cnf -sha256
生成dhparam证书
openssl dhparam -out dhparam.pem 2048
启动zabbix-web容器
新增挂载目录-v /data/dockerdata/ssl:/etc/ssl/nginx
新加端口 -p 8443:8443
docker run -itd -p 8080:8080 -p 8443:8443 -v /etc/localtime:/etc/localtime
-v /data/dockerdata/zabbix/ssl:/etc/ssl/nginx
-v /data/dockerdata/zabbix/fonts/DejaVuSans.ttf:/usr/share/zabbix/assets/DejaVuSans.ttf
--name zabbix-web-nginx-mysql --restart=always --network zbx_net -e DB_SERVER_HOST="zabbix-mysql"
-e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Zabb1x" -e MYSQL_ROOT_PASSWORD="rootPW123"
-e ZBX_SERVER_HOST="zabbix-server-mysql" zabbix/zabbix-web-nginx-mysql:centos-6.2.7
端口8080
启动zabbix-agent容器
docker run -itd --name zabbix-agent -p 10050:10050 --network zbx_net -e ZBX_HOSTNAME="Zabbix server"
-e ZBX_SERVER_HOST="zabbix-server-mysql" -e ZBX_SERVER_PORT=10051 zabbix/zabbix-agent:centos-6.2.7
=============================================================================================
部署agent2客户端
Install Zabbix repository
rpm -Uvh https://repo.zabbix.com/zabbix/6.2/rhel/7/x86_64/zabbix-release-6.2-3.el7.noarch.rpm
yum clean all
Install Zabbix agent2
yum install -y zabbix-agent2 zabbix-agent2-plugin-*
修改配置文件
vim /etc/zabbix/zabbix_agent2.conf
Server=192.168.1.120 #服务端ip
ServerActive=191.168.1.120 #服务端ip
Hostname=123agent #本机hostname
Start Zabbix agent2 process
systemctl restart zabbix-agent2
systemctl enable zabbix-agent2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?