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

posted @   yy9knsg  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示