运维必备-监控工具Zabbix简介

Posted IT Collector

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运维必备-监控工具Zabbix简介相关的知识,希望对你有一定的参考价值。

1. 简介

1.1. zabbix介绍

    Zabbix 由 Alexei Vladishev 创建,目前由其成立的拉托维亚公司—— Zabbix SIA 积极的持续开发维护,并为用户提供技术支持服务。

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

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

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

    Zabbix 是免费的。Zabbix 是根据 GPL 通用公共许可证的第二版编写和分发的。这意味着它的源代码是免费发布的,可供公共使用。

    Zabbix的使用者包括不同行业,不同规模的企业,遍布全球,他们都选择Zabbix作为最主要的监控平台。

1.2. zabbix功能
1.2.1. 概述

Zabbix 是一种高度集成的网络监控解决方案,在单一的软件包中提供了多种功能。

1.2.2. 数据采集

    可用性和性能采集;

    支持 SNMP(包括主动轮询和被动捕获)、IPMIJMXVMware 监控;

    自定义检查;

    按照自定义的时间间隔采集需要的数据;

    通过 Server/Proxy 和 Agents 来执行数据采集。

1.2.3. 灵活的阈值定义

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

1.2.4. 高度可配置化的告警

    可以根据递增计划、接收者、媒介类型自定义发送告警通知;

    使用宏变量可以使告警通知变得更加高效有益;

    自动动作包含远程命令。

1.2.5. 实时图形

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

1.2.6. Web 监控功能

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

1.2.7. 丰富的可视化选项

    能够创建可以将多个监控项组合到单个视图中的自定义图形;

    网络拓扑图;

    以仪表盘样式展示自定义聚合图形和幻灯片演示;

    报表;

    监控资源的高层次(业务)视图。

1.2.8. 历史数据存储

    存储在数据库中的数据;

    可配置的历史数据;

    内置数据管理机制(housekeeping)。

1.2.9. 配置简单

    将被监控设备添加为主机;

    主机一旦添加到数据库中,就会采集主机数据用于监控;

    将模板用于监控设备。

1.2.10. 套用模板

    在模板中分组检查;

    模板可以关联其他模板,获得继承。

1.2.11. 网络发现

    自动发现网络设备;

    Zabbix Agent 发现设备后自动注册;

    自动发现文件系统、网络接口和 SNMP OIDs 值。

1.2.12. 快捷的 Web 界面

    基于 phpWeb 前端;

    可以从任何地方访问;

    您可以定制自己的操作方式;

    审计日志。

1.2.13. Zabbix API

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

1.2.14. 权限管理系统

    安全的用户身份验证;

    将特定用户限制于访问特定的视图。

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

    部署于被监控对象上;

    完美支持 Linux 和 Windows

1.2.16. 二进制守护进程

    为了更好的性能和更少的内存占用,采用 C 语言编写;

    便于移植。

1.2.17. 适应更复杂的环境

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

 

1.3. Zabbix架构

Zabbix 由几个主要的功能组件组成,其职责如下所示。

1.3.1. Server

Zabbix server 是 Zabbix agent 向其报告可用性、系统完整性信息和统计信息的核心组件。是存储所有配置信息、统计信息和操作信息的核心存储库。

1.3.2. 数据库

所有配置信息以及 Zabbix 收集到的数据都被存储在数据库中。

1.3.3. Web 界面

为了从任何地方和任何平台轻松访问 Zabbix ,我们提供了基于 web 的界面。该界面是 Zabbix server 的一部分,通常(但不一定)和 Zabbix server 运行在同一台物理机器上。

1.3.4. Proxy

Zabbix proxy 可以替 Zabbix server 收集性能和可用性数据。Zabbix proxy Zabbix 环境部署的可选部分;然而,它对于单个 Zabbix server 负载的分担是非常有益的。

1.3.5. Agent

Zabbix agents 部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix server

1.3.6. 数据流

此外,重要的是,需要回过头来了解下 Zabbix 内部的整体数据流。首先,为了创建一个采集数据的监控项,您就必须先创建主机。其次,必须有一个监控项来创建触发器。最后,您必须有一个触发器来创建一个动作,这几个点构成了一个完整的数据流。因此,如果您想要收到 CPU load it too high on Server X 的告警,您必须首先为 Server X 创建一个主机条目,其次创建一个用于监视其 CPU 的监控项,最后创建一个触发器,用来触发 CPU is too high 这个动作,并将其发送到您的邮箱里。虽然这些步骤看起来很繁琐,但是使用模板的话,其实并不复杂。也正是由于这种设计,使得 Zabbix 的配置变得更加灵活易用。

2. 定义

部分统一解释一些Zabbix常用术语的含义。

2.1. 主机(host

- 你想要监控的联网设备,有IP/DNS

2.2. 主机组(host group)

- 主机的逻辑组;可能包含主机和模板。一个主机组里的主机和模板之间并没有任何直接的关联。通常在给不同用户组的主机分配权限时候使用主机组。

2.3. 监控项(item

- 你想要接收的主机的特定数据,一个度量/指标数据。

2.4. 值预处理(value preprocessing

- 转化/预处理接收到的指标数据 存入数据库之前。

2.5. 触发器(trigger

- 一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式

当接收到的数据高于阈值时,触发器从“OK”变成“Problem”状态。当接收到的数据低于阈值时,触发器保留/返回“OK”的状态。

2.6. 事件(event

- 一次发生的需要注意的事情,例如触发器状态改变、发现/监控代理自动注册

2.7. 事件标签(event tag

- 提前设置的事件标记可以被用于事件关联,权限细化设置等。

2.8. 事件关联(event correlation

- 自动灵活的、精确的关联问题和解决方案

比如说,你可以定义触发器A告警的异常可以由触发器B解决,触发器B可能采用完全不同的数据采集方式。

2.9. 异常(problems

- 一个处在“异常”状态的触发器

2.10. 异常更新(problem update

- Zabbix提供的问题管理选项,例如添加评论、确认异常、改变问题级别或者手动关闭等。

2.11. 动作(action

- 预先定义的应对事件的操作

一个动作由操作(例如发出通知)和条件(什么时间进行操作)组成

2.12. 升级(escalation

- 一个在动作内执行操作的自定义方式; 发送通知/执行远程命令的顺序安排。

2.13. 媒介(media

- 发送告警通知的方式;传送途径

2.14. 通知(notification

- 关于事件的信心,将通过选设定的媒介途径发送给用户。

2.15. 远程命令(remote command

- 一个预定义好的,满足特定条件的情况下,可以在被监控主机上自动执行的命令。

2.16. 模版(template

- 一组可以被应用到一个或多个主机上的实体(监控项,触发器,图形,聚合图形,应用,LLDWeb场景)的集合

模版的应用使得主机上的监控任务部署快捷方便;也可以使监控任务的批量修改更加简单。模版是直接关联到每台单独的主机上。

2.17. 应用(application

- 一组监控项组成的逻辑分组

2.18. Web场景(web scenario

- 检查网站可浏览性的一个或多个HTTP请求

2.19. 前端(frontend)

- Zabbix提供的web界面

2.20. Zabbix API

- Zabbix API允许用户使用JSON RPC协议来创建、更新和获取Zabbix对象(如主机、监控项、图形和其他)信息或者执行任何其他的自定义的任务

2.21. Zabbix server

- Zabbix监控的核心程序,主要功能是与Zabbix proxiesAgents进行交互、触发器计算、发送告警通知;并将数据集中保存等

2.22. Zabbix agent

- 部署在监控对象上的,能够主动监控本地资源和应用的程序

2.23. Zabbix proxy

- 一个帮助Zabbix Server收集数据,分担Zabbix Server的负载的程序

2.24. 加密(encryption

- 支持Zabbix组建之间的加密通讯(server, proxy, agent, zabbix_sender zabbix_get 程序) 使用TLSTransport Layer Security )协议。

摘自:zabbix官方网站:https://www.zabbix.com

以上是关于运维必备-监控工具Zabbix简介的主要内容,如果未能解决你的问题,请参考以下文章

介绍两款运维监控系统Pinpoint和Zabbix

Linux 运维工程师必备的80个监控工具(第30-80个)

自动化运维工具之Zabbix分布式监控应用

北大青鸟设计培训:系统运维需要掌握哪些工具?

监控工具Zabbix简介

开源的linux运维监控工具都有哪些