监控 - Zabbix
00 分钟
2024-6-26
Created
Jun 6, 2024 03:36 AM
Tags

监控工具

曾使用过的软件

Cacti

notion image

Nagios

notion image

Zabbix

简介

Zabbix 是一个基于 WEB 界面提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
Zabbix 能监视各种网络参数,保证服务器系统的安全运营,并提供灵活的通知机制以让系统管理员快速定位解决存在的各种问题。
Zabbix 由两部分(或三部分)构成 —— Zabbix Server + Zabbix Agent (+ Zabbix proxy);
Zabbix Server 可以通过 SNMP 、Zabbix Agent、ping、端口监视 等方法提供对远程服务器和网络状态的监视,数据收集等功能。它可以运行在 Linux,Solaris,HP-UX,AIX,DreeBSD,OSX等诸多平台上。

主要特点

1、安装与配置简单,学习成本低
2、支持多语言(包括中文)
3、免费开源
4、自动发现服务器与网络设备
5、分布式监视以及 WEB 集中管理功能
6、可以无 Agent 监视
7、用户安全认证和柔软的授权方式
8、通过 WEB 界面设置或查看监视结果
9、E-mail 等通知功能

主要功能

  • CPU 负荷
  • 内存使用
  • 磁盘使用
  • 网络状况
  • 端口监视
  • 日志监视

工作原理

notion image

运行流程

被监控的主机安装 Zabbix-Agent ,Agent 定期收集各项数据,并发送到 Zabbix-server 。Server 将数据存储到数据库中,Zabbix-web 管理页面根据数据在前端进行展现和绘图。

数据收集类型

Agent 的默认工作模式为 被动模式
  • 主动模式
    • 在主动模式中,Zabbix Agent 自己主动从配置中读取需要监控的项目,并定期向 Zabbix Server 或 Proxy 发送这些项目的数据。Zabbix Server 或 Proxy 只需接收数据,不需主动请求。
    • 此模式的特点:
      • 数据流向:从 Agent 到 Server 。
      • 连接发起:由 Agent 主动发起。
      • 配置稍复杂:需要在 Agent 配置哪些项目是主动的,并设置 Server 或 Proxy 的地址。
      • 防火墙限制:通常更容易通过防火墙,因为连接由内(Agent)向外(Server 或 Proxy)发起。
  • 被动模式
    • 在被动模式中,Zabbix 服务器或代理(proxy)会主动向被监控的设备(agent)请求需要的数据。被监控设备配置了 Zabbix Agent,当 Zabbix 服务器或代理需要数据时,它会向该 Agent 发送请求,Agent 收到请求后将收集信息并返回数据。
    • 此模式的特点:
      • 数据流向:从 Agent 到 Server 。
      • 连接发起:由 Zabbix Server 或 Proxy 主动发起 。
      • 配置简单:Agent 只需允许来自某个 IP 地址的连接。
      • 防火墙限制:可能需要在防火墙上开放 Agent 监听的端口,以允许 Server 或 Proxy 的连接。
 
📢
使用情景
  • 被动模式:适用于网络环境较为简单,或者对安全要求不是很高的场景,因为它需要Zabbix Server 能直接访问到 Agent 。
  • 主动模式:适合那些网络环境复杂或者对出站连接控制较为严格的环境,也适合那些希望减少在 Zabbix Server 上处理数据请求负载的场景。
当 queue 队列中有大量的延迟监控项、监控主机超300+,建议用主动模式

主动模式通信过程

Agent 首先向 Active Server 配置的 IP 请求获取 Active items,获取并提交 Active items 数据交给Server 或 Proxy
在 Zabbix 的配置文件中,有个 RefreshActiveChecks 频率选择,默认如果获取失败,每隔60秒进行一次重试
1、Agent 开启 TCP 连接
2、Agent 请求 items 列表
3、Server 返回 items 列表
4、Agent 处理响应,关闭 TCP 连接
5、Agent收集数据,再建立 TCP 连接
6、主动将根据 items 表收集到的数据提交给 Server / Proxy
7、Server 端处理数据,并返回响应状态
8、关闭 TCP 连接

被动模式通信过程

1、Server 端打开 TCP 连接
2、发送请求给 Agent
3、Agent 接收请求并且收集数据响应
4、Server 端收到并处理数据
5、关闭 TCP 连接

相关笔记:
📊
实验八 部署 Zabbix 监控
上一篇
Linux 基础知识 往期汇总
下一篇
<K8S> vol. 01 - kubernetes 组件