12. 正则表达式
概述
Zabbix支持POSIX 正则表达式
在Zabbix中有两种方法使用正则表达式
手动输入正则表达式
使用在Zabbix中创建的全局正则表达式
正则表达式
你可以在受支持位置中手动输入正则表达式。请注意,表达式不能以@开头,因为该符号在Zabbix中用于引用全局正则表达式。
全局正则表达式
有一个高级编辑器用于在Zabbix前端中创建和测试复杂的正则表达式。
一旦以这种方式创建了正则表达式,它可以在前端的多个地方通过引用其名称(前缀为@)来使用,例如@mycustomregexp
创建全局正则表达式
进入: 管理(Administration)→ 一般(General)
从下拉列表中选择正则表达式(Regular expressions)
点击新的正则表达式(New regular expression)
表达式选项卡允许设置正则表达式名称和添加子表达式。
参数 | 说明 | |
---|---|---|
名称(Name) | 设置正则表达式名称。 允许任何Unicode字符。 | |
表达式(Expressions) | 单击表达式区域中的添加(Add)以添加新的子表达式。 | |
表达式类型(Expression type) | 选择表达式类型:字符串已包含(Character string included) - 匹配子字符串包含任何字符串(Any character string included) - 匹配逗号分隔列表中的任何子字符串字符串未包含(Character string not included) - 匹配除了子字符串之外的任何字符串结果为真(Result is TRUE) - 匹配正则表达式结果为假(Result is FALSE) - 不匹配正则表达式 | |
表达式(Expression) | 输入子字符串/正则表达式。 |
自Zabbix 2.4.0开始,表达式中的正斜杠作为字符处理,而不是分隔符。这样可以保存包含斜杠的表达式,而以前它会产生错误。
Zabbix中的自定义正则表达式名称可能包含逗号,空格等。在引用时可能导致错误解释的情况下(例如,监控项键的参数中的逗号),整个引用可以放在引号中,如下所示 :“@我的自定义regexp为purpose1,purpose2”。\正则表达式名称不能在其他位置引用(例如,在LLD规则属性中)。
自定义正则表达式可能由多个子表达式组成,并且可以通过提供测试字符串在测试选项卡中进行测试
结果显示每个子表达式的状态和自定义表达式的状态
正则表达式支持位置
位置 | 正则表达式支持 | 全局正则表达式支持 | 注释 | |
---|---|---|---|---|
宏函数 | ||||
regsub() | 是 | 否 | 模式(pattern) 参数 | |
iregsub() | ||||
触发器函数 | ||||
count() | 是 | 是 | 模式(pattern) 参数,如果 (操作员)operator 参数是regexp or iregexp | |
logeventid() | 模式(pattern) 参数 | |||
iregexp() | ||||
regexp() | ||||
自动发现 | ||||
是 | 否 | 过滤(Filter) 字段 | ||
Web监测 | ||||
是 | 否 | 变量 以 regex: 为前缀Required string 字段的变量 | ||
Zabbix 代理(agent) 项 | ||||
eventlog[] | 是 | 是 | regexp, severity, source, eventid 参数 | |
log[] | regexp 参数 | |||
log.count[] | ||||
logrt[] | 是/否 | regexp 参数支持两老师, file_regexp 参数只支持non-global 表达式 | ||
logrt.count[] | ||||
proc.cpu.util[] | 否 | cmdline 参数 | ||
proc.mem[] | ||||
proc.num[] | ||||
sensor[] | device 和 sensor 参数在 Linux 2.4 | |||
system.hw.macaddr[] | interface 参数 | |||
system.sw.packages[] | package 参数 | |||
vfs.dir.size[] | regex_incl 和regex_excl 参数 | |||
vfs.file.regexp[] | regexp 参数 | |||
vfs.file.regmatch[] | ||||
web.page.regexp[] | ||||
SNMP 捕获 | ||||
snmptrap[] | 是 | 是 | regexp 参数 | |
图标映射(Icon mapping) | ||||
是 | 是 | Expression 字段 | ||