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,,,,,
参数介绍:
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为失败
参数:
例:icmpping[,4],连续发送4个数据包,只要有一个返回结果为1,代表主机为存活状态
2、icmppingsec[,,,,,] 说明:检测丢包率
参数:
3、icmpping[,,,,] 说明:返回PING的响应时间
参数:同样参数不作赘述
4、net.tcp.service.perf[service,,] 说明:检查服务的性能,返回为0代表服务不可用,否则的话返回值是对应服务所花的时间,以秒为单位
参数:
例: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 手册