Нужна помощь. Хочу сделать тревогу, если сайт выдаёт 401 502 и тд, ошибки. На сервере есть агент, который отправляет разные части в datadog. Есть такой модуль http_check, и в нем вроде как есть такая функция.
http_response_status_code - A string or Python regular expression for an HTTP status code. This check will report DOWN for any status code that does not match. This defaults to 1xx, 2xx and 3xx HTTP status codes. For example: 401 or 4\d\d
Вот мой http_check.yml
init_config:
instances:
- name: My first service
url: https://example.com
collect_response_time: true
timeout: 1
skip_event: true
http_response_status_code: 502
check_certificate_expiration: true
disable_ssl_validation: false
days_warning: 7
days_critical: 3
tags:
- url:example.com
- env:production
На самом деле я пытаюсь закрыть nginx и посмотреть, что он отправит статус. Я не вижу ничего. Задача вообще следить за сайтами и предупреждать, если что-то отвалилось.
Разработчики из datadog знают об этой проблеме. Чтобы решить эту задачу, нам нужно использовать такую настраиваемую проверку: http_check.py
Затем нам нужно перезапустить агент на хосте и имитировать ошибку. В датадоге событий мы увидим http://example.com returned a status of 503 after 30.0 seconds
После этого мы можем создавать оповещения. Эта настраиваемая проверка отправляет все коды, кроме 200.
Вы можете использовать (4 | 5) \ d \ d для http_response_status_code.