#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]*)
в регулярном .
выражении не будут проверяться новые строки, если не установлены определенные флаги. следовательно, в вашем примере была возвращена только первая строка. поэтому поможет переписать его, чтобы включить новые строки.