陈奇网络工作室

Zabbix功能概述和体系结构介绍(理论篇)

建设工作站服务器

1、Zabbix功能概述

1.1什么是zabbix

Alexei Vladishev启动了Zabbix项目,目前处于活跃的开发状态,由Zabbix SIA提供支持。

Zabbix是一个开放源代码、分布式的企业级监视套件。

Zabbix可以监视网络和服务。 Zabbix利用灵活的报警机制,可以实现微信、短信、短信的自动报警。 Zabbix使用保存的监视数据提供监视报告,并提供图形显示。

Zabbix同时支持轮询和跟踪方法。 所有Zabbix报告都可以通过WEB界面使用配置参数访问。 可以通过Web界面实时查看互联网和服务的监视情况。 无论是小型组织还是大型企业,Zabbix都可以在无中断的配置中负责监控IT基础架构。

Zabbix是基于GPL V2协议创建和发布的,因此成本为零。 这意味着源代码是免费公开的。

此外,Zabbix公司也提供商业化的技术支持。

1.2 zabbix特性

Zabbix是一个高度集成的网络监视套件,通过一个软件包提供以下功能

数据收集

可用性和性能检测

支持跟踪和轮询( SNMP )、IPMI和JMX监控

自定义检测

按自定义间隔收集收据

通过server/proxy/agents实现分布式监视环境

灵活的阈值定义

在Zabbix中称为触发器,可以灵活地自定义存储在后端数据库中的故障阈值

高级警报配置

可以自定义警告升级、收件人和警告方法

可以通过设置宏( macro )变量来使用报警信息

使用远程命令执行自动操作( action )

实时绘图

通过内置绘图引擎实现监控数据的实时绘图

的图形显示扩展

可以自定义创建多个监视视图

网络拓扑( network maps )

自定义的面板( screen )和滑块( slide shows ),使其可以显示在dashboard页面上

报告

高级(业务)监视资源

历史数据存储库

数据存储在数据库中

历史数据可配置

集成的数据清理机制

结构简单

主机将通过添加监视设备来添加

配置一次,终身监控(除非调整或删除)

允许使用模板监视设备

使用模板

可以向模板中添加组监视

允许继承模板

自动检测网络

自动发现网络设备

自动注册代理

自动发现文件系统、NIC设备、SNMP OID等

快速的web界面

web前端是用php编写的

不妨碍访问

怎样才能做到?

审计日志

Zabbix API

通过Zabbix API提供程序级访问接口,第三方程序可以立即访问

权限系统

安全权限认证

用户可以限制允许维护的列表

功能齐全,代理易于扩展

部署到监视目标

支持Linux和Windows

二进制守护进程

C开发、高性能、低内存消耗

容易移植

能够应对复杂的环境状况

Zabbix proxy使您可以轻松创建远程监视

1.3 Zabbix功能

拓扑图监视说明:

)1)可以通过微信、短信、短信实现自动报警机制

)2)从网页上配置,可以监视状态进行观看

)3)通过SNMP协议,可以实现对打印机、路由器、交换机设备的监控

通过移植代理来监视服务器主机

通过ping或port检查方式监控IP和port

可以监视大多数系统,包括windows、Linux、unix、Solaris和Mac :

可以在主机上监视的项目如下。

CPU:CPU负载、CPU使用率

内存:内存使用率、可交换内存/虚拟内存使用率

网络:网络传输、网络故障、数据包丢失

磁盘利用率、磁盘I/O

服务:进程监控、接口服务、TCP端口连接、响应时间、dns监控、NTP监控

Log :日志监视器、文本日志、事件日志

文件:文件监控

Other :性能计数器(仅限Windows系统)

自定义报警机制:

如图所示,

如果故障在10分钟内仍未解决,可以通过邮件或邮件通知系统管理员

如果故障在15分钟内没有解决,可以通过邮件或邮件通知承运人

如果故障在30分钟内没有解决,可以通过邮件或邮件通知经理

代理Zabbix server可以通过proxy代理服务器收集被监控的监控数据,一并发送到服务器端

2、zabbix程序体系结构

体系结构图如下。

Zabbix各组件的说明:

zabbix服务器

Zabbix Server是获取代理生存状态并监视数据的核心组件。 的配置、统计信息和操作数据均通过服务器访问数据库

zabbix数据库

的所有Zabbix数据都保存在数据库中

网络图形用户界面

为了使访问Zabbix更简单,提供了web界面。 此接口是zabbix服务器的一部分,通常与服务器在同一主机上运行

注意:如果使用SQLite作为数据库,则web界面和zabbix服务器必须在同一主机上运行

代理服务器

Zabbix Proxy可以代替Zabbix Server收集性能和可用性数据。 Proxy是Zabbix部署的可选组件。 如果想分担单个Zabbix Server的负载,建议使用proxy。

代理人

zabbix代理部署在目标监视器上,用于监视本地资源和APP应用程序,并向zabbix服务器报告收集到的数据

监视流程:

用zabbix监视数据流,采取适当的措施。

首先创建主机,然后创建项目以收集数据

在item中创建触发器

用触发器创建操作

例如,如果要监视服务器的CPU负载情况,请首先创建服务器的主机条目,然后创建用于监视服务器CPU情况的item,并创建相应的触发机制。 当CPU负载达到某个阈值时,将触发操作。 此动作包括执行已配置的动作和发送邮件警告。

将这些操作设定为一个模板,想监视某台主机时,直接应用模板即可。

Zabbix各组件的结构图:

Zabbix相关术语:

相关名词说明:

主机。

要监视的网络设备(需要知道IP/DNS ) )。

主机组( host group )。

包含主机和模板的逻辑主机组。 如果主机和模板位于同一主机上,则不会链接其他模板。 主机组通常用于为不同的用户组创建访问权限

监视项目( item ) )。

要从主机收集的数据

触发器( trigger )。

表示从监视器获取的数据达到预设故障阈值的逻辑表达式

接收的监视值达到预先设定的阈值时,触发的状态从“ok”变更为“problem”,接收的监视值低于阈值时,状态保持/变更为“ok”

事件( event )。

可能会发生触发器状态更改或自动发现/代理自动注册等情况

动作(

事件发生时的默认处理步骤

操作( action )包括操作( operations,例如,发送报警)和条件(当指定的操作完成时)

报警升级( escalation ) )

操作中自定义操作的执行过程,以及发送警告/远程命令的队列

媒体。

发送警报的路线

警报( notification ) ) )。

通过媒体( media )渠道传递事件信息

远程命令( remote command )

监视主机达到特定条件( condition )后默认自动运行的命令

模板( template )

一组实体,包括监视项目、触发器、绘图、面板、应用、低级自动检测规则等,其他主机可以应用这些实体

模板加快了将监视任务部署到主机的速度,并便于批量更新监视任务。 模板已链接到主机。

应用( APP ) ) )。

监测项目逻辑分组

网络计划( scenario ) ) ) ) ) ) )。

一个或多个检查网站可用性的http请求

前端( frontend )。

Zabbix提供的web界面

Zabbix API

通过Zabbix API,可以使用JSON RPC协议创建、更新和检索Zabbix对象(如主机、监视器和绘图)并完成定制任务

zabbix服务器

Zabbix软件中心的流程。 用于连接到Zabbix代理和代理以完成监视、评估触发器、发送警告以及中央数据存储区

zabbix代理

部署在监视主机上以监视本地资源和APP应用程序的过程

Zabbix proxy

代替Zabbix server完成数据收集过程,通常用于减轻中央Zabbix server的负载

节点)

zabbix服务器的完整配置。 通常位于分布式系统中,负责监视区域

Zabbix工作流程图:

服务器

Zabbix server是Zabbix软件的核心过程。

Server通过polling和trapping收集数据,判断是否达到了阈值,并使用触发器向用户发送报警。 服务器还可以使用简单服务检查来完成远程网络服务的发现。

Server是存储所有配置、统计和操作数据的数据库,也是故障报警服务。

Zabbix server根据功能分为Zabbix server、Web GUI和数据库三个部分。

所有Zabbix配置信息都存储在数据库中,因此服务器和web GUI可以直接操作。 例如,如果使用Web界面或API创建新的监视项目,则创建的数据将插入到数据库中。 1分钟左右,Zabbix server就会查询监视项目数据表,并将查询的监视项目列表保存到自己的缓存中。 所以在Zabbix前端上进行的更改在2分钟左右就会生效。

Zabbix server作为守护进程运行。

Zabbix server的默认要求在非根帐户下运行。

如果Zabbix server和代理在同一主机上运行,建议分别在不同的用户下运行。 因为,在同一用户下运行时,代理可以访问服务器的配置文件,并可以轻松获得Zabbix Admin级别的用户,例如数据库密码。

Zabbix server已在以下平台上进行了测试:

Linux

Solaris

AIX

HP-UX

Mac OS X

FreeBSD

OpenBSD

NetBSD

SCO打开服务器

Tru64/OSF1

代理:

zabbix代理部署在受监视的主机上,用于监视本地资源和APP应用程序,包括硬盘、内存和处理器。

zabbix代理收集本地主机的运行信息并将数据发送到Zabbix server进行处理。 如果出现异常(如硬盘已满或服务进程中断),Zabbix server会自动响应并进行警告操作。

zabbix代理非常高效,因为它使用本地系统调用来完成统计信息的收集。

被动和主动检查

zabbix代理提供被动和主动的检查方式。

在被动检查模式下,代理会响应数据请求,Zabbix server或proxy会询问代理数据(如CPU load ),然后zabbix代理会将结果发送回服务器。

由于主动检查过程相对复杂,因此代理必须向Zabbix server请求监视项目列表,并将相应的值发送到server。

要选择被动还是主动,必须在监视项目类型中选择“zabbix代理”或“zabbix代理( active )”。

zabbix代理在受监视的主机上运行并由守护程序运行。

zabbix代理通常必须在非root帐户下运行。

& #039; 根&映射; #039; 在帐户下启动Zabbix agent时,会显示代理配置文件中的& #039; AllowRoot& #039; 在操作系统中创建的&amp,除非更改参数; #039; zabbix& #039; 将自动选择用户。

zabbix代理支持以下平台:

Linux

IBM AIX

FreeBSD

NetBSD

OpenBSD

HP-UX

Mac OS X

Solaris

Windows: 2000、Server 2003、XP、Vista、Server 2003和7

代理proxy

Zabbix代理( proxy )通常用于代表服务器收集监视信息并将数据发送到Zabbix服务器。 收集的数据首先存储在代理主机缓存中,然后传输到zabbix服务器。

代理是可选的,但它可以有效地减轻分布式环境中单个zabbix服务器的负载。 通过代理收集监视数据,server可以有效地减少CPU和磁盘的I/O消耗。

Zabbix代理可以对没有远程区域、分支机构或本地管理员的网络进行集中监控,并以良好的方式进行集中监控。

Zabbix代理使用独立的数据库。

注意: Zabbix proxy数据库可以使用SQLite、mysql和PostgreSQL。 如果Oracle或IBM DB2使用低级自动发现规则,则存在限制和风险。

Zabbix proxy作为守护进程运行。

Zabbix proxy一般必须在非root帐户下运行。

以“root”帐户运行时,将自动选择以前在操作系统中创建的“zabbix”用户,但不能在编译时或在配置文件中设置。

Java网关

zabbix2.0或更高版本中引入的功能。 Ava网关。 与agentd类似,但仅用于监视在Java虚拟机上运行的Java APP应用程序。 只能主动获取数据,不能被动获取数据。 该数据最终提供给服务器或代理。

Zabbix 2.0通过zabbix Java网关守护进程监视JMX APP应用程序。 zabbix Java网关是用Java编写的守护进程,zabbix Java网关使用JMXAPI请求远程相关的APP应用程序。

Java网关接受来自zabbix服务器或代理的连接。 由于在Zabbix server或proxy配置文件中指定了Java网关的IP和端口,因此每个Zabbix server或proxy只能配置一个Java网关。

更新Java网关监视项的值时,Zabbix server或代理会连接到Java网关并请求该值。 同样,Java网关不缓存值。

Zabbix server或代理可以控制通过StartJavaPollers连接到Java网关的过程。 Java网关在内部使用START_POLLERS控制选项以多线程方式启动。 在Zabbix Server端,如果一个连接请求超过Timeout设置的秒数,连接将终止,但Java gateway此时可能仍忙于从JMX计数器获取值。

StartJavaPollers建议小于或等于START_POLLERS。 如果小于或等于StartJavaPollers,则在连接到Java网关时,Java网关可能无法处理多余的线程。

如果Java网关已经在运行,则必须在服务器配置文件中指定Java网关的IP和端口。 如果使用Zabbix代理监视JMX APP应用程序,则必须在代理配置文件中指定相应的连接参数。

发件人

Zabbix sender命令行工具经常用于将性能数据发送到Zabbix server。

此工具常用于长时间运行的用户定制脚本,用于连续发送可用性和性能数据。

获取

Zabbix get用于连接到zabbix代理并从代理获取所需的信息。

详情请访问云服务器、域名注册、虚拟主机的问题,请访问西部数码代理商官方网站: www.chenqinet.cn

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3