zabbix监控项补充(十)


1自定义监控调度间隔

调度间隔用于在特定时间检查监控项。虽然灵活间隔被设计为重新定义默认监控项的更新间隔,但是调度间隔用于指定独立执行的检查计划。

调度间隔定义为: mdwdhms 其中:
  • md - month days
  • wd - week days
  • h - hours
  • m - minutes
  • s – seconds
间隔 描
m0-59 每分钟执行一次
h9-17/2 从9:00开始每2小时执行一次(9:00,11:00 ...)
m0,30 or m/30 在每小时的hh:00 和 hh:30执行
m0,5,10,15,20,25,30,35,40,45,50,55 or m/5 每5分钟执行
wd1-5h9 每周一至周五9:00
wd1-5h9-18 每个星期一到星期五在9:00,10:00,...,18:00
h9,10,11 or h9-11 每天上午9:00,10:00和11:00
md1h9m30 每个月的第一天在9:30
md1wd1h9m30 如果是星期一,每个月的第一天在9:30执行
h9m/30 在9:00,9:30执行
h9m0-59/30 在9:00,9:30执行
h9,10m/30 在9:00,9:30,10:00,10:30执行
h9-10m30 在9:30,10:30执行
h9m10-40/30 在9:10,9:40执行
h9,10m10-40/30 在9:10,9:40,10:10,10:40执行
h9-10m10-40/30 在9:10,9:40,10:10,10:40执行
h9m10-40 在9:10,9:11,9:12,... 9:40执行
h9m10-40/1 在9:10,9:11,9:12,... 9:40执行
h9-12,15 在9:00,10:00,11:00,12:00,15:00执行
h9-12,15m0 在9:00,10:00,11:00,12:00,15:00执行
h9-12,15m0s30 在上午9时30分,上午10时30分,11时30分,12时30分,15时30分执行
h9-12s30 在9:00:30,9:01:30,9:02:30 ... 12:58:30,12:59:30执行
h9m/30;h10 在9:00,9:30,10:00执行

实验环节

分析就是每天上午9点 10点 11点三个时间整点执行监控

m/1 每分钟执行监控

2snmp

动态索引

虽然你可能会在SNMP OID中找到所需的索引号(例如网络接口),但有时你不能完全依赖不变的索引号。

索引号可能是动态的 - 它们可能会随时间而改变,因此你的监控项可能会停止工作。

为了避免这种情况,可以定义一个考虑到索引号改变的可能性的OID。

使用OID的特殊语法:

["index","",""]
参数 描
OID of data 主OID用于监控项上的数据检索。
index 处理方法。目前支持一种方法:
index – 搜索索引,并将其附加到数据OID
base OID of index 该OID将被搜索以获取与该字符串对应的索引值。
string to search for 用于在进行查找时与值精确匹配的字符串。区分大小写。

实验环节

这里的关键词路径都可以在snmpwalk -v2c -c public 192.168.64.131 这里获取的 我取部分关键词发现也可以的

hrSWRunPerfMem怎么来的

snmpwalk -v2c -c public 192.168.64.131 hrSWRunPerfMem

index 默认写法

hrSWRunPath怎么来的

snmpwalk -v2c -c public 192.168.64.131 hrSWRunPath

/usr/sbin/httpd怎么来的

snmpwalk -v2c -c public 192.168.64.131 hrSWRunPath|grep httpd

["index","hrSWRunPath", "/usr/sbin/httpd"] 整个是可以获取进程索引的

特定OID

一些最常用的SNMP OID自动转换为Zabbix的数字表示。 例如, ifIndex 被翻译为 1.3.6.1.2.1.2.2.1.1,则将 ifIndex.0 转换为 1.3.6.1.2.1.2.2.1.1.0

该表罗列了特定的OID。

特定OID 标识符 描述
ifIndex 1.3.6.1.2.1.2.2.1.1 每个接口的唯一值。
ifDescr 1.3.6.1.2.1.2.2.1.2 包含有关接口信息的文本字符串。该字符串应包括制造商的名称、产品名称和硬件接口的版本。
ifType 1.3.6.1.2.1.2.2.1.3 接口的类型,根据物理/链路协议,在协议栈的网络层“下面”进行快速区分。

更多SNMP OID可以百度一下

3日志监控项

1、 zabbix日志监控表达式描述

1)log[/var/log/syslog,,,,,]

2)logtr[/var/log/.*.log,,,,,]

参数介绍:

l regexp:要匹配内容的正则表达式,或者直接写你要检索的内容也可以。譬如一个ERROR 二个 ERROR|FALSE,当然你也可以不写,就采集了所有的日志了

l encoding:编码相关,linux建议用UTF-8,WIN建议用ANSI,具体情况具体分析

l maxlines:一次性最多提交多少行,这个参数覆盖配置文件zabbxi_agentd.conf中的’MaxLinesPerSecond’,默认留空

l mode:默认是all,也可以是skip,skip会跳过老数据,这个最好是skip,不然会采集历史数据

l output:输出给zabbixserver的数据。可以是\1、\2一直\9,\1表示第一个正则表达式匹配出得内容,\2表示第二个正则表达式匹配错的内容。这个没怎么用

log支持日志切割,只监控当前文件夹日志

logrt支持文件正则,支持多个日志文件采集,不管新旧文件,只要他们有变更,zabbix都会监控。

实验环节

log类型

查看数据

点击历史记录

logrt类型

这里文件权限都是755 主要是让zabbix拥有读权限

查看数据

备注:不管新日志、老日志,只要他们有变更,zabbix都会监控。

4简单检查

Zabbix的简单检查(simple check)主要使用ICMP协议对客户端进行监控,通过ping的方式来查看客户端网络状态。

1、icmppingloss [,,,,]

说明:通过ICMP协议(也就是ping)检查主机是否存活,返回结果为1时代表存活,0为失败

参数:被监控主机的IP地址或主机名、一共发送多少个ICMP包、每次发送ICMP包的间隔、每个ICMP包的大小、超时时间

例:icmpping[,4],连续发送4个数据包,只要有一个返回结果为1,代表主机为存活状态

2、icmppingsec[,,,,,]  说明:检测丢包率

参数:可选min(最小值)、max(最大值)、avg(平均值)

3、icmpping[,,,,]  说明:返回PING的响应时间

参数:同样参数不作赘述

4、net.tcp.service.perf[service,,]  说明:检查服务的性能,返回为0代表服务不可用,否则的话返回值是对应服务所花的时间,以秒为单位

参数:可选值有tcp、ssh、http、ftp、smtp、https等,为具体端口,不指定端口的话采用所指定服务的标准端口,如http代表80;如指定的是tcp,则必须再指定端口

例:net.tcp.service.perf[tcp,,80],检测80端口的连接时间

5、net.tcp.service[service,,]

说明:检查指定的TCP端口是否可以连接

参数:同上

例:net.tcp.service[,,22],检测22端口是否能正常连接

实验环节

检测85端口是否能正常连接

添加监控

添加图形

5外部检查

概述

外部检查是由Zabbix服务器通过运行shell脚本或二进制执行的检查。

外部检查不需要在被监控的主机上运行任何代理。

监控项Key的语法是:

script[,,...]
 

当:

参数 定
script shell脚本或二进制文件的名称。
parameter(s) 可选的命令行参数。

如果你不想将任何参数传递给脚本,可以使用:

script[] 或者script
 

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

实验环节

统计用户在线数量

脚本必须在这个路径/usr/lib/zabbix/externalscripts

添加监控

添加图形

6脚本(全局脚本)

点击确认 发现真的停止了该主机的tomcat服务

参考链接Zabbix 手册