пятница, 12 апреля 2019 г.

Мониторинг порта с помощью Prometheus + blackbox_exporter + Grafana



Захотелось мониторить состояние своего сайта через симпатичный веб-интерфейс Grafana. Панель будет иметь два состояния UP и DOWN.

Что нам понадобится.


  • Prometheus
  • blackbox_exporter
  • Grafana




1) в конец /etc/prometheus/prometheus.yml добавляем новые значения для мониторинга http/https и перезапускаем prometheus

  - job_name: 'Webservers'
    metrics_path: /probe
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
    static_configs:
      - targets:
        - https://website.kz
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 172.27.1.54:9115  # The blackbox exporter's real hostname:port.

2)blackbox.yml в /etc/blackbox_exporter должен иметь такой конфиг

modules:
  http_2xx:
    prober: http
  http_post_2xx:
    prober: http
    http:
      method: POST
  tcp_connect:
    prober: tcp
  pop3s_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^+OK"
      tls: true
      tls_config:
        insecure_skip_verify: false
  ssh_banner:
    prober: tcp
    tcp:
      query_response:
      - expect: "^SSH-2.0-"
  irc_banner:
    prober: tcp
    tcp:
      query_response:
      - send: "NICK prober"
      - send: "USER prober prober prober :prober"
      - expect: "PING :([^ ]+)"
        send: "PONG ${1}"
      - expect: "^:[^ ]+ 001"
  icmp:

    prober: icmp

3)В веб-интерфейсе Prometheus который находится на порту 9090 во вкладке Graph набираем probe_success и жмем Execute






4) Выбираем из списка появившееся значение и добавляем в Grafana.

probe_success{instance="https://website.kz",job="Webservers"}

5) В Grafana создаем новую панель с визуализацией Singlestat и делаем настройки визуализатора как на скрине.



6) Результат



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

Отправить комментарий