DockerV19.03.1怎么搭建zabbix4.2.5

发布时间:2022-02-16 10:43:39 作者:iii
来源:亿速云 阅读:156
# DockerV19.03.1搭建Zabbix4.2.5全流程指南

## 一、环境准备与规划

### 1.1 系统要求
- **操作系统**:Ubuntu 18.04 LTS / CentOS 7.6+
- **Docker版本**:19.03.1(需验证`docker --version`)
- **硬件配置**:
  - 最低配置:2核CPU/4GB内存/20GB磁盘
  - 推荐配置:4核CPU/8GB内存/50GB磁盘(生产环境)

### 1.2 网络规划建议
| 服务名称       | 容器端口 | 宿主机端口 | 协议  |
|----------------|----------|------------|-------|
| Zabbix Server  | 10051    | 10051      | TCP   |
| Zabbix Web     | 80       | 8080       | TCP   |
| MySQL          | 3306     | 3306       | TCP   |
| Zabbix Agent   | 10050    | 10050      | TCP   |

## 二、Docker环境配置

### 2.1 安装Docker CE 19.03.1
```bash
# Ubuntu示例
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install -y docker-ce=5:19.03.1~3-0~ubuntu-$(lsb_release -cs)

2.2 配置Docker加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
EOF
sudo systemctl restart docker

三、Zabbix组件部署

3.1 创建专用网络

docker network create --subnet 172.20.0.0/16 zabbix-net

3.2 MySQL数据库部署

docker run -d \
  --name zabbix-mysql \
  --network zabbix-net \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e MYSQL_ROOT_PASSWORD="root_pwd" \
  -v /data/mysql:/var/lib/mysql \
  -p 3306:3306 \
  mysql:5.7 \
  --character-set-server=utf8 \
  --collation-server=utf8_bin

3.3 Zabbix Server部署

docker run -d \
  --name zabbix-server \
  --network zabbix-net \
  -e DB_SERVER_HOST="zabbix-mysql" \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e MYSQL_ROOT_PASSWORD="root_pwd" \
  -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
  -v /etc/localtime:/etc/localtime:ro \
  -v /data/zabbix/alertscripts:/usr/lib/zabbix/alertscripts \
  -v /data/zabbix/externalscripts:/usr/lib/zabbix/externalscripts \
  -p 10051:10051 \
  zabbix/zabbix-server-mysql:4.2.5

3.4 Zabbix Web界面部署

docker run -d \
  --name zabbix-web \
  --network zabbix-net \
  -e DB_SERVER_HOST="zabbix-mysql" \
  -e MYSQL_DATABASE="zabbix" \
  -e MYSQL_USER="zabbix" \
  -e MYSQL_PASSWORD="zabbix_pwd" \
  -e PHP_TZ="Asia/Shanghai" \
  -p 8080:80 \
  zabbix/zabbix-web-nginx-mysql:4.2.5

四、初始化配置

4.1 数据库初始化

# 等待MySQL容器完全启动(约2分钟)
sleep 120

# 导入初始schema
docker exec -i zabbix-mysql mysql -uroot -proot_pwd zabbix < /usr/share/doc/zabbix-server-mysql*/create.sql.gz

4.2 Web界面配置

  1. 访问 http://<宿主IP>:8080
  2. 按照向导完成配置:
    • Database type: MySQL
    • Database host: zabbix-mysql
    • Database port: 3306
    • Database name: zabbix
    • User: zabbix
    • Password: zabbix_pwd

五、高级配置

5.1 监控主机Agent部署

docker run -d \
  --name zabbix-agent \
  --network zabbix-net \
  -e ZBX_HOSTNAME="docker-host" \
  -e ZBX_SERVER_HOST="zabbix-server" \
  -e ZBX_SERVER_PORT=10051 \
  -v /:/rootfs:ro \
  -v /var/run:/var/run:ro \
  -v /sys:/sys:ro \
  --privileged \
  zabbix/zabbix-agent:4.2.5

5.2 配置自动发现规则

  1. 登录Zabbix Web
  2. 进入 Configuration > Discovery > Create discovery rule
  3. 配置参数示例:
    
    Name: Docker Network Discovery
    IP range: 172.20.0.1-172.20.0.254
    Checks: Zabbix agent "system.uname"
    

六、故障排查

6.1 常见问题解决方案

问题现象 可能原因 解决方案
Web界面502错误 PHP-FPM未启动 docker restart zabbix-web
Server无法连接MySQL 数据库未初始化完成 等待5分钟后检查日志
监控数据不更新 时间不同步 检查容器时区配置

6.2 日志查看方法

# 查看Server日志
docker logs -f zabbix-server

# 查看MySQL日志
docker exec zabbix-mysql tail -f /var/log/mysql/error.log

七、性能优化建议

7.1 容器资源限制

docker update \
  --cpus 2 \
  --memory 4g \
  --memory-swap 6g \
  zabbix-server

7.2 数据库优化参数

# 在MySQL容器中创建my.cnf
docker exec -it zabbix-mysql bash -c 'cat > /etc/mysql/conf.d/zabbix.cnf <<EOF
[mysqld]
innodb_buffer_pool_size=1G
innodb_log_file_size=256M
max_connections=200
EOF'

八、备份与恢复

8.1 数据库备份

docker exec zabbix-mysql mysqldump -uroot -proot_pwd zabbix | gzip > zabbix_backup_$(date +%Y%m%d).sql.gz

8.2 配置文件备份

tar czvf zabbix_configs_$(date +%Y%m%d).tar.gz /data/zabbix

九、版本升级路径

9.1 升级注意事项

  1. 先备份所有数据
  2. 按顺序升级:MySQL → Zabbix Server → Zabbix Web
  3. 测试环境验证后再升级生产环境

9.2 升级命令示例

docker stop zabbix-web && docker rm zabbix-web
docker pull zabbix/zabbix-web-nginx-mysql:4.4.0
# 使用原有参数重新运行容器

十、参考资料

  1. Zabbix官方Docker文档
  2. Docker 19.03发布说明
  3. MySQL 5.7优化指南

注意事项:本文基于Docker 19.03.1和Zabbix 4.2.5编写,其他版本可能需要调整配置参数。生产环境部署前建议进行充分测试。 “`

该文档包含约2300字,采用Markdown格式编写,包含: - 多级标题结构 - 代码块(bash命令) - 表格(环境规划/问题排查) - 有序/无序列表 - 强调文本(> 注意事项) - 网络拓扑说明 - 版本兼容性提示

可根据实际环境需求调整端口映射、密码等参数。建议部署前通读全文理解各组件关系。

推荐阅读:
  1. DNS搭建
  2. gitlab搭建

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker zabbix

上一篇:Docker Swarm常用操作有哪些

下一篇:Linux中trap命令怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》