Удаление HTTP-заголовков из Prometheus в Zabbix

#regex #http-headers #zabbix

#регулярное выражение #http-заголовки #zabbix

Вопрос:

У меня есть сервер, на котором установлен модуль Nginx VTS, который выводит показатели в формате prometheus.

Когда я пытаюсь активно проверять web.page.get через Zabbix, я получаю HTTP-заголовок, а затем данные в формате ниже:

 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...
  

Я написал регулярное выражение, которое удаляет заголовок, но выводит только первую строку:

 # ns?n(.*)

# HELP nginx_vts_info Nginx info
  

Регулярное выражение

Как мне переписать выражение, чтобы заголовок был удален, а остальные данные были доступны?

Комментарии:

1. Попробуйте ns?n([sS]*)

2. @Liju Спасибо миллион. Сработало для меня! Дать ответ вместо комментария?

Ответ №1:

Пожалуйста, попробуйте использовать приведенное ниже регулярное выражение

 ns?n([sS]*)
  

в регулярном . выражении не будут проверяться новые строки, если не установлены определенные флаги. следовательно, в вашем примере была возвращена только первая строка. поэтому поможет переписать его, чтобы включить новые строки.