使用docker部署zabbix 5.4 版本

目录

 

一.基础环境

1.关闭防火墙

2.关闭内核安全机制

二.安装docker引擎

三.配置镜像加速器

四.zabbix组建说明

五.部署zabbix

1.拉取镜像

2.启动zabbix组件及数据库容器

3.查看容器状态命令

六.登录zabbix

七.问题处理

1.数据库未初始化


 

一.基础环境

1.关闭防火墙

1.systemctl stop firewalld
2.systemctl disable firewalld

2.关闭内核安全机制

1.setenforce 0
2.sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config

二.安装docker引擎

# 卸载旧版本
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

# 添加仓库
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 启动服务
sudo systemctl enable --now docker

三.配置镜像加速器

1.vim /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://your-aliyun-mirror.mirror.aliyuncs.com"]
}

四.zabbix组建说明

  • zabbix-server:zabbix的server段,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。
  • database:用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库。
  • zabbix-web:zabbix的UI端口,提供操作控制台和监控展示等功能。
  • zabbix-java-gateway:用于监控Java程序的JVM状态,zabbix本身无法直接从jvm获取监控指标,需要使用该网关来实现。
  • zabbix-agent:zabbix的代理段,部署在目标的主机上,用于收集主机的监控数据,并提交给到zabbix-server。

五.部署zabbix

1.拉取镜像

1.docker pull docker pull mysql:8.0
2.docker pull zabbix-web-nginx-mysql:alpine-5.4-latest
3.docker pull zabbix-agent:alpine-5.4-latest 
4.docker pull zabbix-server-mysql:alpine-5.4-latest
5.docker pull zabbix-java-gateway:alpine-5.4-latest

2.启动zabbix组件及数据库容器

#mysql 8.0 
docker run --name mysql-server -t \
  -e MYSQL_DATABASE="zabbix"  \
  -e MYSQL_USER="zabbix"  \
  -e MYSQL_PASSWORD="zabbix_pwd"\
  -e MYSQL_ROOT_PASSWORD="root_pwd" \
  --network=zabbix-net \  
  -d mysql:8.0  \ 
  -v mysql-data:/var/lib/mysql \
  --character-set-server=utf8 \
  --collation-server=utf8_bin \   
  --default-authentication-plugin=mysql_native_password


#zabbix-web-nginx-mysql
docker run --name zabbix-web-nginx-mysql -t \  
   -v zabbix_web_ssl:/etc/ssl  \  
   -v zabbix_web_config:/etc/zabbix  \ 
   -e ZBX_SERVER_HOST="zabbix-server" \ 
   -e DB_SERVER_HOST="mysql-server" \
   -e ZBX_SERVER_PORT="10051" \
   -e MYSQL_DATABASE="zabbix" \
   -e MYSQL_USER="zabbix"   \
   -e MYSQL_PASSWORD="zabbix_pwd"  \ 
   -e MYSQL_ROOT_PASSWORD="root_pwd"  \
   --network=zabbix-net \
   -p 80:8080  \
   -d zabbix/zabbix-web-nginx-mysql:alpine-5.4-latest

#zabbix-server-mysql
docker run --name zabbix-server-mysql \
   -p 10051:10051 \
   -e DB_SERVER_HOST="mysql-server" \
   -e MYSQL_DATABASE="zabbix" \
   -e MYSQL_USER="zabbix" \
   -e MYSQL_PASSWORD="zabbix_pwd" \
   -e MYSQL_ROOT_PASSWORD="root_pwd" \
   -e ZBX_JAVAGATEWAY_ENABLE="true" \
   -e ZBX_STARTPOLLERS=5 \
   -e ZBX_STARTTRAPPERS=5 \
   -e ZBX_TIMEOUT=4 \
   -v /etc/localtime:/etc/localtime:ro \
   -v /etc/timezone:/etc/timezone:ro \
   --network zabbix-net \
-d zabbix/zabbix-server-mysql:alpine-5.4-latest


#zabbix-agent
docker run --name zabbix-agent \
  -p 10050:10050 \
  -e ZBX_HOSTNAME="zabbix-agent" \
  -e ZBX_SERVER_HOST="zabbix-server-mysql" \
  -e ZBX_SERVER_PORT=10051 \
  --network zabbix-net \
  -d zabbix/zabbix-agent:alpine-5.4-latest

#zabbix-java-gateway
docker run -d \
  --name zabbix-java-gateway \
  --restart unless-stopped \
  -e ZBX_JAVAGATEWAY_ENABLE=true \
  -e ZBX_JAVAGATEWAY="0.0.0.0" \
  -e ZBX_JAVAGATEWAYPORT=10052 \
  -e ZBX_STARTJAVAPOLLERS=5 \
  -p 10052:10052 \
  zabbix/zabbix-java-gateway:latest

3.查看容器状态命令

docker ps 

六.登录zabbix

  • 访问地址:http://IP+端口

  • 登录账号:Admin

  • 登录密码:zabbix

七.问题处理

1.数据库未初始化

从zabbix-server容器里找到xxxx.sql.gz 文件,执行以下操作:
gunzip < xxxx.sql.gz | mysql -u root -p"root_pwd" zabbix

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值