Экспонирование датчика Prometheus с несколькими метриками через Pushgateway приводит к ошибке, что объект «Gauge» не имеет атрибута «_value».После того, как строка с ошибкой комментируется, push_to_gateway () выбрасывает
urlopen error [WinError 10061] No connection could be made because the target machine actively refused it
Я не получаю никакого ответа при попытке ввести http://localhost:9091/.
Я пытался выставить метрики стандартным способом через HTTP-клиент.Тем не менее, код Python будет выполняться только по требованию и с параметрами.Он будет работать в течение нескольких секунд и выйти.Я решил попробовать Pushgateway.Я попытался следовать руководству в https://github.com/prometheus/client_python#exporting-to-a-pushgateway. Я установил Prometheus локально и запустил клиент после редактирования файла yaml, заменив конфигурацию scrape:
scrape_configs:
- job_name: pushgateway
honor_labels: true
static_configs:
- targets:
- localhost:9091
Фактический код:
# ( Class attribute )
iv_registry = CollectorRegistry()
# Gauge to be passed to the Prometheus
iv_gauge = Gauge(ic_gauge_name,
ic_gauge_docu_labels, ic_labels_list, registry=iv_registry)
def __create_gauge(self):
"""Fill gauge to be passed to the prometheus and graffana"""
try:
# Set labels and assign a metric
self.iv_gauge.labels( label1 = "AAA", label2 = "BBB", label3 = "CCC" ).set(4)
self.iv_gauge.labels( label1 = "AAA", label2 = "BBB", label3 = "DDD" ).set(0)
# expose in a batch mode
self.iv_gauge.set_to_current_time() # Does it have to be here? My gauge itself does not have any _value, on matrics with labels store _values
push_to_gateway('localhost:9091', job='batchA', registry=self.iv_registry)
Я хотел бы видеть датчик с различными метриками, отправленный на Pushgateway, очищенный Прометеем и для локальных тестов, чтобы иметь возможность отображать его где-то на локальном хосте, как это делается с http://localhost:8000/ через доступ к серверу HTTP.Пожалуйста, найдите образец ниже.
TYPE gauge_name gauge
gauge_name{label1="AAA",label2="BBB",label3="CCC"} 4.0
gauge_name{label1="AAA",label2="BBB",label3="DDD"} 0.0