Zabbix系统数据采集方法总结
转:http://www.blog.chinaunix.net/uid-9411004-id-4115731.html
老文章,直接拿来用了,官网也有最新分类,没高兴翻译
在Zabbix系统中有多达十三种数据采集方法,每种方法所使用的原理和场景也不一样。下表列出了这十三种数据采集方法的原理及适合的场景。
|
序号 |
方法名称 |
描述 |
|
1 |
通过Zabbix被监控设备代理(agent)采集数据 |
在被监控设置安装并运行zabbix被监控设备代理进程(Zabbix系统自带的一个组件。在编译配置选项带--enable-agent选项。)通过该进程收集监控项目的数据,并与Zabbix服务器或监控服务器代理(Proxy)通信,主动发送或被动接受服务器或服务器代理查询的数据采集方式。这种方法只适用于采集服务器或工作站上的监控数据,不适合采集路由器、交换机、防火墙等网络设备的监控数据。 |
|
2 |
简单检查 |
这种数据采集方法是指Zabbix服务器(也包括服务器代理)自身通过检查被监控设备的tcp端口状态或ICMP的信息来获取监控数据的数据采集方法。不需要在被监控设备上安装任何第三方软件。但是,这种方法只适合收集像服务的端口状态等状态数据,不适合采集性能方面的数据。 |
|
3 |
通过SNMP协议采集数据 |
即通过SNMP的查询和陷入进行监控数据的采集。适合对网络设备,如防火墙、交换机、路由器等的监控数据的采集。目前Zabbix系统支持SNMP v1 SNMP v2c和SNMP v3版本的协议。通过SNMP协议采集数据不需要在被监控设备上安装任何第三方软件,但是需要配置和开启SNMP服务,并允许监控服务器查询。这个是我们目前使用比较多的数据采集方法。缺点是,其通信协议走的UDP协议,传输为不可靠传输,所以存在丢数据的现象。同时,MIB库一般是跟被监控设备有关,不适合监控自定义的项目。 |
|
4 |
Zabbix系统内部数据采集 |
Zabbix系统内部数据采集方法就是采集和监控Zabbix系统自身状态和性能数据的方法。Zabbix系统内部数据采集方法是由Zabbix服务器端通过计算获取的,所以这种数据采集方法不需要安装任何的客户端。这个数据采集方法只适用于Zabbix服务器自身的监控,不适用其它设备和主机。主要用于监控Zabbix系统自身的问题。 |
|
5 |
Zabbix陷入 |
Zabbix陷入是指在被监控主机上定时的执行特定的程序或命令,主动向Zabbix系统的服务器端或服务器代理端发送被监控项目的数据的数据采集方法。因此,Zabbix陷入是一种主动模式的数据采集方法,即由被监控主机定时或周期的向Zabbix系统的服务器端或服务器代理端发送所采集到的数据。这个数据采集方法一般只适用于服务器、工作站等我们可以在其上安装和部署脚本程序的设备。这个数据采集方法可以采集我们自己定义的个性化的监控项目。缺点是需要自己编写脚本和程序,所以对编程能力有一定的要求。 |
|
6 |
数据聚合 |
所谓数据聚合(在Zabbix前台的数据采集型中称之为Aggregate Checks)是指并不直接从被监控主机上采集监控数据,而是指根据已定义的监控项目上采集的数据通过一定的计算方法复合出新的监控项目的数据。适合于跨多个被监控设备的数据汇总计算,以生成新监控项目。 |
|
7 |
通过脚本采集数据 |
这种数据采集方法其实很简单,即由Zabbix服务器端进程根据配置信息,按计划地执行指定的脚本程序或命令,然后俘获脚本程序或命令的输出内容为对应监控项目的值。这种方法也要求有一定的编程能力。同时,因为脚本是在Zabbix服务器端执行的,所以要求被监控设备要给Zabbix服务器端一定的授权,存在一定的安全风险。 |
|
8 |
数据库监控 |
数据库监控采集方法的原理就是,Zabbix服务器进程直接通过ODBC接口技术,查询各种不同类型的数据库里的数据,以采集需要的数据内容。由此我们可以看出,数据库监控是一种通过直接操作被监控系统数据库的方法来采集数据的。因此,这种数据采集方法可以采集应用层面的性能数据,可以监控个性化的项目。同时,因为这个方法是使用了ODBC技术,所以它可以支持的数据库种类非常多,几乎支持市场上主流的数据库。缺点是,Zabbix系统中只能支持的SQL语句,不能嵌套。 |
|
9 |
通过IPMI代理采集数据 |
智能平台管理接口(IPMI,Intelligent Platform Management Interface),是管理基于Intel架构的企业系统中所使用的外围设备所采用的一种工业标准。通过这种方法采集数据的优点是:它可以采集到其它方法无法采集到的硬件状态信息,例如CPU温度、风扇转数等等。缺点是,需要被监控硬件能够支持。而这个一般在购买服务器(这种方法一般只适用于服务器)时是需要单独购买控制卡的。 |
|
10 |
通过SSH协议采集数据 |
通过SSH协议采集的原理很简单,zabbix服务器端或服务器代理端根据配置,使用SSH协议连接到被监控主机上,然后在被监控主机上执行用户配置的命令序列或者指定的脚本,Zabbix服务器端或服务器代理端捕获被执行的命令序列或脚本程序所返回的结果作为被监控项目所采集的数据。所以,这种方法可以采集到我们所需要的个性化的数据。缺点是需要有一定的编程能力,以及被监控设备和Zabbix服务器之间需要通过公钥私钥验证。 |
|
11 |
通过TELNET协议采集数据 |
与“通过SSH协议采集数据”方法是类似的,只是这种方法走的是TELNET协议,所以安全要更低。 |
|
12 |
通过JMX协议采集数据 |
JAVA管理扩展(JMX,Java Management Extensions)是一个可作为应用程序、设备和系统等植入管理功能的框架。简单地说,JMX框架在不对现有的应用做修改的情况下植入到现有的应用中,以对现有的应用的运行情况进行管理。这种方法一般只适用于采集JAVA应用的数据,而不太适合采集系统级的甚至硬件级的监控数据。要求被监控设备上必须安装JAVA环境,同是启动相应的服务。 |
|
13 |
通过计算的方法采集监控数据 |
通过计算的方法获取监控数据,顾名思义就是将现有的多个被监控项目上所采集的数据进行一定的计算,从而获取新的数据的数据采集方法。这种数据采集方法与“数据聚合”有相同之处也有不同之处,相同之处是这两个方法本质上都是对现有的监控项目所采集到的数据进行复合计算,以获得新的需要监控的数据。不同之处是,这个方法一般只针对单台被监控设备内部不同项目的数据进行计算,不跨主机计算。这种方法我们目前有少量在使用。 |
Zabbix系统数据采集方法总结的更多相关文章
- python自动统计zabbix系统监控覆盖率
脚本主要功能: 1)通过zabbix api接口采集所有监控主机ip地址: 2)通过cmdb系统(蓝鲸)接口采集所有生产主机IP地址.主机名.操作系统.电源状态: 3)以上2步返回数据对比,找出未监控 ...
- Android获取系统时间方法的总结
Android获取系统时间方法的方法有很多种,常用的有Calendar.Date.currentTimeMills等方法. (1)Calendar Calendar获取系统时间首先要用Calendar ...
- 重新格式化hdfs系统的方法
重新格式化hdfs系统的方法: (1)查看hdfs-ste.xml <span style="font-size:18px;"><property> < ...
- tar备份系统的方法
下面是备份系统的方法: 然后打开终端,输入以下命令: 1.成为根用户: sudo su 2.转到根目录: cd / 然後,下面就是我用来备份我的系统的完整的命令:tar -cvpzf /med ...
- Method Swizzle黑魔法,修改 ios 系统类库方法 SEL IMP
Method Swizzle黑魔法,修改 ios 系统类库方法 版权声明:本文为博主原创文章,未经博主允许不得转载. 一般来说,系统提供的方法已经足够开发了,但是有的时候有些需求用普通方法不好做. ...
- Hadoop之——又一次格式化hdfs系统的方法
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352939 又一次格式化hdfs系统的方法: (1)查看hdfs-ste.xml ...
- Nlpir Parser灵玖文本语义挖掘系统数据采集
在计算机广泛应用的今天,数据采集的重要性是十分显著的.它是计算机与外部物理世界连接的桥梁.各种类型信号采集的难易程度差别很大. 灵玖软件Nlpir Parser文本语义挖掘系统以分词技术为基础,集成了 ...
- 25 Zabbix系统数据表结构介绍
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...
- 22 Zabbix系统版本升级过程
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 22 Zabbix系统版本升级过程 Zabbix升级与其他相类似系统升级一样,前提一定做好备份,备 ...
随机推荐
- JDK源码 - ArrayList
/** * ArrayList源码分析 * @author liyong * */ public class Util { @SuppressWarnings("unchecked" ...
- 【CentOS】php编译安装gd库
一.准备工作 使用之前服务器按源码最小化安装完nginx.php-fpm,没有安装gd库,下面介绍下gd库的安装. gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建 ...
- Struts2+Spring+Hibernate环境搭建
struts-2.3.20 spring-4.1.4 hibernate-4.3.8 slf4j-1.7.10 1.在MySQL中建立数据库 mysql> create database myo ...
- mybatis foreach批量插入数据:Oracle与MySQL区别
mybatis foreach批量插入数据:Oracle与MySQL不同点: 主要不同点在于foreach标签内separator属性的设置问题: separator设置为","分 ...
- Java内存管理及对Java对象管理
Java内存管理及对Java对象管理 1Java内存管理 1.1Java中的堆和栈 通常来说,人们会将Java内存氛围栈内存(Stack)和堆内存(Heap). 栈内存用来保存基本类型的变量和对象的引 ...
- [翻译].NET Shell Extensions - Shell Context Menus---.net 外壳扩展-右键菜单
我自己的前言说明: 本文原作者为 Dave Kerr,原文链接为.NET Shell Extensions - Shell Context Menus:,我是在为了完成最新需求的时候查询资料的时 ...
- CodeChef June Challenge 2017
好气啊,本来以为比赛时间还有很多,结果回家养病两天回到学校怎么比赛就结束了(雾),大约是小高考弄错了时间? 挑3道有意思的写写题解吧. Cloning 题目大意:给一个序列,每次询问两个等长区间,问区 ...
- Gym100971B Gym100971C Gym100971F Gym100971G Gym100971K Gym100971L(都是好写的题。。。) IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13, 2016
昨天训练打的Gym,今天写题解. Gym100971B 这个题就是输出的时候有点小问题,其他的都很简单. 总之,emnnn,简单题. 代码: #include<iostream> #inc ...
- [OpenCV学习笔记3][图像的加载+修改+显示+保存]
正式进入OpenCV学习了,前面开始的都是一些环境搭建和准备工作,对一些数据结构的认识主要是Mat类的认识: [1.学习目标] 图像的加载:imread() 图像的修改:cvtColor() 图像的显 ...
- 从零开始学习前端开发 — 7、CSS宽高自适应
一.宽度自适应 语法:width:100%; 注: a)块状元素的默认宽度为100% b) 当给元素设置宽度为100%时,继承父元素的宽度 c) 通常使用宽度自适应实现通栏效果 二.高度自适应 语法: ...