Использование Prometheus PushGateway с OpenCensus Java Client - PullRequest
0 голосов
/ 11 июля 2019

У меня запущен CronJob, в который я хотел бы интегрировать OpenCensus для экспорта в Prometheus. Однако в настоящее время я должен добавить 1 минуту сна после окончания моей работы, чтобы убедиться, что Прометей соскоблил мои метрики.

Я бы хотел использовать Prometheus PushGateway, чтобы по возможности избежать дополнительного сна, но я не могу понять, как подключить его к OpenCensus.

Вот документация, в которой упоминается: https://github.com/census-instrumentation/opencensus-java/tree/master/exporters/stats/prometheus - там написано следующее:

public class MyMainClass {
  public static void main(String[] args) {
    // Creates a PrometheusStatsCollector and registers it to the default Prometheus registry.
    PrometheusStatsCollector.createAndRegister();

    // Uses a simple Prometheus HTTPServer to export metrics. 
    // You can use a Prometheus PushGateway instead, though that's discouraged by Prometheus:
    // https://prometheus.io/docs/practices/pushing/#should-i-be-using-the-pushgateway.
    io.prometheus.client.exporter.HTTPServer server = 
      new HTTPServer(/*host*/ "localhost", /*port*/  9091, /*daemon*/ true);

    // Your code here.
    // ...
  }
}

Однако нет примеров того, как я мог бы использовать его с OpenCensus. Кто-нибудь делал это раньше и как?

1 Ответ

0 голосов
/ 13 июля 2019

Я думаю, что вы, вероятно, [не хотите | не можете] использовать OpenCensus для того, что вы хотите сделать.

Что OpenCensus делает

OpenCensus передает метрики, например, в Stackdriver, Datadogи т. д., но для Прометея - поток запрос-ответ инвертируется, и метрики, как правило, извлекаются из конечной точки, которая отображает метрики в формате экспозиции Прометея.

Экспортер (-и) OpenCensus Prometheus - и для Java, пример, на который вы ссылаетесь - создает HTTP-сервер, в который вы будете вливать свои метрики (см. этот пример, как принцип тот же).

Прометей - или какой-то другой сервискоторый понимает формат метрики Prometheus - затем периодически очищает эту конечную точку и принимает метрики.

Что делает Prometheus Pushgateway

Ваша задача cron будет генерировать метрики, которые должны быть помещены, например, в Prometheus Pushgateway.В этой архитектуре Pushgateway заменяет конечную точку Экспортера OpenCensus Prometheus.

Все, что вам нужно - возможно, не что иное, как операторы curl, добавленные в ваши задания cron - это то, что будет генерировать HTTP-запросыи отправь их на Пушгейтвей.См .:

https://github.com/prometheus/pushgateway#command-line https://github.com/prometheus/pushgateway#api

Затем вы настроите сервер Prometheus для очистки конечной точки Pushgateway для загрузки ваших метрик заданий cron.

HTH!

...