Zabbix理论知识

Zabbix

什么是Zabbix?

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。

Zabbix作用

Zabbix能够监视各种服务器的健康性、网络的稳定性以及各种应用系统的可靠性。当监控出现异常时,Zabbix通过灵活的告警策略,可以为任何事件配置基于邮件、短信、微信等告警机制。

Zabbix特性:

可以通过基于Zabbix提供的web界面进行配置和操作,基于web的前端页面还提供了出色的报告和数据可视化功能。

Zabbix构成

Zabbix由两部分构成:Zabbix server与可选组件Zabbix agent。

Zabbix server可以通过SNMP、Zabbix agent、Ping、端口监视等方法提供对远程服务器/网络状态的监视、数据收集等功能,它可以运行在Linux、Solaris、HP-UX、AIX、Free BSD、Open BSD、OSX等平台上。

Zabbix优点及缺点

优点:Zabbix解决了cacti没有告警的不足,也解决了nagios不能通过web配置的缺点,同时还支持分布式部署。

缺点:消耗资源比较多,监控主机过多时,可能会出现监控超时、告警超时等现象。(解决方法:提高硬件性能,改变Zabbix监控模式等)

Zabbix运行架构

图中展示的几个主要构成组件:

一、Zabbix应用组件

① Zabbix Server

Zabbix的核心组件,是所有配置信息,统计信息和操作数据的核心存储器。主要负责接收客户端发送的报告和信息,同时,所有配置、统计数据及配置操作数据均由其组织进行。

② Zabbix Database Storage

主要用于存储数据,所有配置信息和Zabbix收集到的数据都被存储在数据库中。常用的存储设备有MySQL、Oracle、SQLite等。

③ Zabbix Web界面

这是Zabbix提供的GUI接口,通常(但不一定)与Zabbix Server运行在同一台物理机器上。

④ Zabbix Proxy代理服务器

这是一个可选组件,常用于分布监控环境中,代理Server可以替Zabbix Server收集性能和可用性数据,汇总后统一发往Zabbix Server端。

⑤ Zabbix Agent监控代理

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

二、Zabbix服务进程

根据功能和用途,默认情况下Zabbix包含5个进程,分别是Zabbix_agentd、Zabbix_get、Zabbix_proxy、Zabbix_sender、Zabbix_server,另外还有一个Zabbix_java_gateway是可选的功能,需要另外安装。

① Zabbix_agentd

Zabbix_agentd是Zabbix Agent监控代理端守护进程,此进程手机客户端数据,例如:CPU负载、内存、硬盘、网络使用情况等。

② Zabbix_get

Zabbix提供的一个工具,通常在Zabbix server或者Zabbix proxy端执行用来获取远程客户端信息,这其实是Zabbix Server去Zabbix Agent端拉取数据的过程,此工具主要用来进行用户排错。例如在Zabbix server端获取不到客户端的监控数据时,可以使用Zabbix__get命令测试获取客户端数据来做故障排查。

③ Zabbix_sender

Zabbix提供的一个工具,用于发送数据给Zabbix server或者Zabbix proxy,这其实是Zabbix Agent端主动推送监控数据到Zabbix Server端的过程,通常用于耗时较长的检查或者有大量主机(千台以上)需要监控的场景。此时通过主动推送数据到Zabbix server,可以在很大程度上减轻Zabbix server的压力和负载。

④ Zabbix_proxy

Zabbix Proxy的代理守护进程。功能类似Zabbix server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交或者被提交到Zabbix Server上。

⑤ Zabbix_java_gateway

Zabbix2.0之后引入的一个功能。顾名思义:Java网关,主要用来监控JAVA应用环境,类似于Zabbix_agentd进程。需要特别注意的是,它只能主动去推送数据,而不能等待Zabbix server或者Zabbix Proxy来拉取数据,它的数据最终会给到Zabbix Server或者Zabbix Proxy上。

⑥ Zabbix_Server

Zabbix server是整个Zabbix系统的核心进程。其它进程Zabbix_agentd、Zabbix_get、Zabbix_sender、Zabbix_proxy、Zabbix_java_gateway的数据最终都是提交到Zabbix server来统一进行处理。

Zabbix监控术语

主机(host)

表示要监控的一台服务器或者网络设备,可以通过IP或主机名指定。

主机组(host group)

主机的逻辑卷;它包含主机和模板,但同一个主机组内的主机和模板没有任何直接的关联;主机组通常在给用户或用户组指派监控权限时使用。

监控项(item)

表示一个监控的具体对象,例如监控服务器的CPU负载、磁盘空间等,item是zabbix进行数据收集核心,相对某个监控对象,每个item都由“key”来标识。

触发器(trigger)

其实就是一个监控阀值表达式,用于评估某监控对象收到的数据是否在合理范围内;如果接受的数据大于阀值时,触发器状态将从“OK”转变为“Problem”,当接收到的数据低于阀值时,又转变为“OK”状态。

应用集(Applications)

一组监控项组成的逻辑集合。

动作(action)

指对于监控中出现的问题事先定义的处理方法,例如发送通知,何时执行操作、执行频率等等;

报警媒介类型(media)

表示发送通知的手段,告警通知的途径,如(Email、Jabber或者是SMS等)。

模板(template)

一组可以被应用到一个或多个主机上的实体集合,一个模板通常包含了应用集、监控项、触发器、图形、聚合图形、自动发现规则、Web场景等几个项目;模板可以直接链接到某个主机。

模板是学习Zabbix的一个难点和终点,为了实现批量、自动化监控,通常会将具有相同特征的监控项汇总到模板中,然后在主机中直接应用即可,实现快速监控部署。

原文地址:https://www.cnblogs.com/liuguojun/p/12077650.html

时间: 2024-10-23 15:51:07

Zabbix理论知识的相关文章

SpringCloud 入门理论知识

SpringCloud 入门问题 微服务概念 微服务之间如何通信 SpringCloud与Dubbo的区别 SpringBoot与SpringCloud的关系 服务熔断和服务降级概念 微服务的优缺点 微服务技术栈 eureka和zookeeper的区别 微服务概述 微服务起源:微服务 微服务将单一应用程序划分为一组小服务,每个服务独立在及自己的进程中,通过Restful方式互相沟通.调用.每个服务提供单个业务功能,去耦合. 微服务与微服务架构 微服务:指系统中的一个服务应用. 微服务架构:架构风

zabbix基础知识

zabbix监控 初级 1.识别监控对象(分级) 2.理解监控对象(理论知识) 3.细分监控对象的指标 4.确定报警的基准线 预中级 1.工具化和监控分离 2.监控对象的分类 2.1硬件监控(方法:机房巡检,IPMI,SNMP) 2.2系统监控(对象:CPU,内存,IO[磁盘,网络]) 2.3服务监控(对象:Nginx,Tomcat,Mysql,RabbitMQ,OpenStack) 2.4日志监控(方法:Elastic Stack) 2.5网络监控(方法:第三方,Smokeping) 2.6A

TestNG学习-001-基础理论知识

此 文主要讲述用 TestNG 的基础理论知识,TestNG 的特定,编写测试过程三步骤,与 JUnit4+ 的差异,以此使亲对 TestNG 测试框架能够有一个简单的认知. 希望能对初学 TestNG 测试框架的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激! TestNG是什么?TestNG是一个灵感来自于 JUnit 和 NUnit 的一个设计用来简化广泛的测试需求的开源自动化测试框架,其引入了一些新的功能,使其功能更强大,而且易于使用,但是 TestNG 不是 JUnit 的扩展.它

堆和栈的理论知识

一.预备知识-程序的内存分配       1. 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)-由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap)-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.3.全局区(静态区)(static)-全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初

JDBC编程理论知识(1)

1.SUN公司为统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC 2.JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: (1)java.sql.*; (2)javax.sql.*; 3.JDBC在程序中的位置: 4.JDBC的六个固定步骤 1,注册数据库驱动[利用反射] 2,取得数据库连接对象Connection 3,创建SQL对象 4,执行SQL命令,并返回结果集 5,处理结果集 6,

Android初级教程对大量数据的做分页处理理论知识

有时候要加载的数据上千条时,页面加载数据就会很慢(数据加载也属于耗时操作).因此就要考虑分页甚至分批显示.先介绍一些分页的理论知识.对于具体用在哪里,会在后续博客中更新. 分页信息 1,一共多少条数据 select count(*) from blacktb; 性能低下 原因: sql解析器先查询数据字典,把*转成所有的列名和列的类型 然后把每行数据提取出来 最后统计多少行数据 select count(常量) from blacktb; 高性能的查询 不需要每行的记录,只需要行数 2,指定每页

Winsock网络编程笔记(4)----基本的理论知识

前面的笔记记录了Winsock的入门编程,领略了Winsock编程的乐趣..但这并不能算是掌握了Winsock,加深理论知识的理解才会让后续学习更加得心应手..因此,这篇笔记将记录一些有关Winsock的基本理论知识,由于是一篇笔记,鉴于看书速度有限,主要内容会慢慢地填入..错误在所难免的,希望看客更正..(*^__^*) 嘻嘻…… Winsock网络编程笔记(4)----基本的理论知识,布布扣,bubuko.com

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

ipv4理论知识2-分类编址、ip分类、网络标识、主机标识、地址类、地址块

分类编址 ipv4的体系结构中有分类编址和无分类编址(后续会介绍到),在分类编址时,ipv4地址分为A.B.C.D.E这5类.每类占用的IP比例和个数如下图: ipv4分类识别 计算机以二进制方式存储ipv4地址,在这种情况下可以和方便的写出一种算法,通过一个连续检查过程来查找出该ip地址的类别.流程图如下: 网络标识和主机标识 对于A.B.C类IP地址,都可以划分为网络标识和主机标识两部分.其中网络标识和主机标识的长度随地址类别的不同变化.网络标识和主机标识其实很好理解就相当于我们使用的电信的