zabbix介绍及部署(超详细讲解)

news2024/9/25 13:14:20

目录

1.zabbix的基本概述

2.zabbix的构成

1、Server

2、web页面

3、数据库

4、proxy

5、Agent

3.zabbix的监控对象

4.zabbix的常用术语

5.zabbix的工作流程

1、主动模式

2、被动模式

6.zabbix进程详解

7.zabbix的监控框架

1、server_client架构

2、zabbix_proxy_client架构

3、master_node_client架构

4.每个模块的工作职责

8.zabbix源码安装及部署 


1.zabbix的基本概述

       zabbix是一个监控软件,其可以监控各种网络参数,保证企业服务架构安全运营,同时支持灵活的告警机制,可以使得运维人员快速定位故障、解决问题。zabbix支持分布式功能,支持复杂架构下的监控解决方案,也支持web页面,为主机监控提供了良好直观的展现。

zabbix官网地址为https://www.zabbix.com/,页面如下所示:

2.zabbix的构成

zabbix主要由以下5个组件构成:

1、Server

       zabbix server是zabbix的核心组件,server内部存储了所有的配置信息、统计信息和操作信息。zabbix agent会向zabbix server报告可用性、完整性及其他统计信息。

2、web页面

      web页面也是zabbix的一部分,通常和zabbix server位于一台物理设备上,但是在特殊情况下也可以分开配置。web页面主要提供了直观的监控信息,以方便运维人员监控管理。

3、数据库

       zabbix数据库内存储了配置信息、统计信息等zabbix的相关内容。

4、proxy

      zabbix proxy可以根据具体生产环境进行采用或者放弃。如果使用了zabbix proxy,则其会替代zabbix server采集数据信息,可以很好的分担zabbix server的负载。zabbix proxy通常运用与架构过大、zabbix server负载过重,或者是企业设备跨机房、跨网段、zabbix server无法与zabbix agent直接通信的场景。

5、Agent

      zabbix agent通常部署在被监控目标上,用于主动监控本地资源和应用程序,并将监控的数据发送给zabbix server。
 

3.zabbix的监控对象

       zabbix支持监控各种系统平台,包括Linux和Windows等主流操作系统,也可以借助SNMP或者是SSH协议监控路由交换设备。zabbix如果部署在服务器上,可以监控其CPU、内存、网络性能等硬件参数,也可以监控具体的服务或者应用程序、服务运行情况及性能。

(1)硬件监控:Zabbix IPMI Interface ,通过IPMI接口进行监控,我们可以通过标准的IPMI硬件接口,监控被监控对象的物理特征,比如电压、温度、风扇状态、电源状态等。

(2)系统监控:Zabbix Agent Interface ,通过专用的代理程序进行监控,与常见的master/agent模型类似,如果被监控对象支持对应的agent,推荐首选这种方式。

(3)Java监控:Zabbix JMX Interface ,通过JMX进行监控,JMX(java management extensions,即java管理扩展),监控JVM虚拟机时,使用这种方法是非常不错的选择。

(4)网络设备监控:Zabbix SNMP Interface ,通过SNMP协议与被监控对象进行通信,SNMP协议的全称为simple network management protocol,被译为简单网络管理协议,通常来说,我们无法在路由器、交换机这种硬件上安装agent,但是这些硬件都支持SNMP协议。

(5)应用服务监控:Zabbix Agent UserParameter;

(6)MySQL数据库监控:percona-monitoring-plulgins   ;

(7)URL监控:Zabbix Web 监控。

4.zabbix的常用术语

zabbix的学习需要掌握一些zabbix的常用术语,zabbix常用术语列举如下:

1、主机(host)

要监控的设备,可以由IP或者是主机名(必须可解析)指定。

2、主机组(host group)

主机的逻辑容器,包含主机和模板,主机组通常在给用户或者是用户组指派监控权限时使用。

3、监控项(item)

一个特定监控指标的相关数据,比如内存的大小、CPU的使用率,甚至是服务的运行状态等等。监控项数据来源于被监控对象,并且每个监控项都由一个key来标识。

4、触发器(trigger)

一个表达式,用于评估监控项的值是否在合理的范围内。当接收的值超出触发器的规定时,就被认为是故障,如果超出后再次符合,就被认为是正常。

5、事件(event)

触发器触发的一个特定事件,或者是zabbix定义的一个自动上线注册主机的事件。

6、动作(action)

指根据配置,zabbix对于触发器触发的特定事件进行处理的具体措施,如执行某个脚本,或者是向管理员邮箱发送邮件等等。

7、报警升级(escalation)

发送警报或者是执行远程命令的自定义方案。

8、媒介(media)

发送通知(告警)的手段,如微信、邮件、钉钉等等。

9、通知(notification)

通过指定的媒介,向用户发送的有关事件的信息。

10、远程命令(remote command)

指运维人员提前写好的命令,可以让被监控主机在触发事件后执行。

11、模板(template)

用于快速定义被监控主机的预设条目集合,通常包括了监控项、触发器、应用等,模板可以直接链接至某个主机。

12、应用(application)

一组监控项的集合。

13、web场景(web scennario)

用于检测web站点可用性的一个或多个HTTP请求。

14、前端(frontend)

zabbix的web接口。
 

5.zabbix的工作流程

       Zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。

zabbix的数据收集分为两种模式:

1、主动模式

     zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server。

2、被动模式

     zabbix server向 agent 请求获取监控项的数据,zabbix agent返回数据。由此可以看出zabbix的主动和被动模式是以zabbxi客户端为基准的。

6.zabbix进程详解

     在默认的情况下,zabbix有6个工作进程;分别是 zabbix_agentd,zabbix_get,zabbix_proxy,zabbix_sender,zabbix_server 和 zabbix_gateway。

其中,zabbix_java_gateway是可选进程。这6个进程的作用如下:

1、zabbix_agentd

zabbix-agentd为zabbix客户端守护进程 ,主要负责收集客户端监控项数据。

2、zabbix_server

zabbix_server为zabbix服务端守护进程,主要负责收集zabbix客户端数据。(端口为10051)

3、zabbix_proxy

zabbix_proxy是zabbix的代理程序,其功能类似于server,作用上类似于一个中转站,最终会把收集的数据再次提交给zabbix_server。

4、zabbix_get

zabbix_get作为zabbix工具,通常运行在zabbix_server或者zabbix_proxy上,用于远程获取客户端信息,通常用于排错。

5、zabbix_sender

zabbix_sender也是zabbix的一个工具,通常运行在zabbix的客户端,用于耗时比较长的检查,其作用是主动发送数据。

6、zabbix_java_gateway

zabbix_java_gateway是zabbix2.0以后引入的新功能,可以用于JAVA方面的设备;但是只能主动获取数据,而不能被动获取数据。

7.zabbix的监控框架

     在实际的工作环境中,根据网络环境和监控的规模不同,zabbix一共有三种框架,分别是server_client架构、master_node_client架构和server_proxy_client架构。

1、server_client架构

      zabbix最简单的架构,监控设备和被监控设备之间直接相连,zabbix_server 和 zabbix_client 之间直接进行数据交互。

2、zabbix_proxy_client架构

       proxy是连接 server 和 client 之间的桥梁,其本身不存放数据,只是将zabbix_agent端发来的数据暂存,然后再提交给server。这种架构一般用于跨机房、跨网络的中型网络架构。

      在server_proxy_client架构中,server设备的宕机会导致整个系统瘫痪而无法正常工作。

3、master_node_client架构

      master_node_client架构是zabbix最复杂的架构。一般用于跨机房、跨网络、监控设备较多的大型网络架构。与server_proxy_client架构相比,master_node_client架构的主要区别在于node与proxy上.

      在master_node_client架构中,每个node可以理解为一个小的server端,在自己的配置文件和数据库,node下游可以直接连接client,也可以再次经过proxy代理后连接client。

在master_node_client架构中,master设备宕机不会影响node节点的正常工作。

4.每个模块的工作职责

1、Zabbix_Server:zabbix_server作为核心组件,用来获取agent存活情况和监控数据。所有的配置、统计、操作数据均通过server进行存取到database;

2、Zabbix_Database:用户存储所有的zabbix的配置信息、监控数据的数据库;

3、Zabbix_Web:zabbix的web界面,管理员通过web界面管理zabbix配置以及查看zabbix相关监控信息,通常与zabbix_server运行在同一台主机上,也可以单独部署在独立的服务器上;

4、Zabbix_Proxy:通常用于分布式监控,代理zabbix_server收集部分被监控的数据并统一发送给server端;(通常大于500台主机需要使用)

5、Zabbix_Agent:部署在被监控主机上,负责收集被监控主机的数据,并发送给servre端或者proxy端;

8.zabbix源码安装及部署

  1.服务端安装

     (1)安装zabbix5.0储存库(二进制安装方式)

     rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 

 这时候你查看一下你的库里面会有一个zabbix库

(2)安装zabbix软件包

(3)安装SCL(Software Collections)

(4)修改 zabbix-front 前端源,安装 zabbix 前端环境到 scl 环境下

 

(4)安装 zabbix 所需的数据库

 

(6)添加数据库用户,以及 zabbix 所需的数据库信息

(7)导入数据库信息

(8)修改 zabbix server 配置文件,修改数据库的密码

(9)修改 zabbix 的 php 配置文件

(10) 启动 zabbix 相关服务

(11)浏览器访问:http://192.168.156.10/zabbix

 

 

2.安装客户端

    zabbix 5.0 版本采用 golang 语言开发的新版本客户端 agent2 。

    zabbix 服务端 zabbix_server 默认使用 10051 端口,客户端 zabbix_agent2 默认使用 10050 端口。

1.关闭防火墙并设置主机名

服务端和客户端均添加映射关系 

2. 服务端和客户端都配置时间同步

3.客户端配置时区,与服务器保持一致(服务端与客户端均进行设置)

4.设置 zabbix 的下载源,安装 zabbix-agent2

5.修改 agent2 配置文件 

6.启动 zabbix-agent2

7.在服务端验证 zabbix-agent2 的连通性

8.在 Web 页面中添加 agent 主机

3.案例操作:自定义监控内容

案列:自定义监控客户端服务器登录的人数

需求:限制登录人数不超过 3 个,超过 3 个就发出报警信息

1.在客户端创建自定义 key

 2.创建 zabbix 的监控项配置文件,用于自定义 key

 3.在服务端验证新建的监控项

 4. 在 Web 页面创建自定义监控项模板

 

 

 

 

 

5.设置邮件报警

  6.测试邮件报警

 

4.zabbix 自动发现与自动注册

1.确保客户端上的 zabbix-agent2 服务状态正常

2.在 Web 页面删除原有的客户端主机 

3. 在服务端和客户端上配置 hosts 解析

 在之前的实验中已添加,未添加的可在此步骤中添加

4.在 Web 页面配置自动发现

5.可在服务端查看 zabbix 日志 

6.zabbix 自动注册(对于 agent2 是主动模式)

1.环境准备

 

2.修改 zabbix-agent2 配置文件

 

3.在 Web 页面配置自动注册 

 

4.在服务端查看 zabbix 日志 

 

 

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

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

相关文章

一文搞懂C#工程中程序数据库文件.pdb(符号文件)的作用,延伸搞懂Debug/Release、AnyCPU(首选32位)/x86/x64/ARM的区别

一、准备工作 MS引用:在 Visual Studio 调试器(C#、C、Visual Basic、F#)中指定符号 (.pdb) 和源文件 MS引用:为 C#、ASP.NET 或 Visual Basic 项目 (.NET Framework) 生成符号文件 MS引用:用…

ASP.NET动态Web开发技术第6章续

第6章续ASP.NET内置对象一.预习笔记 1.ASP.NET提供了七大内置对象,Page、Request、Response、Application、Session、Server和Cookies。这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器以及存储用户信息,以实现其他特定的状态管理和页面…

【动力节点】杜老师Vue笔记——Vue程序初体验

目录 一、Vue程序初体验 1.1 下载并安装vue.js 1.2 第一个Vue程序 1.3 Vue的data配置项 1.4 Vue的template配置项 一、Vue程序初体验 可以先不去了解Vue框架的发展历史、Vue框架有什么特点、Vue是谁开发的,对我们编写Vue程序起不到太大的作用,…

云HIS源码 基层卫生健康云HIS源码

云HIS全称为基于云计算的医疗卫生信息系统(Cloud-BasedHealthcareInformationSystem),是运用云计算、大数据、物联网等新兴信息技术,按照现代医疗卫生管理要求,在一定区域范围内以数字化形式提供医疗卫生行业数据收集、…

正版软件 Directory Opus 12 Pro Windows 平台上的资源管理器,定是功能完全、可定制化程度高的那款。

Directory Opus 是一款 Windows 平台上的资源管理器,定是功能最完全、可定制化程度最高的那款。你可以通过它完成几乎所有操作,包括查看图片元信息、预览图片、阅读文本文件内容、批量重命名、操作压缩文件以及 FTP 同步请求等。 Directory Opus 是一款由…

QGIS数据可视化学习笔记00——为什么用QGIS以及QGIS设置中文界面

一、为什么用QGIS? 1、qgis的概念 qgis原称Quantum GIS,是开源的桌面地理信息系统软件。 qgis是一款桌面版gis软件,他是基于qt平台使用c开发出来gis软件。 2、qgis的主要特点 1.支持多种GIS数据文件格式 2.集成或支持其他开源GIS&#…

rust的并发以及kv server网络处理和网络安全部分

理解并发和并行 Golang 的创始人之一,对此有很精辟很直观的解释:并发是一种同时处理很多事情的能力,并行是一种同时执行很多事情的手段。 我们把要做的事情放在多个线程中,或者多个异步任务中处理,这是并发的能力。在多…

postman同时传递文件和对象参数

属性 required true 意思为 必填对象属性 /*** descroptions: 再保临分请求* author: c* date: 2023/1/9 14:26* version: 1.0*/public class UwReinsureReportReqDTO extends BaseInfoReqDTO implements Serializable {private static final long serialVersionUID -59047…

No message available问题解决

概述 在EFK日志查询平台断断续续看到若干个应用的报错信息: 排查 上述截图里报错的类(省略掉Import语句后): Slf4j RestController public class FilterErrorController extends BasicErrorController {public FilterErrorC…

Pytorch安装与测试

1.Anaconda安装 官方网址:www.anaconda.com 找到anaconda的历史安装版本,我安装的是此版本 一直使用默认安装下来即可 1.1安装下来打开终端,创建python环境 1.2创建完成后 创建完成后,通过pip list发现没有torch 2.pytorch安装 进入pytorch官网:PyTor…

C语言 字符串解析strchr/strrchr/strtok//strtok_r函数使用

在程序中,解析用户输入的参数(命令行参数)是很常见的操作,本文将讲解C语言中常见的一些解析字符串函数使用方法。 1 strchr 1.1 描述 strchr() 用于查找字符串中的一个字符,并返回该字符在字符串中第一次出现的位置…

【数学知识】一文学会算法中的数学知识(1.1)

目录 一.数论 1.质数 (1)质数的判断 (2)分解质因数(数几个质数相乘) (3)求1-n的所有质数 2.约数 (1)试除法求所有约数 (2)约数个数和约数之和 (3)最大公约数(欧几里得算法 ) 一.数论 1.质数 在大于1 的整数&#x…

全回显SSRF测试两则

之前遇到可回显SSRF,并没有怎么去深入,可能漏洞点支持file协议更偏向于任意文件读取,不会去思考可回显SSRF的深入利用;直到读了pmiaowu师傅的可回显SSRF直接搭建成了代理进行内网渗透,后面遇到了两个可回显SSRF&#x…

【Kafka】Kafka为什么快?

Kafka之所以快的原因有三个:顺序读写、页缓存、零拷贝。 顺序读写 Kafka依赖磁盘来存储和缓存消息。 在我们的印象中,磁盘的读写速度会比内存的读写速度慢,但这是在随机读写场景下的比较。 实际上,磁盘的顺序读写能力不容小觑&am…

Spring IoC注解开发

Component 组件 Controller 控制器 Service 业务 Repository 仓库 其实他们四个本质都一样,只不过另外三个是Component的别名,在不同层使用容易区分 首先需要加入aop依赖,如果你事先加入spring-context依赖,则会关联加入ao…

亚马逊、temu、速卖通、国际站卖家如何利用好测评补单这张王牌?

大家好我是亚马逊测评珑哥。 现在越来越多的跨境电商平台入局,目前跨境电商平台亚马逊、TEMU、ozon、ebay、wish、lazada、敦煌、shopee、速卖通、poshmark、阿里国际站、沃尔玛、newegg、美客多等跨境平台的卖家都在递增,大家都知道,随着各…

javaEE 初阶 — 第一个 servlet 程序

文章目录 Servlet 是什么第一个 Servlet 程序1 创建项目2 引入依赖3 创建目录结构4 代码编写5 打包程序6 部署7 验证 如何使用 tomcat 插件打包及部署1 什么是插件2 插件的安装3 插件的使用4 可能会出现的问题 Servlet 是什么 Servlet 是一种实现 动态页面 的技术,是…

DataX和MongoDB之间的数据导入导出案例

DataX和MongoDB之间的数据导入导出案例 文章目录DataX和MongoDB之间的数据导入导出案例0. 写在前面1. MongoDB前置知识1.1 基础概念详解1.1.1 数据库1.1.2 集合1.1.3 文档(Document)2. DataX 导入导出案例2.1 读取 MongoDB 的数据导入到 HDFS2.1.1 编写配…

模板的分离编译

目录 : 1.分离编译概念 2.模板是不支持分离编译的 3.报链接错误的原因 4.如何解决 ----------------------------------------------------------------------------------------------------------------------- 1.分离编译概念 一个程序由若干个源文件共同实现&a…

java版工程项目管理系统源码 Spring Cloud+Spring Boot+Mybatis+Vue+ElementUI+前后端分离 功能清单

ava版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示1…