zabbix feature & architecture & Data flow

简介:
主流的监控软件, nagios, zabbix, ganglia.
因为有项目用到zabbix, 研究一下.

3 Zabbix features

Overview

Zabbix is a highly integrated network monitoring solution, offering a multiplicity of features in a single package.

Data gathering

  • availability and performance checks
  • support for SNMP (both trapping and polling), IPMI, JMX, VMware monitoring
  • custom checks
  • gathering desired data at custom intervals
  • performed by server/proxy and by agents

Flexible threshold definitions

  • you can define very flexible problem thresholds, called triggers, referencing values from the backend database

Highly configurable alerting

  • sending notifications can be customized for the escalation schedule, recipient, media type
  • notifications can be made meaningful and helpful using macro variables
  • automatic actions include remote commands

Real-time graphing

  • monitored items are immediately graphed using the built-in graphing functionality

Web monitoring capabilities

  • Zabbix can follow a path of simulated mouse clicks on a web site and check for functionality and response time

Extensive visualisation options 扩展视图选项

  • ability to create custom graphs that can combine multiple items into a single view
  • network maps
  • custom screens and slide shows for a dashboard-style overview
  • reports
  • high-level (business) view of monitored resources

Historical data storage

  • data stored in a database
  • configurable history
  • built-in housekeeping procedure

Easy configuration

  • add monitored devices as hosts
  • hosts are picked up for monitoring, once in the database
  • apply templates to monitored devices

Use of templates

  • grouping checks in templates
  • templates can inherit other templates

Network discovery

  • automatic discovery of network devices
  • agent auto registration
  • discovery of file systems, network interfaces and SNMP OIDs

Fast web interface

  • a web-based frontend in PHP
  • accessible from anywhere
  • you can click your way through
  • audit log

Zabbix API

  • Zabbix API provides programmable interface to Zabbix for mass manipulations, 3rd party software integration and other purposes.

Permissions system

  • secure user authentication
  • certain users can be limited to certain views

Full featured and easily extensible agent

  • deployed on monitoring targets
  • can be deployed on both Linux and Windows

Binary daemons

  • written in C, for performance and small memory footprint
  • easily portable

Ready for complex environments

  • remote monitoring made easy by using a Zabbix proxy
2012/10/02 13:38

4 Zabbix overview

Architecture

Zabbix consists of several major software components, the responsibilities of which are outlined below.

Server

Zabbix server is the central component to which agents report availability and integrity information and statistics. The server is the central repository in which all configuration, statistical and operational data are stored.

Database storage

All configuration information as well as the data gathered by Zabbix is stored in a database.

Web interface

For an easy access to Zabbix from anywhere and from any platform, the web-based interface is provided. The interface is part of Zabbix server, and usually (but not necessarily) runs on the same physical machine as the one running the server.

Zabbix web interface must run on the same physical machine if SQLite is used.

Proxy

Zabbix proxy can collect performance and availability data on behalf of Zabbix server. A proxy is an optional part of Zabbix deployment; however, it may be very beneficial to distribute the load of a single Zabbix server.

Agent

Zabbix agents are deployed on monitoring targets to actively monitor local resources and applications and report the gathered data to Zabbix server.

Data flow

In addition it is important to take a step back and have a look at the overall data flow within Zabbix. In order to create an item that gathers data you must first create a host. Moving to the other end of the Zabbix spectrum you must first have an item to create a trigger. You must have a trigger to create an action. Thus if you want to receive an alert that your CPU load it too high on Server X you must first create a host entry for Server X followed by an item for monitoring its CPU, then a trigger which activates if the CPU is too high, followed by an action which sends you an email. While that may seem like a lot of steps, with the use of templating it really isn't. However, due to this design it is possible to create a very flexible setup.

架构
主要主件包含 : 
1. zabbix server, 核心组件. 集中配置, 统计, 告警, 存储AGETN传来的数据.
2. 数据库, 用于存储zabbix的数据.
3. WEB接口, 管理界面, 注意如果使用SQLite作为数据库的话, WEB接口必须和数据库在同一台服务器, 可能因为SQLite没有网络连接接口 .
4. 代理, 可选组件, 用于接受来自agent的数据, 主要用于减轻zabbix server直接接收来自大量agent的压力. 当然最终数据是集中存储到zabbix server的, proxy只是个代理.
5. 部署在被监控端, 采集监控数据, 发送给代理或直接发送给zabbix server.

数据流
例如为了得到一个服务器X的CPU超载的邮件通知, 一般需要几个步骤来部署这个监控.
1. 创建主机
2. 创建监控项
3. 创建触发器
4. 创建响应

目录
相关文章
|
Linux
Linux下常用SNMP OID
Linux下常用SNMP OID
2604 0
Linux下常用SNMP OID
|
JavaScript 前端开发 安全
怎样用Node.js搭建web服务器
本文探讨了如何使用Node.js构建高效的HTTP服务器。首先,介绍了HTTP常见请求方法,如GET、POST、PUT等。接着,展示了如何使用Node.js的`http`模块创建服务器,并根据请求方法进行不同处理,如判断GET和POST请求,以及获取GET请求参数和处理POST请求数据。最后,讨论了服务器代码的模块化管理,包括路由管理和业务逻辑拆分,以提升代码的维护性和扩展性。通过本文,读者可以掌握基础的Node.js服务器开发及模块化设计技巧。
273 0
|
9月前
|
存储 人工智能 算法
大语言模型的优化及基于Intel® Extension for Transformers 的部署实践
本次分享的主题是大语言模型的优化及基于Intel® Extension for Transformers 的部署实践,由曹慧燕分享。主要分为四个部分: 1. Intel® Extension for Transformers Overview 2. Optimizations 3. Neural Chat 4. Demo
216 1
|
存储 Kubernetes 网络协议
k8s学习-StatefulSet(模板、更新、扩缩容、删除等)
k8s学习-StatefulSet(模板、更新、扩缩容、删除等)
648 0
|
11月前
|
前端开发 JavaScript
深入理解 JavaScript 的异步编程
深入理解 JavaScript 的异步编程
120 0
|
9月前
|
人工智能 监控 测试技术
阿里云磐久服务器稳定性实践之路
阿里云服务器质量智能管理体系聚焦自研服务器硬件层面的极致优化,应对高并发交付、短稳定性周期、早问题发现和快修复四大挑战。通过“三个重构”(质量标准、开发流程、交付模式)、“六个归一”(架构、硬件、软件、测试、部件、制造)策略,实现芯片、整机和云同步发布,确保快速稳定上量。此外,全场景测试体系与智能预警、分析、修复系统协同工作,保障服务器在萌芽阶段发现问题并及时解决,提升整体质量水平。未来,阿里云将继续深化大数据驱动的质量管理,推动服务器行业硬件质量的持续进步。
|
12月前
|
搜索推荐 安全 API
|
12月前
|
JSON JavaScript Java
在Java中处理JSON数据:Jackson与Gson库比较
本文介绍了JSON数据交换格式及其在Java中的应用,重点探讨了两个强大的JSON处理库——Jackson和Gson。文章详细讲解了Jackson库的核心功能,包括数据绑定、流式API和树模型,并通过示例演示了如何使用Jackson进行JSON解析和生成。最后,作者分享了一些实用的代码片段和使用技巧,帮助读者更好地理解和应用这些工具。
670 0
在Java中处理JSON数据:Jackson与Gson库比较
|
监控 安全 数据可视化
Grafana 安全性和权限管理
【8月更文第29天】Grafana 是一个广泛使用的开源平台,用于可视化和监控时间序列数据。随着 Grafana 在生产环境中的广泛采用,确保其安全性变得至关重要。本文将探讨如何配置 Grafana 的访问控制和安全设置以保护敏感数据,并提供一些具体的代码示例。
1516 2
|
存储 Prometheus 监控
当 OpenTelemetry 遇上阿里云 Prometheus
本文以构建系统可观测为切入点,对比 OpenTelemetry 与 Prometheus 的相同与差异,重点介绍如何将应用的 OpenTelemetry 指标接入 Prometheus 及背后原理以及介绍阿里云可观测监控 Prometheus 版拥抱 OpenTelemetry及相关落地实践案例。
93456 102