docker zabbix

本文详细介绍如何在Docker环境下部署Zabbix监控系统,并解决在MySQL 8高版本中遇到的插件加载错误问题,通过具体步骤指导读者完成Zabbix-server和Zabbix-web的正确配置。

准备环境:

mysql8高版本中报错(因此使用5.6或5.7就可以了)

[2059] Plugin caching_sha2_password could not be loaded: Error loading shared library lib/mariadb/plugin/caching_sha2_password.so: No such file or directory

mysql-server

docker run --name mysql-server -t -e DB_SERVER_HOST=192.168.10.200  -e DB_SERVER_PORT=3307 -e MYSQL_DATABASE="zabbix"  -e MYSQL_USER="zabbix"  -e MYSQL_PASSWORD="Test1234."  -e MYSQL_ROOT_PASSWORD="Test1234."  -v /data/zabbix/mysql:/var/lib/mysql -d mysql:5.7

zabbix-server-mysql

docker run --name zabbix-server-mysql -t -e DB_SERVER_HOST="192.168.10.200" -e DB_SERVER_PORT=3307 -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Test1234." -e MYSQL_ROOT_PASSWORD="Test1234." --link mysql-server:mysql -p 10051:10051 -d zabbix/zabbix-server-mysql:latest

zabbix-web-nginx-mysql

docker run --name zabbix-web-nginx-mysql -t -e DB_SERVER_HOST="192.168.10.200" -e DB_SERVER_PORT=3307 -e MYSQL_DATABASE="zabbix" -e MYSQL_USER="zabbix" -e MYSQL_PASSWORD="Test1234." -e MYSQL_ROOT_PASSWORD="Test1234."  --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server -p 8088:80 -d zabbix/zabbix-web-nginx-mysql:latest

若有问题查看日志: docker logs [NAMES]OR[CONTAINER ID]

正常启动后访问访问: http://192.168.10.200:8088/zabbix

 

### 如何在 Docker 中设置和配置 Zabbix #### 安装 ZabbixDocker 环境中 为了在 Docker 中运行 Zabbix,可以利用官方提供的镜像来简化安装过程。以下是实现这一目标的关键步骤: 首先,创建一个新的 `docker-compose.yml` 文件用于定义服务组件。文件内容如下所示: ```yaml version: '3' services: db: image: mysql:5.7 container_name: zabbix-db-mysql restart: unless-stopped environment: MYSQL_DATABASE: "zabbix" MYSQL_USER: "zabbix" MYSQL_PASSWORD: "your_password_here" MYSQL_ROOT_PASSWORD: "strong_root_password" volumes: - ./db_data:/var/lib/mysql command: --max_allowed_packet=128M zabbix-server-mysql: image: zabbix/zabbix-server-mysql:latest container_name: zabbix-server-mysql links: - db:mysql depends_on: - db environment: DB_SERVER_HOST: "db" MYSQL_DATABASE: "zabbix" MYSQL_USER: "zabbix" MYSQL_PASSWORD: "your_password_here" MYSQL_ROOT_PASSWORD: "strong_root_password" ports: - "10051:10051" zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:latest container_name: zabbix-web-nginx-mysql depends_on: - db - zabbix-server-mysql environment: DB_SERVER_HOST: "db" MYSQL_DATABASE: "zabbix" MYSQL_USER: "zabbix" MYSQL_PASSWORD: "your_password_here" MYSQL_ROOT_PASSWORD: "strong_root_password" PHP_TZ: "Europe/London" ports: - "8080:80" ``` 启动这些服务可以通过执行以下命令完成: ```bash docker-compose up -d ``` 这一步会拉取必要的镜像并初始化数据库和服务。 --- #### 配置外部脚本支持 如果需要通过外部脚本来扩展监控功能,则需确保 `/usr/lib/zabbix/externalscripts/` 路径下的权限被正确分配给 Zabbix 用户。例如,在容器内部操作时可参考以下方法调整权限[^3]: ```bash touch /usr/lib/zabbix/externalscripts/check.sh && chmod +x /usr/lib/zabbix/externalscripts/check.sh chown zabbix:zabbix /usr/lib/zabbix/externalscripts/check.sh ``` 对于自定义脚本路径不存在的情况(如错误提示 `[2] No such file or directory`),应先确认该目录存在再继续上述修改流程。 --- #### 性能优化建议 当面对高并发请求或者大规模数据处理需求时,可能需要调节某些参数以提升性能表现。比如增加轮询器数量至 StartPollers=500 并定期重启服务器有助于维持稳定状态[^1]。可通过编辑配置文件 `/etc/zabbix/zabbix_server.conf` 来更改此选项。 --- #### 查看当前运行的服务实例 要验证所有相关联的容器是否正常工作以及它们的状态详情,可以借助于下面这条指令获取实时反馈信息[^2]: ```bash docker ps ``` 它将以表格形式展示包括但不限于 CONTAINER ID, IMAGE NAME 和 STATUS 字段在内的多项重要指标供管理员查阅分析。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值