Zabbix5.0版本 正则表达式

Zabbix正则表达式概述

Zabbix 正则表达式官方文档

在Zabbix中有两种使用正则表达式的方法:

1. 手动输入正则表达式 	

2. 使用在Zabbix中创建的全局正则表达式

引用正则表达式

可以在支持的位置手动输入正则表达式。请注意,表达式不能以@开头,因为该符号在Zabbix中用于引用全局正则表达式!!!

Zabbix正则表达式使用案例:过滤自动发现规则

现在的这台机器上的文件系统应用集里面的监控项被配置自动发现规则发现出来。

在这里插入图片描述

现在想把/boot有关这块的内容把它去掉,我先去到相应模板的自动发现规则那里找到对应的键值。

在这里插入图片描述
在这里插入图片描述

然后到命令行界面进行相应的查询,可以看到返回jason格式数据中,/boot对应的标签宏是{#FSNAME}。

# 在zabbix server端进行操作
zabbix_get -s 127.0.0.1 -k vfs.fs.discovery
[{"{#FSNAME}":"/sys","{#FSTYPE}":"sysfs"},{"{#FSNAME}":"/proc","{#FSTYPE}":"proc"},{"{#FSNAME}":"/dev","
{#FSTYPE}":"devtmpfs"},{"{#FSNAME}":"/sys/kernel/security","{#FSTYPE}":"securityfs"},{"{#FSNAME}":"/dev/shm","
{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/dev/pts","{#FSTYPE}":"devpts"},{"{#FSNAME}":"/run","{#FSTYPE}":"tmpfs"},{"
{#FSNAME}":"/sys/fs/cgroup","{#FSTYPE}":"tmpfs"},{"{#FSNAME}":"/sys/fs/cgroup/systemd","{#FSTYPE}":"cgroup"},{"
{#FSNAME}":"/sys/fs/pstore","{#FSTYPE}":"pstore"},{"{#FSNAME}":"/sys/fs/cgroup/perf_event","{#FSTYPE}":"cgroup"},{"
{#FSNAME}":"/sys/fs/cgroup/cpu,cpuacct","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/pids","{#FSTYPE}":"cgroup"},
{"{#FSNAME}":"/sys/fs/cgroup/net_cls,net_prio","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/memory","
{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/freezer","{#FSTYPE}":"cgroup"},
{"{#FSNAME}":"/sys/fs/cgroup/devices","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/cpuset","{#FSTYPE}":"cgroup"},
{"{#FSNAME}":"/sys/fs/cgroup/blkio","{#FSTYPE}":"cgroup"},{"{#FSNAME}":"/sys/fs/cgroup/hugetlb","{#FSTYPE}":"cgroup"},
{"{#FSNAME}":"/sys/kernel/config","{#FSTYPE}":"configfs"},{"{#FSNAME}":"/","{#FSTYPE}":"xfs"},{"
{#FSNAME}":"/proc/sys/fs/binfmt_misc","{#FSTYPE}":"autofs"},{"{#FSNAME}":"/sys/kernel/debug","{#FSTYPE}":"debugfs"},{"
{#FSNAME}":"/dev/mqueue","{#FSTYPE}":"mqueue"},{"{#FSNAME}":"/dev/hugepages","{#FSTYPE}":"hugetlbfs"},{"
{#FSNAME}":"/sys/fs/fuse/connections","{#FSTYPE}":"fusectl"},{"{#FSNAME}":"/boot","{#FSTYPE}":"xfs"},{"
{#FSNAME}":"/var/lib/nfs/rpc_pipefs","{#FSTYPE}":"rpc_pipefs"},{"{#FSNAME}":"/run/user/0","{#FSTYPE}":"tmpfs"}]

在过滤器新增正则表达式,把发现到的文件系统中的/boot过滤掉。

在这里插入图片描述

等待一段时间(ps:大概20分钟),回到该主机上查看对应的监控项信息。

在这里插入图片描述

全局正则表达式

File systems for discovery ==》“结果为真”,结合案例的"匹配"设置可以理解为:文件类型符合以下类型的内容才选用。

在这里插入图片描述
在这里插入图片描述

注意事项:需要注意的是对于该部分的内容(引用正则的做法),如果导出模板到另外一个环境中可能会因为新环境不存在该部分正则表达式,过滤器无法进行引用,而导致部分监控项无法使用或者模板出错等问题的出现。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP与Zabbix的集成主要是为了让PHP脚本能够与Zabbix监控系统交互,比如获取数据、发送报警或者自动化一些任务。在Zabbix 5.0版本中,虽然官方并没有直接提供PHP的API,但是可以通过Zabbix Web API(Zabbix API)来实现PHP与Zabbix的通信。Zabbix 5.x的Web API提供了RESTful API,这对于使用PHP开发者来说是一个很好的选择,因为PHP拥有丰富的HTTP库(如cURL或Guzzle)可以用来处理API请求。 以下是如何在PHP中使用Zabbix Web API的步骤: 1. **安装必要的库**:确保你的PHP环境中安装了cURL扩展,它是处理HTTP请求的基础库。 2. **获取API密钥**:在Zabbix管理界面,登录后配置API访问权限,通常会在“API”部分找到API key。 3. **理解API文档**:Zabbix官方文档提供了详细的API参考(https://www.zabbix.com/documentation/5.0/manual/api),了解你想要执行的操作对应的URL和参数。 4. **编写PHP代码**:例如,如果你想要获取主机列表,可以这样写: ```php <?php $api_url = "http://your-zabbix-server/zabbix/api_jsonrpc.php"; $api_key = "YOUR_API_KEY"; // 构造请求 $payload = [ "jsonrpc" => "2.0", "method" => "host.get", "params" => ["output" => "extend"], "auth" => ["user" => "Admin", "password" => "YOUR_PASSWORD"], ]; // 发送POST请求 $options = [ CURLOPT_URL => $api_url, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($payload), CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ["Content-Type: application/json", "Authorization: APIKey {$api_key}"], ]; $ch = curl_init(); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); // 解析并处理响应 $data = json_decode($response, true); // 然后你就可以遍历$data['result']来获取主机信息了 ?> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值