从 Zabbix 中的 Prometheus 中删除 HTTP headers

Remove HTTP headers from Prometheus in Zabbix

我有一台安装了 Nginx VTS 模块的服务器,它以 prometheus 格式输出指标。

当我尝试通过 Zabbix 主动检查 web.page.get 时,我得到了 HTTP header,然后是以下格式的数据:

HTTP/1.1 200 OK

Server: nginx

Date: Thu, 24 Sep 2020 09:16:20 GMT

Content-Type: text/plain

Content-Length: 33769

Connection: close

Vary: Accept-Encoding



# HELP nginx_vts_info Nginx info
# TYPE nginx_vts_info gauge
nginx_vts_info{hostname="example",version="1.18.0"} 1
# HELP nginx_vts_start_time_seconds Nginx start time
# TYPE nginx_vts_start_time_seconds gauge
nginx_vts_start_time_seconds 1600367492.145

# snip output...

我写了一个删除 header 但只输出第一行的正则表达式:

# \n\s?\n(.*)

# HELP nginx_vts_info Nginx info

如何重写表达式以便删除 header 并提供其余数据?

请尝试以下正则表达式

\n\s?\n([\s\S]*)

在正则表达式中 . 不会检查换行符,除非设置了特定的标志。因此在您的示例中,仅返回第一行。所以重写它以包括换行符也会有所帮助。