zabbix中文使用手册(Python调用Zabbix Api入门实战) 您所在的位置:网站首页 接口调用监控怎么设置 zabbix中文使用手册(Python调用Zabbix Api入门实战)

zabbix中文使用手册(Python调用Zabbix Api入门实战)

2023-03-24 16:41| 来源: 网络整理| 查看: 265

本文目录Python调用Zabbix Api入门实战如何通过Zabbix获取监控数据zabbix都能监控windows,linux那些东西,要详细什么是zabbixZabbix监控系统系列之二十一:监控海康威视摄像头zabbix告警配置Zabbix 触发器表达式使用规范zabbix 怎么自动处理故障zabbix agent配置如何用zabbix来监控磁盘IOPython调用Zabbix Api入门实战

Zabbix Api Zabbix具有丰富的Api功能 可通过Api添加主机组、主机、获取监控数据等 使用Python操作Zabbix Api

API使用帮助文档 ( https://www.zabbix.com/documentation/3.0/manual/api )

登录认证说明zabbix_base.py

登录结果说明

请求Zabbix进行封装

对Zabbix登录进行封装

API参考手册:( https://www.zabbix.com/documentation/3.0/manual/api/reference/hostgroup/get )

Zabbix Api获取主机组zabbix_group.py

只获取组ID+组名字

加入过滤,官方文档

查询主机组及主机信息zabbix_group.py

Zabbix Api获取模板信息

Api添加主机组

Api添加主机,如果是Linux建议大家还是自动注册

如何通过Zabbix获取监控数据

zabbix基本架构:1.Serverzabbix系统核心进程,轮询并捕获数据、发送通知等。是zabbix agent和zabbix proxy汇报数据的对象。server自身可远程检测网络服务。所有的前后端配置、统计信息、可操作数据存储于此。包含server、前段界面和后端DB几部分。2.Agent部署在被监控主机上用于监控本地资源和应用并向zabbix server汇报结果。使用本地系统调用故非常高效。有主动和被动两种检测模式。被动模式下agent根据server或proxy的具体请求来返回数据。主动模式下先主动由server获取监控项列表在检测并返回新的数据。采用主动或被动检测取决于相应监控项的配置。3.Proxy可以自由选择部署或者不部署,主要用于分担server的负载。在集中化监控远程位置、分支、网络的场景中是很好的解决方案。可从被监控设备收集数据缓存在proxy本地后传递给其所属的zabbix server。proxy需要单独的数据库。4.Java gatewayjava实现的守护进程用于监控JMX类型的应用程序。5.Sender命令行工具zabbix_sender,用于向zabbix server发送性能数据和可用性数据。多用于用户脚本定期向server发送数据。如:shell》 cd binshell》 ./zabbix_sender -z zabbix -s “Linux DB3“ -k db.connections -o 436.Get命令行工具zabbix_get,用于同agent通信从agent获取数据。可用于zabbix agents的troubleshooting。如:shell》 cd binshell》 ./zabbix_get -s 127.0.0.1 -p 10050 -k “system.cpu.load“#zabbix术语表:host需要被监控的设备,如交换机、路由器、WEB服务器、DB服务器等host group被监控设备的逻辑分组,如DB服务器一组、WEB服务器一组等。可包含主机和模板。用于权限控制item需要被监控的项,如CPU空闲率、某一块磁盘的使用率等trigger用于评估收到的监控值是否超出设定的阈值的逻辑表达式event如trigger状态改变等值得注意的事件action预先定义的响应event的一系列operationsescalation执行action中的operations的定制场景;一连串的发送通知、执行远程命令media传递notification的方式notification通过media发送给用户的关于某个event的消息remote command在被监控机器上触发并自动执行的预定义命令template用于简化和加速主机上大规模监控任务的部署。包含一系列项目,如items, triggers, graphs, screens, applications, low-level discovery rulesapplication逻辑组中的一组itemsweb scenario一个或多个HTTP request用以检查web站点可用性frontendzabbix的web界面zabbix api允许通过JSON RPC 协议创建、更新和获取zabbix对象如,hosts, items, graphs and others。或者执行其他任务zabbix serverzabbix核心,履行监控,与zabbix proxies、zabbix client交互、计算trigger、发送notification、存储数据等任务zabbix agent部署在被监控主机上用于监控本地资源和应用zabbix proxy可代zabbix server收集数据分担处理负载#zabbix配置:可通过WEB界面或者模板进行配置需配置内容包括users、user groups、hosts、host groups、items、Triggers、Events、notification、templates、visualisation等。最终配置会被存储在后端database中。zabbix取数方式1.zabbix api基于WEB的API,通过JSON PRC协议获取或更改zabbix配置,并可用于获取历史监控数据。clients和API间的request和response使用JSON格式。包含一系列可从功能上分为不同组别的方法。发起HTTP请求的格式类似如下:POST HTTP/1.1Content-Type: application/json-rpc{“jsonrpc“:“2.0“,“method“:“apiinfo.version“,“id“:1,“auth“:null,“params“:{}}其中是zabbix前端的地址;Content-Type必须指明且为application/json-rpc, application/json or application/jsonrequest三者之一。{“jsonrpc“:“2.0“,“method“:“apiinfo.version“,“id“:1,“auth“:null,“params“:{}}是请求的具体内容。一些实例:*登录认证{ “jsonrpc“: “2.0“, “method“: “user.login“, “params“: { “user“: “Admin“, “password“: “zabbix“ }, “id“: 1, “auth“: null}其中:jsonrpc:指明JSON-RPC协议版本,这里是2.0版本method:指明调用的API方法,这里是用户登录params:需要传递给API method的参数,这里是用户名和密码id:本次请求的标识符auth:用户认证令牌,目前尚无所以为null若参数无误response将会包含用户认证令牌,如:{ “jsonrpc“: “2.0“, “result“: “0424bd59b807674191e7d77572075f33“, “id“: 1}*获取hosts信息{ “jsonrpc“: “2.0“, “method“: “host.get“, “params“: { “output“: [ “hostid“, “host“ ], “selectInterfaces“: [ “interfaceid“, “ip“ ] }, “id“: 2, “auth“: “0424bd59b807674191e7d77572075f33“}本例使用可用的用户认证令牌通过host.get方法获取所配置的主机的ID 、name等信息,返回如下{ “jsonrpc“: “2.0“, “result“: [ { “hostid“: “10084“, “host“: “Zabbix server“, “interfaces“: [ { “interfaceid“: “1“, “ip“: “127.0.0.1“ } ] } ], “id“: 2}为了考虑性能影响、尽量仅列出所需项而非返回所有数据*创建新监控项例如在上一步获取的host上建立新的监控项、监控/home/joe/目录的剩余空间{ “jsonrpc“: “2.0“, “method“: “item.create“, “params“: { “name“: “Free disk space on $1“, “key_“: “vfs.fs.size“, “hostid“: “10084“, “type“: 0, “value_type“: 3, “interfaceid“: “1“, “delay“: 30 }, “auth“: “0424bd59b807674191e7d77572075f33“, “id“: 3}其中params参数中的几个关键参数含义如下:name:监控项的名称,这个可以自己灵活定义,其中的$1代表key_中的第一个参数,此处为/home/joe/key_:预定义的监控项,zabbix提供了一系列此类监控内容,此处需从其中进行选择。hostid:即上步获得的hostidvalue_type:监控数据值的类型,不同的数字代表不同的类型,此处的3代表整型delay:zabbix取数时间间隔,此处为30秒取一次返回结果如下:{ “jsonrpc“: “2.0“, “result“: { “itemids“: [ “24759“ ] }, “id“: 3}itemid为生成的监控项的id*获取历史数据:从历史记录表获取itemids为23296的按clock降序排列的十条记录history参数可能的取值0 - float; 1 - string; 2 - log; 3 - integer; 4 - text. { “jsonrpc“: “2.0“, “method“: “history.get“, “params“: { “output“: “extend“, “history“: 0, “itemids“: “23296“, “sortfield“: “clock“, “sortorder“: “DESC“, “limit“: 10 }, “auth“: “038e1d7b1735c6a5436ee9eae095879e“, “id“: 1}返回结果:{ “jsonrpc“: “2.0“, “result“: [ { “itemid“: “23296“, “clock“: “1351090996“, “value“: “0.0850“, “ns“: “563157632“ }, { “itemid“: “23296“, “clock“: “1351090936“, “value“: “0.1600“, “ns“: “549216402“ }, ...]}*错误处理下例忘记了groups这个参数{ “jsonrpc“: “2.0“, “method“: “host.create“, “params“: { “host“: “Linux server“, “interfaces“: [ { “type“: 1, “main“: 1, “useip“: 1, “ip“: “192.168.3.1“, “dns“: ““, “port“: “10050“ } ] }, “id“: 3, “auth“: “0424bd59b807674191e7d77572075f33“}返回结果如下,包含的不是result属性而是error属性{ “jsonrpc“: “2.0“, “error“: { “code“: -32602, “message“: “Invalid params.“, “data“: “No groups for host \“Linux server\“.“ }, “id“: 3}对于获取监控数据来说,比较关心的应该是history.get这个方法。这种方式实际上最终还是由后台数据库获取的。方法提供了丰富的参数,使用非常灵活。但对于一次性大规模的取出大量主机大量监控项的大批数据不太适合。

zabbix都能监控windows,linux那些东西,要详细

网上下载使用手册就可以 了,也可以自己下载一个测试

这里也放不下内容

简单描述一下:

zabbix agent安装在被监视的目标服务器上,收集硬件信息或与操作系统有关的内存,CPU等信息。可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。

主要可以监测:

CPU负荷、内存使用、磁盘使用、 网络状况、端口监视、日志监视

可以通过WEB界面设置或查看监视结果,email等发送通知

什么是zabbix

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。zabbix由2部分构成,zabbix server与可选组件zabbix agent。zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows (2000/2003/XP/Vista)等系统之上。zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。2特点zabbix的主要特点:- 安装与配置简单,学习成本低- 支持多语言(包括中文)- 免费开源- 自动发现服务器与网络设备- 分布式监视以及WEB集中管理功能- 可以无agent监视- 用户安全认证和柔软的授权方式- 通过WEB界面设置或查看监视结果- email等通知功能等等Zabbix主要功能:- CPU负荷- 内存使用-磁盘使用- 网络状况- 端口监视- 日志监视。

Zabbix监控系统系列之二十一:监控海康威视摄像头

配置摄像头

登录摄像头Web页面 - 配置 - 网络 - 高级配置 - SNMP

启用SNMPv2c

设置读团体名

设置写团体名

设置trap地址为zabbix地址

保存

创建主机

1 配置主机

主机名称:输入摄像头主机名

可见名称:别名

群组:选择群组

Interfaces:使用SNMP

IP地址 摄像头地址

端口 默认161

version SNMPv2

团体名使用宏

2 切换到模板页 添加模板“Hikvision camera by HTTP”

Hikvision camera by HTTP模板手册

3 切换到宏页 添加宏

{$SNMP_COMMUNITY} :读团体名

{$USER} :摄像头用户名

{$PASSWORD} : 摄像头密码

测试

1 切换到自动发现规则页 勾选规则并执行

2 自动发现监控项成功

3 读取数据成功

配置自定义SNMP监控

1 打开MIB浏览器 输入IP地址 点高级选项

2 配置端口 团体名 版本

3 OID输入.1 类型选择GetSubtree点Go执行 读取到数据

4 进入主机监控项页 点创建监控项

5 根据前面获取到的OID 配置监控项页

6 回到监控项页 选择刚创建的监控项 点执行

7 查看最新数据读取成功

———————————————

zabbix告警配置

概述

假设我们配置了一些监控项和触发器,现在当触发器状态改变时会获取一些发生的事件,是时候考虑下一步行动了。

我们不可能一直盯着触发器或者事件列表,当发生一些标志性的事件时发送警告再好不过。当问题发生,关注这些的用户都会被通知。

zabbix提供主要的功能就是发送告警就是这个原因。哪些人?在什么时候?应该收到哪些信息是可以被定义的。

为了发送和接收来自zabbix的告警,你必须:

定义媒介

配置发送信息到定义媒介的动作

动作由 触发条件 和 操作 组成。基本上当条件符合时,操作被执行。两个主要的操作是 发送消息 和 执行远程命令

为了发现和自动注册创建的事件,一些额外的操作是可用的,包含添加或者删除主机,链接模板等

一、媒介(Media types)

概述

Media 是用于发送zabbix的消息与告警的递送通道

可以定义一下媒介类型

E-mail

SMS

Jabber

Ez Texting

Custom alertscripts

1、 E-mail

为消息定义E-mail发送通道,需要配置e-mail 作为媒介类型并且传递指定的地址给用户

配置

依次点击 管理——》报警媒介类型,点击创建媒介类型(或者点击预先定义的媒介类型 E-mail)

媒介类型表包含通常的媒介类型属性

所有重要的字段都会标记红星

Name 媒介类型名字

Type 选择Email作为类型

SMTP server 设置stmp服务器作为处理信息的出口

SMTP server port 设置smtp服务的端口,这个参数从zabbix3.0开始支持

SMTP helo 这是正确的stmp链接值,通常为域名

SMTP email 这个地址会被用于信息发送者,用来发送消息,添加发送者的显示名 如 Zabbix_info则zabbix_info《[email protected]

几个可以生效的配置:

[email protected] 只有邮箱地址,不需要尖括号

zabbix_info《[email protected]》 显示名与邮件地址,地址写在尖括号中

监控系统《[email protected]》 使用UTF-8格式的显示名

Connection security 选择链接安全级别,None为不使用ssl选项,starttls 使用 CURLOPT_USE_SSL参数,SSL/TLS则CURLOPT_USE_SSL可选

SSL verify peer 标记checkbox同步SMTP服务的SSL证书,

Authentication 认证方法

Username 用户名

Password 密码

Enabled 启用媒介

注意 : 为了使SMTP中的authentication 选项可用,zabbix在编译时,需要带--with-libcurl参数 使用cURL7.20.0或更高版本

第二个选项卡options

第二个选项卡options配置了告警的处理流程。同样的options配置在其他的媒介类型中也存在。

所有媒介都是并行处理的,当前最大会话每个媒介自己定义,但是zabbix服务的告警处理总数被参数(zabbix_sever.conf)StartAlerters所限制。同一触发器生成的告警会序列化的处理

options表

concurrent sessions 并发会话数,三个选项,one(一个),unlimited(不限制),custom(自定义)

Attempts 尝试发送告警的次数,如果设置为1,则zabbix会发送以此通知,并且失败时不会重发

Attempts interval  重发通知的频率,发送失败时重发的间隔

配置用户的媒介

依次点击 Administration(管理)---》Users(用户)

点击用户的属性表,在Media(媒介)表中点击add

type 选择Email作为类型

send to 指定email地址,可以点击add添加多个地址,同理此地址也可设置显示名如Zabbix_admin《[email protected]》或者[email protected]

when active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等级

status 启用与否

2、SMS

zabbix发送短信,使用串行GSM调试解调器连接到zabbix server的serial port

先决条件:

串行设备(正常情况下在linux的/dev/ttyS0)的速度取决于modem。zabbix不设置串行链接的速度。

zabbix user拥有对串行设备的读写权限,运行ls -l /dev/ttyS0查看当前权限

GSM调试解调器拥有PIN码,PIN也可以禁用使用命令 AT+CPIN=“NNNN“输入PIN, 必须有双引号。

已经测试好的modem Siemens MC35 Teltonika ModemCOM/G10

配置SMS作为发送通道,需要配置SMS作为媒介类型并且在用户界面配置接收手机号

配置

依次点击 Administration---》Media types,点击创建media type或使用预先的配置

sms的Media type表属性

Description media type名

Type 选择SMS

GSM modem 选择设备如 /dev/ttyS0

options选项卡见E-mail

配置用户媒介

依次点击 Administration(管理)---》Users(用户)

点击用户的属性表,在Media(媒介)表中点击add

types 选择SMS作为媒介

Send to 输入用户手机号

When active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏

Use if severity 指定想要接受的告警等级

status 启用与否

3、Jabber (略)

4、Ez Texing(略)

5、Custom alertscripts

如果不满足于存在的媒介来发送警告,可以自定义脚本进行发送

警告脚本在zabbix server上执行,这些脚本位于server配置文件AlertScriptsPath变量(默认/usr/local/share/zabbix/alertscripts)

脚本示例:

#!/bin/bash

to=$1

subject=$2

body=$3

cat 《《EOF |mail -s “$subject“ “$to“

$bodyEOF

从3.4开始zabbix会检查exit code(shell执行返回码,0为成功),若exit code 不等于0,则认为执行失败,zabbix会重复执行

script不保存环境变量,所以环境变量要精确指定

配置

依次点击 Administration---》Media types,点击创建media type

mediatype表属性

Name 输入媒介的名字

Type 选择Script作为类型

Script name 输入脚本的名字(zabbix server中的脚本文件)

Script parameters 添加命令行参数到脚本

可支持ALERT.SENDTO}、{ALERT.SUBJECT}、{ALERT.MESSAGE}等宏,

{ALERT.SENDTO} 用户媒介中的send to(收件人)的值

{ALERT.SUBJECT} 动作配置中的Default subject(默认标题)

{ALERT.MESSAGE} 动作配置中的Default message(消息内容)

options表中定义了处理流程,见E-mail的说明

配置用户媒介User media

依次点击 Administration(管理)---》Users(用户)

点击用户的属性表,在Media(媒介)表中点击add

用户媒介属性

Type 选择自定义脚本的媒介类型

Send to 指定告警接收人

When active 设置发送时间如工作日(1-5,09:00-18:00)可以使用宏

Use if serverity 指定想要接受的告警等级

status 启用与否

二、动作

如果你希望发生事件时会触发一些操作,那么你需要配置action

动作可以定义回应所有支持的事件类型,

事件类型:

Trigger events触发器事件,当触发器状态从ok改变到problem或相反。

Discovery events 当自动发现产生

Auto registration events当新的agent自动注册时,或者经注册过的主机元数据改变

Internal events当监控项变为不支持或触发器状态变为unknown时

配置一个动作

依次 Configuration ——》Actions

从event source中选择需要的源(分为:触发器源,自动发现源,自动注册源,事件源)

点击创建动作

选择操作执行的条件

选择具体操作

选择恢复操作

动作表的属性

Name 唯一动作名

Type of calcaulation 选择条件触发的计算方法

And 必须符合所有条件

Or 只要一个条件符合即可

And/Or 结合二者,不同类型的条件用And,同一类型的条件用Or

Custom expression 用户自定义

Conditions 触发动作的一系列条件、

New condition 选择新的动作触发条件

Enabled 启用动作

条件设置

基于触发器的条件

Application 应用集

Host group 主机组

Template 模板

Host 主机

Tag 标签(串)

tag value 标签值

Trigger 触发器

Trigger name 触发器名字

Trigger severity 触发器等级

Time period 触发时间

Problem is suppressed 触发问题是否意料之中,如主机维护

基于自动发现的条件

Host IP 指定主机ip地址自动发现范围 格式: 单独的ip:192.168.1.33 范围ip: 192.168.1-101.1-254  Ip mask: 192.168.4。0/24

Service type 服务类型

service port 服务端口

Discovery rule 指定自动发现规则

Discovery check

Discovery object

Discovery status

Uptime/Downtime

Received value

Proxy

基于自动注册的条件

Host metadata 由zabbix_agentd.conf 文件中的HostMetadata变量定义

Host name

Proxy

基于内部事件的条件

Application

Event type

Host group

Template

Host

条件匹配后,就需要执行响应的动作了

可以支持以下动作

send a message

execute a remote command

add host

remove host

enable host

disable host

add to host group

remove from host group

link to template

unlink from template

set host inventory mode

执行远程命令

确保配置文件中(zabbix_agentd.conf)EnableRemoteCommands 参数设置为1

加入zabbix用户到sudo,vim /etc/sudoer

zabbix ALL=NOPASS: ALL #所有命令不需密码

zabbix ALL=NOPASS: /etc/init.d/apache restart  #指定某一命令不需要密码

触发操作后,使用宏 信息

如 告警信息模板

标题 服务器:{HOST.NAME} - 发生: {TRIGGER.NAME}故障

信息 告警主机:{HOST.NAME}

告警地址:{HOST.IP}

监控项目:{ITEM.NAME}

监控取值:{ITEM.LASTVALUE}

告警等级:{TRIGGER.SEVERITY}

当前状态:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警时间:{EVENT.DATE} {EVENT.TIME}

事件ID:{EVENT.ID}

恢复信息

标题 服务器:{HOST.NAME} - {TRIGGER.NAME} 已恢复

信息 告警主机:{HOST.NAME}

告警地址:{HOST.IP}

监控项目:{ITEM.NAME}

监控取值:{ITEM.LASTVALUE}

告警等级:{TRIGGER.SEVERITY}

当前状态:{TRIGGER.STATUS}

告警信息:{TRIGGER.NAME}

告警时间:{EVENT.DATE} {EVENT.TIME}

恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}

持续时间:{EVENT.AGE}

事件ID:{EVENT.ID}

Zabbix 触发器表达式使用规范

支持的操作类型

举例:

例如: { www.zabbix.com:vfs.fs.zise最近一次获取到的值和在前10分钟的差值为10,其结果可能是最近一次的值比之前大,也有可能比之前的值小,即从-10到0,再从0到10之间的一个范围,可以叫做抖动值或者误差范围。

举例:

描述: 返回指定时间间隔的平均值。时间间隔可以通过第一个参数秒数设置或收集值的数目(需要在前边加上#,比如#5代表最近5次的值)。如果有第二个,则表示时间漂移(time shift),例如,查询一天之前的前一个小时的平均值,对应的函数是avg(1h,1d)

例如: { www.zabbix.com:vfs.fs.size最近10分钟内,最近的5次取值的平均值小于50G。请注意,10分钟内如果取值更新间隔时间为1分钟,则#5代表6、7、8、9、10分钟的数值,如果取值时间更新间隔为2分钟,则#5代表2、4、6、8、10分钟的数值

描述: 返回最近获取到的值与之前值的差值(注意、与abschange函数不同,不是绝对值)。对于字符串类型,0表示值相等,1表示值不同

例如: { www.zabbix.com:vfs.fs.size.change(5m) }《0,代表最近一次的值比前5分钟获取的值要小 **{ www.zabbix.com:vfs.fs.size.change() }》20,代表最新的值比前一个值要大20

例如: { www.zabbix.com:mysql.ping.last(#3,5m) }=0,表示设备 www.zabbix.com 的MySQL最近5分钟内第3次取值结果为0,即认为故障发生,注意#3的用法和其他函数不同

描述: 返回指定时间间隔的最大值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#)

例如: { www.zabbix.com:net.tcp.service 在最近三次获取到的值最大数值都为0,则视为故障

描述: 返回指定时间间隔的最小值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#)。函数支持第二个可选参数time_shift

例如: { www.zabbix.com:icmppingloss.min(5m) }》20,表示 www.zabbix.com 设备在5分钟内用icmppingloss获取到的最小值大于20,即故障发生

描述: 当返回值为1时,表示指定的间隔(间隔不应小于30s)没有接收到数据,0表示其他情况

例如: { www.zabbix.com:agent.ping.nodata(5m) }=1,表示设备 www.zabbix.com 的agent.ping在最近5分钟内没有接收到数据,及故障发生

描述: 返回指定时间间隔内的最大值与最小值的差值(max()-min())。时间间隔作为第一个参数,可以是秒或者收集值的数目

例如: { www.zabbix.com:net.if.in.delta(10m) }》10M,表示设备 www.zabbix.com 的接口eth0在最近10分钟内,最大值和最小值之间的差大于10MB,即认为故障发生

描述: 返回值为1,表示最近的值与之前的值不同,0为其他情况

例如: { www.zabbix.com:agent.version.diff(0) }》0,表示设备 www.zabbix.com 的agent.version在最近一次的值和之前的值不同

zabbix 怎么自动处理故障

1. zabbix环境Zabbix:zabbix-3.0.1server/agent2. 配置环境发现本地网络172.19.200.1-254,Check:ICMP ping,如下:2ICMP ping方式下,UP状态的主机添加到“Discovery hosts“组,如下:END自动发现失效1. 现象在自动发现的discovery与action流程配置正确的前提下,等待10分钟观察,自动发现功能并不生效。2. 定位故障#发现有“找不到/usr/sbin/fping文件“的信息记录。# vim /tmp/zabbix_server.log1412:20160621:110040.593 /usr/sbin/fping: No such file or directory3. 故障分析“ICMP ping“的check方式,使用/usr/sbin/fping命令检测状态,如果系统没有安装或fping命令执行路径有误,则check方式不能发现设备,自动发现功能失效。安装配置fping1. 安装fping#fping相对ping,可以同时ping多个目标并且有多种统计输出格式,#fping目前只能通过编译的方式安装。# cd /usr/local/src# wget Monitoring--》 Discovery--》 Discovery rule,选择“Local network“(创建discovery时的name),如下:

zabbix agent配置

Server:zabbix sever的列表,逗号间隔,agent对server端的主机限定。 ServerActive:健康检查,带端口的,agent主动往zabbix server发数据。 ListenPort:agent在被监控机器运行的程序端口。 Hostname:zabbix server配置的主机名称。

刚开始耍zabbix agent,建议不见使用docker,实际上,容易变动的,我都不建议使用docker,整理镜像是一件非常麻烦的事情。因为镜像都是非常精简的,万一你需要的功能没有,你是解决掉所有的依赖,来添加到镜像,还是在服务器中执行yum insta

如何用zabbix来监控磁盘IO

使用zabbix监控磁盘IO前面的文章介绍了zabbix简单的安装,下面介绍下利用zabbix监控磁盘IO的方法 默认的 Zabbix 监控模板中,对于磁盘主要是剩余空间之类的监控,对于 IO 方面却没有,好在 Zabbix 提供了丰富的定制功能,可自行添加想要监控的任意内容。具体步骤如下:1、 在被监控服务器的配置文件(/etc/zabbix/zabbix_agentd.conf)中添加以下内容:###disk ioUserParameter=custom.vfs.dev.read.ops,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$4}’ UserParameter=custom.vfs.dev.read.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$7}’ UserParameter=custom.vfs.dev.write.ops,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$8}’ UserParameter=custom.vfs.dev.write.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$11}’ UserParameter=custom.vfs.dev.io.active,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$12}’ UserParameter=custom.vfs.dev.io.ms,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$13}’ UserParameter=custom.vfs.dev.read.sectors,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$6}’ UserParameter=custom.vfs.dev.write.sectors,cat /proc/diskstats | grep $1 | head -1 | awk ’{print $$10}’可以先测试看其是否生效,使用如下命令,看是否正常返回数字。注意在命令行运行时,grep 那里的 $1 需根据自己磁盘设定修改为 sda 或 sdb,awk 那里需去除一个 $ 符号。cat /proc/diskstats | grep sda | head -1 | awk ’{print $4}’2、被监控主机重启 agent/etc/init.d/zabbix_agentd_ctl restart3、在 zabbix server 上测试能否接收数据,将其中的 AgentServerIP 修改为被监控服务器的IP,注意这里是在运行 zabbix 服务端的机器上执行此操作。如果返回的是一串数字则正确,如果返回ZBX_NOTSUPPORTED ,请检查确认被监控主机的 agent 是否有重启,网络端口是否开放。zabbix_get -s AgentServerIP -p 10050 -k custom.vfs.dev.write.ops4、在 zabbix web 配置界面的模板中,导入这里提供的模板。并将此模板关联到要监控的服务器主机上,很快就可以在 Latest data 中看到获取的数据并可画出趋势图了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有