基于docker快速搭建zabbix 6.2监控平台 |
您所在的位置:网站首页 › zabbix安装部署步骤 › 基于docker快速搭建zabbix 6.2监控平台 |
zabbix是一款知名的老牌监控系统,可对硬件、操作系统、数据库、网络等多种目标介质进行统一监控,并集成了UI、监控展示、告警、服务发现等多种功能,可非常高效地进行监控工作。 zabbi本身的使用非常广泛,但由于产品涉及较多组件,安装的过程往往较为麻烦,需要花费不少时间进行部署调试。对此,本文将介绍如何基于docker容器的方式,快速搭建最新版本的zabbix监控平台,解决大家在安装部署上的痛点。 01 — 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。 02 — 安装docker1. 配置官方yum源 $ sudo yum install -y yum-utils $ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo2. 安装Docker $ sudo yum install docker-ce docker-ce-cli containerd.io3. 启动Docker $ sudo systemctl start docker4. 查看Docker版本号,确认安装正确。 $ docker version03 — 部署zabbix组件zabbix支持mysql/postgresql两种数据库,本示例使用支持mysql的zabbix版本。 1. 安装数据库 下载镜像,zabbix 6.x版本要求使用mysql 8.0。 $ docker pull mysql:8.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}。关于存储卷的知识,不清楚的朋友可查看此文《Docker容器实战十一:数据存储》。 启动容器 $ 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_password2. 安装zabbix-java-gateway 下载镜像 $ docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest启动容器 $ docker run --name zabbix-java-gateway -t \ --restart=unless-stopped \ -d zabbix/zabbix-java-gateway:alpine-6.2-latest3. 安装zabbix-server 下载镜像 $ docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest创建存储卷,用于存储zabbix配置文件。 $ docker volume create -d local zabbix_server启动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. 安装Zabbix Web 界面 下载镜像 $ docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest启动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-latest5. 登录zabbix 部署完成后,打开浏览器访问主机地址,即可访问zabbix。 登录账号:Admin 密码:zabbix 登录后显示界面,部署完成。 04 — 安装agentzabbix agent部署较为简单,你可以使用docker,也可以使用Yum、二进制包等方式安装,此处演示基于docker的安装方式。 下载镜像 $ docker pull zabbix/zabbix-agent:alpine-6.2-latest创建存储卷,用于存储agent配置文件。 $ docker volume create -d local zabbix_agent启动agent容器 $ docker run --name zabbix-agent -t \ -v zabbix_agent:/etc/zabbix \ -e ZBX_HOSTNAME="host-01" \ -e ZBX_SERVER_HOST="192.168.214.112" \ -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。 05 — 添加主机在目标主机安装好agnt后,即可以在zabbix server端配置相关的主机监控。 1. 点击"Create host”,创建新的主机配置。 2. 配置完成后,静待一会可看到监控目标生效。 3. 查看监控数据,可看到已正常获取。 总结: 相比传统的部署方式,容器化安装无疑是更加方便快捷的选择,学会使用容器来进行部署是一项非常有用的技能。这有利于我们快速地搭建好需要的系统环境,也可以解放技术人员的时间。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |