从 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]*)
在正则表达式中 .
不会检查换行符,除非设置了特定的标志。因此在您的示例中,仅返回第一行。所以重写它以包括换行符也会有所帮助。
我有一台安装了 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]*)
在正则表达式中 .
不会检查换行符,除非设置了特定的标志。因此在您的示例中,仅返回第一行。所以重写它以包括换行符也会有所帮助。