01.Zabbix 概述

news2025/2/27 2:30:36

Zabbix 概述

  • Zabbix 概述
    • 1. Zabbix 功能
    • 2. Zabbix 架构
    • 3. Zabbix Server 启动进程
    • 4. Zabbix 术语

Zabbix 概述

运维行业有句话: “无监控、不运维”,监控俗称“第三只眼”。没了监控,基础运维,业务运维都是“瞎子”。 所以说监控是运维这个职业的根本。 尤其当前 DevOps 大行其道,用监控数据给自己撑腰,这显得更加必要,有人说运维是背锅侠,那么有 了监控,就有了充足的数据,一切以数据说话,所以作为一个运维工程师,如何构建一套监控系统是你的第一件工作。

监控功能

  • 在需要的时刻,提前预警即将出问题,避免故障发生
  • 实时监控系统和业务,当出问题之后,通过发出告警,提醒相关人员,快速可以找到问题的根源,从而及时处理问题
  • 可以实现网站,应用或者服务器的故障自愈, 保证高可用性
  • 以图形或易观察的方式呈现当前以及过往的状态,便于分析和预测系统发展趋势

需要监控什么

监控一切需要监控的资源,包括:服务器,网络设备,业务应用,云服务等

硬件监控通过远程控制卡: DeLL 的 iDRAC,HP 的 ILO 和 IBM 的 IMM 等
使用 IPMI 来完成物理设备的监控工作。通常必须要监控包括温度、硬盘故障等
路由器,交换机(端口,光衰,日志),打印机等
系统监控cpu,内存,硬盘使用率,硬盘 IO,系统负载,进程数
服务监控nginx,apache, php-fpm,mysql,memcache,redis ,tomcat,JVM,TCP 连接数
性能监控网站性能,服务器性能,数据库性能,存储性能
日志监控系统会产生系统日志,应用程序会有应用的访问日志、错误日志,服务有运行日志等, 可以使用ELK 来进行日志监控
安全监控用户登录数,passwd 文件变化,本地所有文件改动 Nginx + Lua 编写一个 WAF 通过 kibana 可以图形化的展示不同的攻击类型的统计。
网络 监控IP,端口,URL,DB,ping 包,IDC 带宽网络流量,网络流出流出速率,网络入流量,网络出流量,网络使用率,SMTP,POP3

zabbix 是一个基于 WEB 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。功能强大,成熟可靠,使用者众多

官网: https://www.zabbix.com/

Zabbix 是一个企业级分布式开源监控解决方案,支持实时监控数干台服务器,虚拟机和网络设备,采集百万级监控指标,适用于任何 IT 基础架构、服务、应用程序和资源的解决方案

Zabbix 软件能够监控众多网络参数和服务器的健康度、完整性。Zabbix 使用灵活的告警机制,允许用 户为几乎任何事件配置基于邮件的告警。这样用户可以快速响应服务器问题。Zabbix 基于存储的数据提供出色的报表和数据可视化功能。这些功能使得 Zabbix 成为容量规划的理想选择。

Zabbix 支持主动轮询(polling)和被动捕获(trapping)。Zabbix 所有的报表、统计数据和配置参数都可以通过基于 Web 的前端页面进行访问。基于 Web 的前端页面确保您可以在任何地方访问您监控的网络状态和服务器健康状况。适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。无论是对于有少量服务器的小型组织,还是拥有大量服务器的大企业而言,同样适用。

1. Zabbix 功能

Zabbix 是一个高度成熟完善的网络监控解决方案,包含了多种功能。

数据采集

  • 历史数据, 即记录每个监控项采集到的每个监控值
  • 趋势数据, 主要保留某个监控项一个小时内历史数据的最大值、最小值和平均值以及该监控项一个 小时内所采集到的数据个数
  • 可用性和性能检查;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
  • 通过 Server/Proxy 和 Agents 来执行数据采集。

灵活的阈值定义

  • 您可以参考后端数据库定义非常灵活的告警阈值,即触发器

高度可配置化的告警

  • 可以根据递增计划、接收者、媒介类型自定义发送告警通知;
  • 使用宏变量可以使告警通知变得更加高效有用;
  • 自动操作包含远程执行命令。

实时图形

  • 使用内置图形功能可以将监控项实时绘制成图形。

Web 监控功能

  • Zabbix 可以追踪模拟鼠标在 Web 网站上的点击操作,来检查 Web 网站的功能和响应时间。

丰富的可视化选项

  • 可以组合多个监控项到单个视图中,创建自定义图表;
  • 网络拓扑图;
  • 以仪表盘样式展示自定义聚合图形和幻灯片演示;
  • 报表;
  • 监控资源的更高层次展示视图(业务视图)。

历史数据存储

  • 存储在数据库中的数据;
  • 历史配置;
  • 内置数据管理机制

配置简单

  • 将被监控设备添加为主机;
  • 主机一旦添加到数据库中,就会采集数据用于监控;
  • 将模板用于监控设备。

使用模板

  • 模板中分组检查;
  • 模板可以关联模板,继承已关联模板的属性。

网络发现

  • 自动发现网络设备;
  • Zabbix Agent 发现设备后自动注册;
  • 自动发现文件系统、网络接口和 SNMP OIDs 值。

快捷的 Web 界面

  • 基于 PHP 的 Web 前端;
  • 可以从任何地方访问;
  • 您可以定制自己的操作方式;
  • 您可以通过审计日志来查看你的操作。

Zabbix API

  • Zabbix API 为 Zabbix 提供可编程接口,用于批量操作、第三方软件集成和其他用途。

权限管理系统

  • 安全的用户身份验证;
  • 指定的用户只能查看指定的权限范围内的视图。

功能强大且易于扩展的 Zabbix Agent

  • 部署于被监控对象上;
  • 支持 Linux 和 Windows

二进制守护进程

  • 为了更好的性能和更少的内存占用,采用 C 语言编写;
  • 便于移植。

适应更复杂的环境

  • 使用 Zabbix Proxy 代理,可以轻松实现分布式远程监控

2. Zabbix 架构

Zabbix SERVER

  • Zabbix server 是 Zabbix 软件的核心组件
  • Zabbix Agent 向其报告可用性、系统完整性信息和统计信息。
  • Zabbix server 也是存储所有配置信息、统计信息和操作信息的核心存储库。
  • Zabbix server 也是 Zabbix 监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员。
  • 基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web 前端和数据库。
  • Zabbix 的所有配置信息都存储在 Server 和 Web 前端进行交互的数据库中。例如,当你通过Web前端(或者API)新增一个监控项时,它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因。

数据库

  • 所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中
  • 可以支持 MySQL,PostgreSQL,Oracle 等多种数据库

WEB 界面

  • WEB 界面是 Zabbix server 的一部分,用于实现展示和配置的界面
  • 通常(但不一定)和 Zabbix server 运行在同一台物理机器上
  • 基于 Apache(Nginx) + PHP 实现,早期只支持 LAMP 架构,从 Zabbix5.0 开始支持 LNMP

AGENT

  • Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server。从 Zabbix5.0 开始支技 Zabbix Agent2

PROXY

  • Zabbix Proxy 可以代替 Zabbix Server 采集性能和可用性数据
  • Zabbix Proxy 在 Zabbix 的部署是可选部分
  • Zabbix Proxy 的部署可以很好的分担单个 Zabbix server 的负载

Java 网关

  • Zabbix 要监控 tomcat 服务器和其它 JAVA 程序,需要使用 Java gateway 做为代理,才能从 JAVA 程序中获取数据

内部配置的数据流程

  • Zabbix 内部的数据流对 Zabbix 的使用也很重要。首先,为了创建一个采集数据的监控项,就必须先创建主机。其次,在任务的另外一端,必须要有监控项才能创建触发器(trigger),必须要有触发器来创建动作(action)。因此,如果您想要收到类似“ X 个 server 上 CPU 负载过高”这样的告警, 您必须首先为 Server X 创建一个主机条目,其次创建一个用于监控其 CPU 的监控项,最后创建一 个触发器,用来触发 CPU 负载过高这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,实际操作非常简单。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。

3. Zabbix Server 启动进程

zabbix server 进程说明

Zabbix 服务器端进程有多达二十多种 当在操作系统下用 ps aux 命令来查看时,往往看到很多 zabbix 系统进程,而这些系统进程在 zabbix 内部称为实例。这些实例各处负责不同的工作,就形成了不同种类型的进程),各种类型进程的说明如下:

  • 报警器(alerter)——该类型的进程是用来发送报警通知的
  • 配置同步器(configuration syncer)——用于将配置文件中的配置信息同步到内存中缓存
  • 数据发送器(data sender)——服务器代理节点用于发送数据的进程(服务器端没有这类进程)
  • 数据库看门狗(db watchdog)——该进程用于监视 zabbix 系统的数据库状态,当数据库状态变为不可用时,发 送警告信息(服务器代理端不支持这类型进程)。
  • 自动发现器(discoverer)——用于自动发现设备的进程
  • 步骤(escalator)——用于处理动作中的步骤的进程
  • 心跳发送器(heartbeat sender)——服务器代理端用于发送心跳信息(服务器端没有这类型的进程)
  • 历史数据同步器(history syncer)——用于写历史数据表
  • 管家(housekeeper)——用于清理过期的历史数据的进程
  • HTTP 轮询器(http poller)——用于轮询 web 类的监控项目
  • Ping 检查器(icmp pinger)——用于定期的进行 ICMP PING 检查
  • ipmi 轮询器(ipmi poller)——用于定期进行 ipmi 监控项目的检查
  • java 轮询器(java poller)——用于轮询 java 监控项目
  • 轮询器(poller)——用于普通的被动监控项目的轮询
  • 服务器代理轮询(proxy poller)——用于服务器代理的被动轮询
  • 分布式节点看守器(node watcher)——用于在不同的分布式节点发送历史数据和配置信息更新的进程
  • 自我监控(self-monitoring)——用于收集 Zabbix 系统内部的监控信息
  • 定时器(timer)——用于处理触发器中也时间相关的函数和维护模式的进程
  • 陷入器(trapper)——用于处理主动采集、陷入以及分布式节点间或服务器代理的通信
  • 不可到达轮询器(unreachable poller)——用于轮询不可到达到的设备
  • vmware 收集器(vmware collector)——负责从 vmware 服务进程中收集数据(服务器代理端不支持这种类型的进程)

可用的mode参数包括:

  • avg——指定类型所有进程的平均值
  • count——返回创建的指定类型进程的数量
  • max——最大值
  • min——最小值
  • ——进程号,含义参见“描述”中所述的;

可用的state参数包括:

  • 繁忙(busy)——表示处于繁忙状态的进程;
  • 空闲(idle)——表示处于空闲状态的进程;

4. Zabbix 术语

  • 被监控: 即 Zabbix 监控的主机或设备
  • 监控项 item:即 Zabbix 监控的相关指标,比如:CPU 利用率,内存使用率,TCP 连接数等
  • 应用集 Application:为方便管理众多的监控项,可将多个同类型的监控项进行归类,纳入一个集合中, 即应用集
  • 触发器 Trigger:是一个表达式,或者说一个条件,如磁盘利用率超过 80% 等,当触发条件后,会导致一个触发事件,这个事件会执行一个或多个动作
  • 动作 Action:动作是触发器的条件被触发后的行为,可以是发送一条短信,微信或邮件,或是重启某个服务
  • 告警:当触发器和动作二者结合起来时,就构成了的告警机制,比如 cpu 的使用率达到 80% 以上,触发了报警动作,系统将自动发送一封邮件到指定的邮箱。然后运维可以及时的去处理此错误。
  • Web 监测:对 WEB 服务进行检测,比如:访问指定网站是否可正常访问
  • 模板 Template: 可以方便地应用于多个主机的一组实体的集合。而这些实体包括:
    • items(监控项)
    • applications(应用集)
    • triggers(触发器)
    • graphs(图形)
    • screens (聚合图形,自Zabbix 2.0起)
    • low-level discovery rules (自动发现规则 ,自 Zabbix 2.0 起)
    • web scenarios (web 场景, 自 Zabbix 2.0 起)

由于现实中的许多主机是相同或类似的,所以,为一个主机创建的一组实体(项目,触发器,图 形,…)可能对许多人有用。虽然可以将它们复制到每个新的主机上,但过程很繁琐。可以将需要的实体都复制到一个模板,然后根据需要将模板应用于尽可能多的主机。

当模板链接到主机时,模板的所有实体(项目,触发器,图形,…)都将添加到主机。

模板通常用于为特定服务或应用程序(如Apache,MySQL,PostgreSQL,Postfix …)分组实体,然后应用于运行这些服务的主机。

使用模板的另一个好处是当所有主机都需要更改时。只需要在模板上更改某些内容将会将更改应用到所有链接的主机。

创建新模板时,链接的模板选项卡允许将一个或多个“嵌套”模板链接到此模板。所有实体(项目,触发 器,图表等)将从链接的模板继承。

因此,使用模板是减少工作量并简化 Zabbix 配置的好方法。

模板分为内置模板和自定义模板

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

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

相关文章

易基因:RNA甲基化修饰和R-loop的交叉调控:从分子机制到临床意义|深度综述

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 R-loop(RNA-DNA杂合结构)是转录调控、DNA复制和修复等关键细胞过程的重要组成部分。但R-loop异常积累可能会破坏基因组完整性,从而导致多种疾病的发生…

NLP的预处理数据

处理文本数据的主要工具是Tokenizer。Tokenizer根据一组规则将文本拆分为tokens。然后将这些tokens转换为数字,然后转换为张量,成为模型的输入。模型所需的任何附加输入都由Tokenizer添加。 如果您计划使用预训练模型,重要的是使用与之关联的…

Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)

仅供自学,请去支持javaGuide原版书籍。 1.Linux 1.1.概述 Linux是一种类Unix系统。 严格来讲,Linux 这个词本身只表示 Linux内核,单独的 Linux 内核并不能成为一个可以正常工作的操作系统。所以,就有了各种 Linux 发行版&#…

7种内外网数据交换方案全解析 哪种安全、高效、合规?

内外网数据交换方案主要解决了企业跨网络数据传输中的安全、效率与合规性问题。通过采用先进的加密技术、高效的数据传输协议以及严格的审批和审计机制,该方案确保了数据在内外网之间的安全交换,同时提高了传输效率,并满足了企业对数据合规性…

基于 Python 的项目管理系统开发

基于 Python 的项目管理系统开发 一、引言 在当今快节奏的工作环境中,有效的项目管理对于项目的成功至关重要。借助信息技术手段开发项目管理系统,能够显著提升项目管理的效率和质量。Python 作为一种功能强大、易于学习且具有丰富库支持的编程语言&…

电子科技大学考研复习经验分享

电子科技大学考研复习经验分享 本人情况:本科就读于电科软院,24年2月开始了解考研,24年3月开始数学,9月决定考本院(开始全天候图书馆学习)并开始专业课学习,11月底开始政治学习,最后…

DeepSeek技术提升,Linux本地部署全攻略

文章目录 1.Ollama部署1.1 安装Ollama1.2 配置Ollama1.3 下载deepseek模型 2.安装MaxKB可视化页面2.1 下载镜像2.2 运行容器2.3 配置MaxKB 3.配置Chatbox AI可视化页面 1.Ollama部署 Ollama下载地址 根据自己需求选择版本下载 1.1 安装Ollama 下载安装脚本并执行 curl -fs…

在 Mac mini M2 上 MaxKb配置ollama,API域名无效的解决方案

环境说明 docker方案安装与使用的maxkb 本地ollama安装deekseek r1 解决方案 参考https://bbs.fit2cloud.com/t/topic/4165 mac m1用户,根据github的以下回复,成功绑定域名api 如果你想调用本地的ollama 中的大模型,域名试试:…

Java进阶(vue基础)

目录 1.vue简单入门 ?1.1.创建一个vue程序 1.2.使用Component模板(组件) 1.3.引入AXOIS ?1.4.vue的Methods(方法) 和?compoted(计算) 1.5.插槽slot 1.6.创建自定义事件? 2.Vue脚手架安装? 3.Element-UI的…

B站pwn教程笔记-3

栈知识、部分保护措施 GDB显示的栈地址有时候并不是可靠的地址,gdb也是用特殊的进程映像来拿地址的。且gdb默认关闭栈地址随机化。但是,偏移量是没有错误的。目前还没学到咋解决 第一个栈帧是main函数栈帧,之前的一些系统函数什么的没有栈帧…

论文笔记(七十二)Reward Centering(四)

Reward Centering(四) 文章概括摘要附录A 伪代码 文章概括 引用: article{naik2024reward,title{Reward Centering},author{Naik, Abhishek and Wan, Yi and Tomar, Manan and Sutton, Richard S},journal{arXiv preprint arXiv:2405.09999…

【Python量化金融实战】-第1章:Python量化金融概述:1.1量化金融的定义与发展历程

本小节学习建议:掌握Python编程、统计学(时间序列分析)、金融学基础(资产定价理论)三者结合,是进入量化领域的核心路径。 👉 点击关注不迷路 👉 点击关注不迷路 文章目录 1.1 量化金…

C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载

下载地址<------完整源码 在数字化转型加速的背景下&#xff0c;企业应用系统对智能服务的需求日益增长。DeepSeek作为先进的人工智能服务平台&#xff0c;其自然语言处理、图像识别等核心能力可显著提升业务系统的智能化水平。传统开发模式下&#xff0c;C#开发者需要耗费大…

Para-Lane: 首个真实世界多车道数据集,目的评估自动驾驶系统中的新型视角合成能力。

2025-02-22&#xff0c;阿里巴巴集团菜鸟自动驾驶实验室和百度研究院共同创建了一个名为 Para-Lane 的真实世界多车道数据集。该数据集目的评估自动驾驶系统中的新型视角合成&#xff08;NVS&#xff09;能力&#xff0c;通过提供大量真实世界的数据&#xff0c;弥补了现有合成…

[算法--前缀和] 一维前缀和

目录 1. 前缀和: 是一种对暴力求解的优化.2. 前缀和? 如何利用前面的计算结果提高效率?3. 如何预处理前缀和数组(如何让处理前缀和数组的复杂度是O(N))?接下来, 我们开启一个新的专题 -> 前缀和, 第一道是模板题, 一维前缀和 1. 前缀和: 是一种对暴力求解的优化. 前缀和…

《零基础学会!如何用 sql+Python 绘制柱状图和折线图,数据可视化一看就懂》

在数据驱动的时代&#xff0c;MySQL 是最常用的关系型数据库管理系统之一&#xff0c;广泛应用于各类数据存储和处理场景。数据分析的过程不仅仅是收集数据&#xff0c;还包括数据的清洗、转换、查询以及最终的报告和可视化。在本文中&#xff0c;我们将通过实际案例来介绍如何…

【算法系列】归并排序详解

文章目录 归并排序详解1. 基本原理1.1 分治法策略1.2 归并排序步骤1.3 图解示例 2. 时间复杂度与空间复杂度2.1 时间复杂度2.2 空间复杂度 3. 稳定性4. Java 实现示例5. 归并排序的优点与缺点5.1 优点5.2 缺点 6. 总结 归并排序详解 归并排序&#xff08;Merge Sort&#xff0…

Vue的项目创建以及项目目录与组合式API

一.创建Vue 1.Vue-CLI:创建Vue的脚手架工具 2.Create-vue&#xff1a;是Vue官方提供的脚手架之一,底层采用官方自主研发的vite,快捷&#xff0c;开发方便。 3.准备工作:系统中需要安装nodejs环境&#xff0c;在该环境中提供npm包管理器 4.创建Vue项目的命令:npm init vuela…

【学习笔记】计算机网络(四)

第4章 网络层 文章目录 第4章 网络层4.1 网络层的几个重要概念4.1.1 网络层提供的两种服务虚电路服务&#xff08;Virtual Circuit Service&#xff09;数据报服务&#xff08;Datagram Service&#xff09; 4.1.2 网络层的两个层面 4.2 网际协议 IP - IPv44.2.1 虚拟互连网络4…

DeepSeek-R1:通过强化学习激励大语言模型的推理能力

摘要 本文介绍了我们的第一代推理模型&#xff0c;DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 是通过大规 模强化学习&#xff08;RL&#xff09;训练的模型&#xff0c;在没有使用监督微调&#xff08;SFT&#xff09;这个前置步骤的情况下&#xff0c;展示了卓越的推…