Как использовать Prometheus для хранения данных, которые будут визуализированы Grafana

1

С помощью функций Python request.get и json.loads я смог json.loads данные из URL-адреса. Данные содержат список экземпляров, в которых каждый из них имеет такие показатели, как instance_id, status и т.д.

Мой вопрос в том, что я могу добавить эти метрики в Прометей? Я заглянул в функцию pushgateway, но не был уверен, что это правильный способ делать толкание и хранение данных.

Моя текущая работа по продвижению данных в Прометей заключается в следующем:

from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
from prometheus_client import Summary

registry1 = CollectorRegistry()
registry2 = CollectorRegistry()

s = Summary('request_latency_seconds', 'Description of summary', registry=registry1)
s.observe(4.7)

g = Gauge('job_last_success_unixtime', 'Last time a batch job successfully finished', registry=registry2)
g.set_to_current_time()

push_to_gateway('localhost:9091', job='batch_summary', registry=registry1)
push_to_gateway('localhost:9091', job='batch_gauge', registry=registry2)

Тем не менее, я не уверен, какой тип метрики я должен нажимать (Gauge, Summary или что-то еще?)

Вот пример данных экземпляра, который я хочу нажать:

{'url': 'https://example.com', 
'created': '2017-09-17-time', 
'status_code': 200, 
'instance_start': '2018-09-17-time', }

Причина, по которой я продвигаю эти данные в Прометей, заключается в том, что я хотел использовать Grafana для получения этих данных и визуализации их.

Пример графа Графаны: время как ось x, количество экземпляров со статусом-кодом: 200 как ось y.

Любые мысли или помощь будут оценены. Спасибо!

Теги:
prometheus
grafana

1 ответ

0
Лучший ответ

Поскольку я сделал что-то подобное, я могу дать вам несколько указателей. Вы можете использовать pushgateway для " эфемерных и пакетных заданий, чтобы разоблачить их метрики для Prometheus ", поскольку он говорит на странице github.

Мне кажется, вам нужна сводная метрика, но, конечно, прочитайте документы о типах метрик на странице документов prometheus.

Вы сделали первую часть, вы выставили показатели, которые вы хотите с помощью pushgateway, вы всегда можете проверить, что она работает через ваш веб-браузер или с помощью curl:

YourIP: 9091

Если вы видите некоторые данные на этом порту, вам нужно настроить свою конфигурацию на сервере prometheus.

Вам нужно сообщить серверу prometheus, который должен очистить метрики pushgateway ваших узлов. Файл, который вы ищете, является "prometheus.yml", его местоположение зависит от того, где вы установили сервер prometheus.

Когда вы его открываете, вы должны написать что-то вроде этого:

  - job_name: 'SomeJob-Name'
    static_configs:
      - targets: ['YourIPADDRESS:9091']
        labels:
          environment: 'prod'

После этого перезапустите свой сервер prometheus и данные с вашего узла должны быть видны на пути YourPrometheusIP: 9090/target.

  • 0
    Спасибо, я попытался прослушать на моем локальном хосте, что Прометей читает, и теперь я попытаюсь сделать это с помощью pushgateway.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню