Zabbix的功能介绍和常用术语

Zabbix的功能介绍和常用术语

1. Zabbix 介绍

Zabbix 是一种企业级的分布式开源监控解决方案。

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

Zabbix 支持轮询和被动捕获。所有的 Zabbix 报告、统计信息和配置参数都可以通过基于 Web 的前端页面进行访问。在经过适当的配置后,Zabbix 可以在监控 IT 基础设施方面发挥重要作用。

2. Zabbix 功能

数据采集

  • 可用性和性能采集;
  • 支持 SNMP(包括主动轮询和被动捕获)、IPMI、JMX、VMware 监控;
  • 自定义检查;
  • 按照自定义的时间间隔采集需要的数据;
  • 通过 Server/Proxy 和 Agents 来执行数据采集。

灵活的阈值定义

  • 可以定义非常灵活的告警阈值,称之为触发器,触发器从后端数据库获得参考值。

高度可配置化的告警

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

实时图形

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

Web 监控功能

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

丰富的可视化选项

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

历史数据存储

  • 存储在数据库中的数据;
  • 可配置的历史数据;
  • 内置数据管理机制(housekeeping)。

配置简单

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

套用模板

  • 在模板中分组检查;
  • 模板可以关联其他模板,获得继承。

网络发现

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

快捷的 Web 界面

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

Zabbix API

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

权限管理系统

  • 安全的用户身份验证;
  • 将特定用户限制于访问特定的视图。

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

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

二进制守护进程

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

适应更复杂的环境

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

3. zabbix常见监控参数

不管是zabbix,还是其他的开源监控,说到底都是在做五件事:

  1. 数据的采集
  2. 把采集过来的数据存储
  3. 把存储起来的数据进行分析
  4. 把分析的结果使用图标展示
  5. 把有问题的地方采用各种方式告警。

zabbix常见监控参数

1.监控web服务

  • web服务是否正常
  • 业务(网页是否能访问、是否可以完成下订单、注册用户)
  • 服务的响应时间
  • 服务的并发量(活动用户、非活动用户)

2.监控数据库

  • 监控磁盘使用情况
  • 监控内存使用情况
  • 查看并发连接数量
  • 检查数据库执行增删改查的频率
  • 检查主从状态
  • 检查数据库的备份情况

3.服务器监控

  • 磁盘
    • 使用率
    • inode数
    • block数
    • 读写速率
  • CPU
    • 监控cpu负载
    • 监控使用cpu资源最多的进程
  • 内存
    • 使用率
    • 缓冲区
    • 缓存区
    • 交换分区大小
  • 网络
    • 监控每个网卡的上先行速率
    • 监控占用网络带宽见多的进程
    • 监控数据包的丢包
    • 监控网络数据包的阻塞情况
  • 进程
    • 当前系统中的总进程数
    • 监控特定的程序的进程数

4. 监控的分类

1.硬件监控——路由器、交换机、防火墙
2.系统监控——cpu、内存、磁盘、网络、进程、tcp
3.服务监控——nginx、php、tomcat、redis、memcache、mysql
4.web监控——响应时间、加载时间、渲染时间、页面是不是200
5.日志监控——ELK、(收集、存储、分析、展示)日志
6.安全监控——firewalld、WAF(nginx+lua)、安全宝、牛盾云、安全狗

5. Zabbix常用的术语

  • 主机(host): 要监控的网络设备,可由IP或DNS名称指定。
  • 主机组(host group): 主机的逻辑容器,可以包含主机和模板,但同一个组内的主机和模版不能互相链接,主机组通常在给用户或用户组指派监控权限时使用。
  • 监控项(item): 一个特定监控指标的相关的数据,这些数据来自于被监控对象,item是zabbix进行数据收集的核心,没有item,就没有数据,每个item都由“key”进行标识。
  • 触发器(trigger): 一个表达式,用于评估某监控对象的某特定item内所接收到的数据是否在合理范围内,即阈值;接收到的数据量大于阈值时,触发器状态将从“OK”转变为“Problem”,当数据量再次回到合理范围时,其状态将从“Problem”转换回“OK”。
  • 事件(event): 即发生的一个值得关注的事件,如触发器的状态转变,新的agent或重新上线的agent的自动注册等。
  • 动作(action): 指对于特定事件事先定义的处理方法,通过包含操作(如发送通知)和条件(何时执行操作)。
  • 报警升级(escalation): 发送警报或执行远程命令的自定方案,如每隔多长时间发送一次警报,共发送多少次。
  • 媒介(media): 发送通知的手段或通道,如Email,Jabber或SMS等。
  • 通知(motification): 通过选定的媒介向用户发送的有关某事件的信息。
  • 远程命令(remote command):预定义的命令,可在被监控主机处于某特定条件下时自动执行。
  • 模版(template): 用于快速定义被监控主机的预设条目集合,通常包含了item,trigger,graph,screen,application,low-level discovery rule,模板可以直接链接到单个主机。
  • 应用(application): 一组item的集合
  • web场景(web scenario): 用于检测web站点可用性的一个或多个HTTP请求。
  • 前端(frontend): zabbix的web接口。

6. zabbix的组件

Zabbix_server:服务端守护进程

  • Zabbix监控的核心程序,主要功能是与Zabbix proxies和Agents进行交互、触发器计算、发送告警通知;并将数据集中保存等。负责接收agent发送的报告信息的核心组件,所有配置、统计数据及操作数据均由其组织进行

Zabbix_agentd:agent守护进程

  • 部署在监控对象上的,能够主动监控本地资源和应用的程序,部署在被监控主机上,负责收集本地数据并发往Server端或者Proxy端

Zabbix_proxy:代理服务器,可选

  • 一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序,可选组件,常用于分布式监控环境中,代理Server收集部分被监控数据并统一发往Server端

Zabbix_database:存储系统,MySQL/PGSQL

  • 专用于存储所有配置信息,以及有zabbix收集的数据

Zabbix_web:Web GUI

  • zabbix的GUI接口,通常与server运行在同一台机器上

Zabbix_get:命令行工具,测试向agent端发起数据采集请求

Zabbix_sender:命令行工具,测试向server端发送数据

Zabbix_java_gateway:java网关

7. zabbix的两种监控模式

Zabbix_agent检测分为两种模式:主动模式和被动模式

被动模式,也是默认的Zabbix监控模式,被动模式是相对于proxy来说的。proxy主动发送数据就是主动模式,proxy等待server的请求再发送数据就是被动模式。

使用zabbix主动模式的好处:可以监控不可达的远程设备;监控本地网络不稳定区域;当监控项目数以万计的时候使用代理可以有效分担zabbix server的压力;简化zabbix分布式监控的维护。

被动模式:由server向agent发出指令获取数据, 即agent被动的去获取数据并返回给server,server周期性的向agent 索取数据, 这总模式的最大问题就是会加大server的工作量, 在数百台服务器的环境下server不能及时获取到最新数据, 但这也是默认的工作方式。

主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy
被动:server向agent请求获取监控项的数据,agent返回数据。

被动模式:默认为zabbix_agent被动模式

主动模式与被动模式主要是站在zabbix_agent身份来说

1.被动模式(zabbix-server轮询检测zabbix-agent)
2.主动模式(zabbix-agent主动上报给zabbix-server)

zabbix主动模式与被动模式选择
1.当(Queue)队列中有大量的延迟监控项
2.当监控主机超过300+ ,建议使用主动模式

8. Zabbix和Prometheus的区别

Prometheus Zabbix
发行时间 2016 2012
开发语言 go c+php
性能 支持万为单位 上限约10000节点
社区支持 相对不如zabbix,但人数与日俱增 应用广泛,支持较成熟,遇到的问题都能搜索到
容器支持 不仅支持swarm原生集群,还支持kubernetes容器集群的监控,是目前容器监控最好的解决方案 Zabbix出现得比较早,当时容器还没有诞生,自然对容器的支持也比较差
企业使用 基本上使用kubernetes与容器的企业,Prometheus是最好的选择 在传统监控系统中,尤其是在服务器相关监控方面,占据绝对优势
部署难度 只有一个核心Server组件,一条命令便可以启动 多种系统,多种监控信息采集方式

猜你喜欢

转载自blog.csdn.net/weixin_51867896/article/details/125242094