基于Docker快速部署Zabbix

11 篇文章 0 订阅

1、Zabbix基础监控架构图: 

2、Zabbix的架构信息:

1. zabbix-server

zabbix 的server 端,负责接收agent发送过来的监控数据,并且提供zabbix的所有核心功能。

2. database

用于存储监控数据和配置信息的数据库,目前常用的有mysql和postgresql两种数据库。

3. zabbix-web

zabbix的UI端,提供操作控制台和监控展示等功能。

4. zabbix-java-gateway

用于监控Java程序的JVM状态,zabbix本身无法直接从jvm获取监控指标,需使用该网关来实现。

5. zabbbix-agent

zabbix的代理端,部署在目标主机上,用于收集主机的监控数据,并提供给到zabbix server。

3、安装docker:

参考我博文的帖子。

Docker安装部署

4、部署Zabbix组件:

4.1 运行mysql8.0镜像容器:

创建存储卷,用于持久化mysql数据:

docker volume create -d local mysql_data  # 存放mysql的数据
docker volume create -d local mysql_logs  # 存放mysql的日志
docker volume create -d local mysql_conf  # 存放mysql的配置文件

说明:存储卷默认存储位置路径为:/var/lib/docker/volume/${volume_name}。

运行容器mysql8:

docker run --name mysql-server -t \
   -v mysql_data:/var/lib/mysql \
      -v mysql_logs:/var/log/mysql \
      -v mysql_conf:/etc/mysql \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --restart=unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

说明:zabbix6.x版本要求使用mysql8.0。

4.2 安装zabbix-java-gateway:

docker run --name zabbix-java-gateway -t \
   --restart=unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-6.2-latest

4.3 安装zabbix-server:

创建存储卷,用于存储zabbix的配置文件:

docker volume create -d local zabbix_server

运行zabbix-server容器,开放10051/TCP端口,用于接收监控数据。添加--link参数,实现mysql和java-gateway容器间的互相通信。

docker run --name zabbix-server-mysql -t \
    -v zabbix_server:/etc/zabbix \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      --restart=unless-stopped \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:alpine-6.2-latest

注释:此方式适合所有容器部署在同一台主机上,如果是分开部署,则在前面的步骤需要开放相关端口,并通过局域网进行连接。

4.4 安装Zabbix web页面:

运行zabbix-web容器:

docker run --name zabbix-web-nginx-mysql -t \
   -e PHP_TZ="Asia/Shanghai" \
   -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

5、登录Zabbix:

浏览器访问:http://IP地址

用户名:Admin

密码:zabbix

6、安装客户端:

重新准备一台虚拟机:

6.1 需要安装Docker:

参考下我的博文帖子。

6.2 创建存储卷,用于存储agent配置文件:

docker volume create -d local zabbix_agent

6.3 运行agent容器:

docker run --name zabbix-agent -t \
      -v zabbix_agent:/etc/zabbix \
      -e ZBX_HOSTNAME="client-01" \
      -e ZBX_SERVER_HOST="192.168.17.104" \ 
      -e ZBX_SERVER_PORT=10051 \
      -p 10050:10050 \
      --restart=unless-stopped \
      --privileged \
      -d zabbix/zabbix-agent:alpine-6.2-latest

注释:如果是部署在zabbix Server主机上的监控agent,此时的ZBX_SERVER_HOST需改为zabbix server的容器IP,而不能用主机IP。

7、添加主机:

在目标主机上安装好agent后,即可以在zabbix server端配置相关的主机监控。

  • 10
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
Docker中安装Zabbix,首先需要执行两个命令来生成Zabbix Server和Zabbix Web容器。执行以下命令生成Zabbix Server容器: ``` docker run --name zabbix-server-mysql-8 -t \ --net=zabbix_app_net \ --env-file /root/docker_env_file/zabbix_server_8.list \ -v /root/zabbix_etc_file/alertscripts:/usr/lib/zabbix/alertscripts \ -p 10051 \ -d zabbix/zabbix-server-mysql:centos-4.0.3 ``` \[1\] 然后,执行以下命令生成Zabbix Web容器: ``` docker run --name zabbix-web-nginx-mysql-8 \ --net=zabbix_app_net \ -p80 \ --env-file /root/docker_env_file/zabbix_web_8.list \ -d zabbix/zabbix-web-nginx-mysql:centos-4.0.3 ``` \[2\] 这样就在Docker中成功安装了ZabbixZabbix是一个基于WEB界面的开源解决方案,提供分布式系统监视和网络监视功能。它能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以便系统管理员快速定位和解决问题。Zabbix由两部分组成,服务端Zabbix Server和可选组件客户端Zabbix Agent。安装Zabbix之前,需要准备好VMware Workstation Pro和CentOS 7的环境,并安装好Docker容器。然后,通过在Docker镜像下安装Zabbix的步骤,可以完成Zabbix的安装和配置。\[3\] #### 引用[.reference_title] - *1* *2* [ZABBIX(docker版)安装](https://blog.csdn.net/topswim/article/details/87877454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Zabbix最简易安装部署:基于docker容器](https://blog.csdn.net/weixin_66651551/article/details/128882409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值