【企业级监控】Docker部署Zabbix与监控主机

news2024/9/28 7:23:47

基于Docker部署Zabbix6.2

文章目录

  • 基于Docker部署Zabbix6.2
    • 资源列表
    • 基础环境
    • 一、首先安装Docker
      • 1.1、部署Docker
      • 1.2、配置Docker加速器
    • 二、部署Zabbix组件介绍
    • 三、部署Zabbix
      • 3.1、安装数据库容器
      • 3.2、安装zabbix-java-gateway
      • 3.3、安装zabbix-server
      • 3.4、安装zabbix-web界面
      • 3.5、查看所有容器状态
    • 四、登录zabbix
    • 五、部署被监控端(Agent)
      • 5.1、安装Agent
      • 5.2、编辑Zabbix Agent配置文件
      • 5.3、启动Zabbix Agent
    • 六、Zabbix Web前端监控Agent主机
      • 6.1、添加主机

资源列表

操作系统配置主机名IP
CentOS 7.92C4Gzabbix192.168.93.101
CentOS 7.92C4gagent192.168.93.102

基础环境

  • 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  • 关闭内核安全机制
setenforce 0
sed -i "s/^SELINUX=.*/SELINUX=disabled/g" /etc/selinux/config
  • 修改主机名
hostnamectl set-hostname zabbix
hostnamectl set-hostname agent

一、首先安装Docker

1.1、部署Docker

# 安装依赖环境
[root@zabbix ~]# yum install -y yum-utils device-mapper-persistent-data lvm2

# 添加CentOS阿里云官方镜像站
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 快速建立Yum缓存
[root@zabbix ~]# yum makecache fast

# 安装最新版Docker
[root@zabbix ~]# yum -y install docker-ce docker-ce-cli containerd.io

# 启动Docker
[root@zabbix ~]# systemctl start docker
[root@zabbix ~]# systemctl enable docker

1.2、配置Docker加速器

[root@zabbix ~]# cd /etc/docker/
[root@zabbix docker]# cat >> daemon.json << EOF
{  
"registry-mirrors": ["https://8xpk5wnt.mirror.aliyuncs.com"]  
}
EOF
[root@zabbix docker]# systemctl restart docker

二、部署Zabbix组件介绍

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

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

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

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

  • zabbix-agent:zabbix的代理段,部署在目标的主机上,用于收集主机的监控数据,并提交给到zabbix-server。

三、部署Zabbix

3.1、安装数据库容器

  • zabbix支持mysql/postgresql两种数据库,本示例使用支持mysqlzabbix版本。

  • 拉取镜像,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容器
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

3.2、安装zabbix-java-gateway

  • 拉取镜像
docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest
  • 启动容器
[root@zabbix ~]# docker run --name zabbix-java-gateway -t \
   --restart=unless-stopped \
   -d zabbix/zabbix-java-gateway:alpine-6.2-latest

3.3、安装zabbix-server

  • 拉取镜像
docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest
  • 创建数据卷,用于存储zabbix配置文件
docker volume create -d local zabbix_server
  • 启动server容器,开放10051/TCP端口,用于接收监控数据。添加--link参数,实现mysqljava-gateway容器间的相互通信。
[root@zabbix ~]# 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:6.2-alpine-latest

3.4、安装zabbix-web界面

  • 拉取镜像
docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest
  • 启动web容器
[root@zabbix ~]# 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

3.5、查看所有容器状态

[root@zabbix ~]# docker ps -a
CONTAINER ID   IMAGE                                             COMMAND                   CREATED              STATUS              PORTS                                             NAMES
e2ebae0cba95   zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest   "docker-entrypoint.sh"    About a minute ago   Up About a minute   8443/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp   zabbix-web-nginx-mysql
93e0e12a394d   zabbix/zabbix-server-mysql:6.2-alpine-latest      "/sbin/tini -- /usr/…"   3 minutes ago        Up 3 minutes        0.0.0.0:10051->10051/tcp, :::10051->10051/tcp     zabbix-server-mysql
f29030f6ec30   zabbix/zabbix-java-gateway:alpine-6.2-latest      "docker-entrypoint.s…"   13 minutes ago       Up 13 minutes       10052/tcp                                         zabbix-java-gateway
16b08808f20b   mysql:8.0                                         "docker-entrypoint.s…"   15 minutes ago       Up 15 minutes       3306/tcp, 33060/tcp                               mysql-server

四、登录zabbix

  • 访问地址:http://192.168.93.101

  • 登录账号:Admin

  • 登录密码:zabbix
    在这里插入图片描述
    在这里插入图片描述

五、部署被监控端(Agent)

  • 被监控端必须要安装Agent组件,这个组件是用来收集数据提交上监控端的.

5.1、安装Agent

[root@agent ~]# curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@agent ~]# yum makecache fast
[root@agent ~]# rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
[root@agent ~]# sed -ie 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#g' /etc/yum.repos.d/zabbix.repo
[root@agent ~]# yum makecache fast
[root@agent ~]# yum -y install zabbix-agent

5.2、编辑Zabbix Agent配置文件

[root@agent ~]# vim /etc/zabbix/zabbix_agentd.conf
# 默认97行,指定server的IP,开启被动模式
Server=192.168.93.101
# 默认138行,指定server的IP,开启主动模式
ServerActive=192.168.93.101
# 默认149行,此名称需要与等会server端的web界面监控的名称一致,这个名称是可以自定义的,但是等会web端如果监控这个主机,那么就需要是使用agent名称进行监控
Hostname=agent

5.3、启动Zabbix Agent

[root@agent ~]# systemctl start zabbix-agent.service 
[root@agent ~]# systemctl enable zabbix-agent.service
[root@agent ~]# netstat -anpt | grep 10050
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      8444/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      8444/zabbix_agentd  

六、Zabbix Web前端监控Agent主机

6.1、添加主机

  • 在Web界面上依次选择:配置>主机>创建主机
    在这里插入图片描述

在这里插入图片描述

  • 状态过一会如果变成绿色证明监控成功
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1914198.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据下的用户研究:深度洞察与精准决策的引擎

文章目录 一、大数据时代的用户研究新机遇二、大数据用户研究的流程与关键技术三、大数据用户研究的实践案例四、大数据用户研究的挑战与展望《用户研究方法&#xff1a;卓越产品和服务的用户研究技巧》内容及特色读者对象 在当今这个数据爆炸的时代&#xff0c;大数据已成为推…

microblaze时钟更改出现时序问题

在使用microblaze时&#xff0c;我给的时钟是200MHz的时钟&#xff0c;但会在跑布线的时候出现时序上的问题&#xff0c;一开始是没有任何的头绪&#xff0c;知道我尝试更改时钟的频率才发现问题的所在。 当我把200MHz的时钟改为100MHz的时钟时&#xff0c;就不会出现时序上的…

Defensor 4.5:构建数据资产为中心的安全运营体系

5月31日“向星力”未来数据技术峰会上&#xff0c;星环科技重磅发布数据安全管理平台 Defensor 4.5版本。新版本引入了以数据资产为中心的数据安全运营体系&#xff0c;通过智能化大模型技术&#xff0c;帮助企业快速、精准地识别核心重要资产&#xff1b;建设全局的数据安全策…

全球数字贸易中心解析_保税区保的是什么税_为什么保税区还要交税

保税区税收机制深度解析&#xff1a;保税免的是什么税&#xff1f;为何仍需缴税&#xff1f; 保税区概述 保税区&#xff0c;作为海关特殊监管区域的重要一环&#xff0c;享有国家高度开放的政策优惠与功能齐全的海关监管服务。它专为保税加工、保税物流和保税服务而设&#…

安防管理平台LntonCVS视频汇聚融合云平台智慧火电厂安全生产管理应用方案

中国的电力产业作为国民经济发展的重要能源支柱&#xff0c;被视为国民经济的基础产业之一。目前&#xff0c;我国主要依赖火力发电&#xff0c;主要燃料包括煤炭、石油和天然气等&#xff0c;通过燃烧转化为动能&#xff0c;再转变为电能输送至全国各地。火力发电量占全国发电…

给你的博客加上评论区

一个网站如果有评论功能&#xff0c;可以更好的和读者互动。VuePress 也有很多评论插件&#xff0c;这里简单介绍下&#xff0c;最后介绍本站所使用的 Twikoo。 大部分评论插件都是使用的 Github 或 Gitee 的 issue 功能&#xff0c;也就是用 issue 去存储评论&#xff1b;而 …

高压线束屏蔽效能测试之管中管法、线注入法

一、引言 上期推文介绍了高压线束屏蔽效能测试方法三同轴法&#xff0c;本篇文章将继续介绍高压线束相关测试方法——管中管法和线注入法。 二、管中管法 1、一般要求 管中管法参照IEC62153-4-7标准对高低压连接器进行零部件级屏蔽效能测试。在测试时&#xff0c;通过金属延长管…

从零开始做题:MP3

题目 给出一个mp3文件 解题 右键->selection->save selection->另存为xxx.png即可 8750d5109208213f E:\逐鹿\MISC\tools\MP3Stego_1_1_19\MP3Stego>.\decode -X cipher.mp3 MP3StegoEncoder 1.1.19 See README file for copyright info Input file cipher.mp3…

必看!微信小程序必备证书!

微信小程序必备SSL证书。在日益增长的数字经济中&#xff0c;微信小程序已成为商家与消费者之间重要的交互平台。由于其便捷性和广泛的用户基础&#xff0c;越来越多的企业选择通过小程序来提供服务。然而&#xff0c;在开发和部署微信小程序时&#xff0c;确保数据安全是一个不…

three-platformize 微信小程序 uniapp 使用截图功能

最近需要将3d场景进行截图&#xff0c;但是网上的各种各样&#xff0c;看的我一团乱麻&#xff0c;因此在解决完后就将这些简单的分享一下&#xff1b; 原理&#xff1a;将3维场景的那个canvas中的像素提取出来&#xff0c;找一个空的canvas二维画布放上去&#xff0c;然后用二…

Conformal low power-1.概述

概述 设计师们越来越期望更长的电池寿命和更高的性能。由于漏电流的增加&#xff0c;使用90纳米及更小工艺节点制造的设备在不使用时的功耗与使用时相同。设计师们可以针对漏电流和动态功耗进行优化&#xff0c;这可以减少能源使用并降低冷却和封装成本。额外的高级低功耗方法…

oracle哪些后台进程不能杀?

oracle 有很多的后台进程&#xff0c;在遇到特殊情况的时候如锁表&#xff0c;如果等待的是一个后台进程&#xff0c;那这时就需要考量是不是能杀掉这个后台进程&#xff1f;杀掉这个后台进程会不会引起实例崩溃&#xff1f;本着实践出真知&#xff0c;本文针对oracle 11g&…

入门PHP就来我这(高级)20 ~ 事务处理

有胆量你就来跟着路老师卷起来&#xff01; -- 纯干货&#xff0c;技术知识分享 路老师给大家分享PHP语言的知识了&#xff0c;旨在想让大家入门PHP&#xff0c;并深入了解PHP语言。 接着上篇我们来看下PDO数据库的事务处理。 1 PDO中的事务处理 1.1 事务相关概念 事务&#…

基于cmake为项目自动获取git分支tag的版本号和commitid

目录 1. 引言2. 实现过程2.1 工程目录规划2.2 c程序文件2.3 CMakeLists.txt2.4 GitVersion.cmake文件2.5 BuildNumber.cmake文件1. 引言 在项目构建的时候,我们经常会希望能够将git提交的分支信息和提交号(commitid)以及当前版本发布的tag信息作为版本号自动构建到程序里面,以…

[C++]: 模板进阶

标题&#xff1a;[C]&#xff1a; 模板进阶 水墨不写bug 目录 一、非类型模板参数 &#xff08;1&#xff09;、非类型模板参数简介 &#xff08;2&#xff09;、非类型模板参数实例 二、模板的特化 &#xff08;1&#xff09;函数模板特化 &#xff08;2&#xff09;类…

微信文件太大传不了?学会这些,微信秒变大文件传输神器

在数字化时代&#xff0c;微信已成为我们日常沟通的重要桥梁。然而&#xff0c;当需要在微信上传输大文件时&#xff0c;文件大小的限制往往让人束手无策。 今天&#xff0c;我们将分享一些实用的技巧&#xff0c;帮助你在微信上轻松传输大文件&#xff0c;无论是工作文档还是…

防火墙组网

一、实验拓扑图 二、实验要求 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内&#xff08;9&#xff1a;00-18&#xff1a;00&#xff09;可以访问&#xff0c; 生产区的设备全天可以访问。 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网。 3、办…

无人机之飞行规划与管理篇

无人机飞行规划与管理是确保无人机安全、高效且符合法规的运行的关键步骤。这一过程包括了对飞行任务的详细安排、航线的设定以及风险的评估和管理。下面简述这一过程的主要环节&#xff1a; 一、飞行目的和任务确定 在规划之初&#xff0c;必须明确无人机的飞行目的&#xf…

ES13的4个改革性新特性

1、类字段声明 在 ES13 之前,类字段只能在构造函数中声明, ES13 消除了这个限制 // 之前 class Car {constructor() {this.color = blue;this.age = 2