zabbix agent:与Zabbix agent进行通信,实现数据的采集

  • 主动检查

  • 被动检查

agent主机名,agent.ping(agent可用性),agent版本

os最大打开文件数,os最大进程数

日志监控:

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]

log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>]

网络监控:

检查DNS服务是否开启,

DNS查询net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]

Number of out-of-window collisions.

List of network interfaces. Used for low-level discovery.

网络接口上的出入站流量统计,TCP,UDP端口是否LISTEN,是否可以与指定端口建立TCP,UDP连接,服务是否允许以及性能(ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet )

进程监控:

进程CPU利用率,进程使用的内存,进程数

传感器监控:

sensor[device,sensor,<mode>]

系统监控:

启动时间;发现CPU(检测到的 CPU/CPU 核心列表);中断;CPU负载;CPU数;CPU利用率;系统主机名;CPU信息(前频率,最大频率,模型或供应商);PCI 或 USB 设备列表;MAC 地址列表;系统时间;在主机上运行指定命令;软件架构信息;操作系统信息;已安装软件包列表;交换(从设备到内存,从内存到设备)统计信息;交换空间大小,以字节或占总量的百分比表示;系统识别;系统运行时间;用户数量

system.cpu.switches

system.cpu.intr 

system.hw.chassis[<info>]:底盘信息。

system.stat[resource,<type>]:统计 resource:内核线程状态 ,内存,页面,故障,cpu,磁盘

虚拟文件系统:

块设备及其类型列表;磁盘读取,写入统计信息;目录条目计数(绝对路径);目录大小;检查文件是否存在;在文件中查找字符串(仅返回第一个匹配的行);文件大小;文件时间信息;已挂载文件系统及其类型的列表;磁盘空间以字节或占总量的百分比表示

vfs.file.cksum[file] 文件校验和,由 UNIX cksum 算法计算得出

vfs.file.md5sum[file]文件的MD5 校验和

vfs.fs.inode[fs,<mode>]inode 的数量或百分比

虚拟机:

内存大小以字节或占总量的百分比表示

WEB监控:

获取网页内容;在网页上查找字符串

ZABBIX:

在 Zabbix 服务器或代理上远程延迟的队列中监控项的数量;返回一组 Zabbix 服务器或代理的内部指标

win特用:

网卡列表;Windows性能计数器的值;具体进程的各种信息; Windows服务列表;有关服务的信息;执行WMI查询并返回第一个选定的对象;虚拟空间大小

SNMP:主要用于网络设备(如路由器、交换机、服务器、打印机等)- Zabbix服务器初始化配置时必须具有SNMP支持

OID?

IPMI:主要用于服务器和其他计算设备,允许系统管理员在操作系统未启动的情况下监控和管理系统的状态和健康。

简单检查:常用于检查远程未安装Zabbix agent的服务

通过ICMP ping,检测主机的可访问性;丢失数据包的百分比;ICMP ping响应时间;检测服务是否正在运行并且接受TCP,UDP连接;检测TCP,UDP服务性能;

虚拟机还有许多检测项

可计算监控项:所有计算都由Zabbix服务器完成,与Zabbix agent或proxy执行的计算无关

有触发器,为啥还要可计算监控项?

内部检查:可以监控Zabbix server或Zabbix proxy的运行情况,由Zabbix轮询器处理

Zabbix server 或 Zabbix proxy进程启动时间;存储在HISTORY,HISTORY_LOG,HISTORY_STR,HISTORY_TEXT,HISTORY_UINT表中的数量值;主机上启用的监控项的数量;主机上启用的不受支持的监控项数量;当前主机的维护状态;Zabbix frontend中主机所有配置接口的详细信息;已监控主机数量。。。

外部检查:Zabbix server通过 运行shell脚本 或是二进制文件执行的检查。然而当主机是通过Zabbix proxy监控时,外部检查则由Zabbix proxy执行,不需要agent

script[<parameter1>,<parameter2>,...]

Zabbix server将查找外部脚本位置的目录(Zabbix server配置文件 中'ExternalScripts'的参数),然后执行该命令。该命令将以Zabbix用户执行,因此任何访问权限或环境变量都应该在包装器脚本中处理,并且该命令的权限应允许该用户执行它。只有指定目录中的命令才可执行。

聚合检查:通过直接从数据库中查询监控信息,然后进行信息聚合

例子:

grpsum["MySQL Servers","vfs.fs.size[/,total]",last] 'MySQL Servers'主机组的磁盘总空间

grpavg[["Servers A","Servers B","Servers C"],system.cpu.load,last] 多个主机组中所有主机CPU负载的平均值

数据库监控:Zabbix不直接连接数据库,而是使用ODBC接口和在ODBC中设置的驱动程序

需要unixODBC

可以输入sql查询语句,获取数据库内容

从属监控项

?

HTTP代理:HTTP监控项检查由Zabbix服务器执行。但是,当主机由Zabbix proxy监控时,HTTP项检查由proxy执行,HTTP 监控项检查不需要任何 agent 运行在被监控的主机上

WEB场景

场景的下载速度;场景的失败步骤;场景的最近错误消息;

步骤的下载速度;步骤的响应时间;步骤的响应代码