Как протолкнуть датчик с несколькими метриками в Прометей?Проблема со шлюзом - PullRequest
0 голосов
/ 27 сентября 2019

Экспонирование датчика 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
...