docker 安装 zabbix

Zabbix 是由 Alexei Vladishev 开发的一种网络监视、管理系统,基于 Server-Client 架构。可用于监视各种网络服务、服务器和网络机器等状态。(from Zabbix)

Zabbix 作为企业级分布式监控系统,具有很多优点,如:分布式监控,支持 node 和 proxy 分布式模式;自动化注册,根据规则,自动注册主机到监控平台,自动添加监控模板;支持 agentd、snmp、ipmi 和 jmx 等很多通信方式。

同时,Zabbix 官方还发布了 Zabbix Docker 镜像。此次我们以 Zabbix 的官方 Docker 镜像为基础,搭建一个监控平台。

今天搭建的zabbix分为三个部分 
zabbix 分三个部分,agent 和 server 、web 三部分

zabbix-agent 部署在被监控机上面,zabbix-server (建议部署在另外一台主机上),zabbix-agent 会发送数据到zabbix-server 或者zabbix-server 主动索取数据,zabbix-server 将获取的数据存在mysql 数据库中(或者其他的数据库). (zabbix.com 官网的manual 上面有安装配置) 。web 从server上获取数据,然后展示给用户。

1. 安装mysql

redhat7.1 安装mysql 5.7.10

mac 中docker安装mysql

2. 安装zabbix-server

拉取镜像

docker pull zabbix/zabbix-server-mysql
  • 1

启动镜像命令

docker run --name some-zabbix-server-mysql  -p 10051:10051 --net=host -e DB_SERVER_HOST="数据库ip" -e DB_SERVER_PORT=数据库端口 -e MYSQL_USER="数据库用户名" -e MYSQL_PASSWORD="数据库密码" -d zabbix/zabbix-server-mysql
  • 1

2. 安装zabbix-web-apache-mysql

拉取镜像

docker pull zabbix/zabbix-web-apache-mysql
  • 1

启动命令

docker run --name some-zabbix-web-apache-mysql -p 8088:80  -e DB_SERVER_HOST="数据库ip" -e DB_SERVER_PORT=数据库端口 -e MYSQL_USER="数据库用户名" -e MYSQL_PASSWORD="数据库密码" -e ZBX_SERVER_HOST="zabbix服务器IP" -e TZ="Asia/Shanghai" -d zabbix/zabbix-web-apache-mysql
  • 1

3. 安装agent

在需要监控的机器上 安装agent 
拉去镜像

docker pull zabbix/zabbix-agent
  • 1

启动命令

docker run --name some-zabbix-agent -p 10050:10050 -e ZBX_HOSTNAME="hostname" -e ZBX_SERVER_HOST="zabbix服务器IP" -e ZBX_SERVER_PORT=10051 -d zabbix/zabbix-agent
  • 1

此时安装成功了。访问安装web 的服务器ip 端口号为8088 进入zabbix 登录页面,默认帐号为Admin 密码为 zabbix 登录后就可以配置自己的监控了。

### 使用 Docker 安装 Zabbix 的最佳实践 #### 1. 准备工作 在开始之前,确保已安装 DockerDocker Compose 工具。可以通过以下命令验证其版本是否存在: ```bash docker --version docker-compose --version ``` 如果未安装,则需先完成安装过程[^1]。 --- #### 2. 创建 `docker-compose.yml` 文件 为了简化部署流程,推荐使用 Docker Compose 来定义服务环境。以下是适用于 Zabbix 6.0 LTS 版本的典型配置: ```yaml version: '3' services: db: image: mysql:5.7 container_name: my-zabbix-db restart: unless-stopped environment: MYSQL_DATABASE: zabbix MYSQL_USER: zabbix MYSQL_PASSWORD: your_password_here MYSQL_ROOT_PASSWORD: your_root_password_here volumes: - ./db_data:/var/lib/mysql command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"] zabbix-server-mysql: image: zabbix/zabbix-server-mysql:alpine-6.0-latest container_name: my-zabbix-server depends_on: - db restart: unless-stopped environment: DB_SERVER_HOST: "db" MYSQL_DATABASE: "zabbix" MYSQL_USER: "zabbix" MYSQL_PASSWORD: "your_password_here" MYSQL_ROOT_PASSWORD: "your_root_password_here" ports: - "10051:10051" zabbix-web-nginx-mysql: image: zabbix/zabbix-web-nginx-mysql:alpine-6.0-latest container_name: my-zabbix-frontend depends_on: - db - zabbix-server-mysql restart: unless-stopped environment: DB_SERVER_HOST: "db" MYSQL_DATABASE: "zabbix" MYSQL_USER: "zabbix" MYSQL_PASSWORD: "your_password_here" PHP_TZ: "Europe/Berlin" # 替换为您所在时区 ports: - "80:8080" ``` 上述配置中包含了三个主要容器:MySQL 数据库、Zabbix Server 和前端 Web 接口。 --- #### 3. 启动服务 保存 `docker-compose.yml` 文件后,在同一目录下运行以下命令来启动服务: ```bash docker-compose up -d ``` 该命令将以后台模式启动所有指定的服务,并自动下载所需的镜像文件(如果尚未存在)。完成后可通过浏览器访问默认地址 `http://localhost` 查看 Zabbix 前端界面。 --- #### 4. 验证与测试 确认各组件正常运行的方法如下: - **数据库状态**:登录到 MySQL 容器内部执行查询语句; - **API 可达性**:尝试调用 RESTful API 或者通过 CLI 测试连接情况; - **Web 页面加载速度**:观察页面响应时间是否合理; 此外还可以利用日志查看工具排查潜在错误信息: ```bash docker logs my-zabbix-server docker logs my-zabbix-frontend ``` 对于更复杂的运维需求,可以考虑集成 Prometheus/Grafana 进行性能指标采集分析或者借助 ELK Stack 实现集中化日志管理等功能扩展[^4]。 --- #### 5. 日常维护建议 定期备份数据卷以防意外丢失重要资料;更新官方最新版镜像保持安全性补丁及时修复漏洞风险;优化资源配置提升整体效率表现等等都是必不可少的工作环节之一[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值