Как отлаживать агент метрики opencensus? - PullRequest
0 голосов
/ 10 октября 2019

Мне трудно отлаживать, почему мои метрики не достигают моего прометея. Я пытаюсь отправить простые метрики агенту oc и затем перетянуть их с помощью prometheus, но мой код не дает сбоя, и я не вижу метрики в prometheus. Итак, как я могу отладить его? Могу ли я узнать, поступила ли метрика в агент oc?

cAgentMetricsExporter.createAndRegister(
            OcAgentMetricsExporterConfiguration.builder()
                    .setEndPoint("IP:55678")
                    .setServiceName("my-service-name")
                    .setUseInsecure(true)
                    .build());

    Aggregation latencyDistribution = Aggregation.Distribution.create(BucketBoundaries.create(
            Arrays.asList(
                    0.0, 25.0, 100.0, 200.0, 400.0, 800.0, 10000.0)));


    final Measure.MeasureDouble M_LATENCY_MS = Measure.MeasureDouble.create("latency", "The latency in milliseconds", "ms");
    final Measure.MeasureLong M_LINES = Measure.MeasureLong.create("lines_in", "The number of lines processed", "1");
    final Measure.MeasureLong M_BYTES_IN = Measure.MeasureLong.create("bytes_in", "The number of bytes received", "By");

    View[] views = new View[]{
            View.create(View.Name.create("myapp/latency"),
                    "The distribution of the latencies",
                    M_LATENCY_MS,
                    latencyDistribution,
                    Collections.emptyList()),

            View.create(View.Name.create("myapp/lines_in"),
                    "The number of lines that were received",
                    M_LATENCY_MS,
                    Aggregation.Count.create(),
                    Collections.emptyList()),
    };

    // Ensure that they are registered so
    // that measurements won't be dropped.
    ViewManager manager = Stats.getViewManager();
    for (View view : views)
        manager.registerView(view);


    final StatsRecorder STATS_RECORDER = Stats.getStatsRecorder();

    STATS_RECORDER.newMeasureMap()
            .put(M_LATENCY_MS, 17.0)
            .put(M_LINES, 238)
            .put(M_BYTES_IN, 7000)
            .record();

1 Ответ

0 голосов
/ 10 октября 2019

хороший вопрос;Я также боролся с этим.

Агент должен обеспечить лучшее ведение журнала.

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

Если вы получаете метрики, то проблема связана с целевой конфигурацией вашего сервера Prometheus. Вы можете проверить конечную точку сервера, чтобы убедиться, что он получает метрики от агента.

Второй шаг - настроить zPages, а затем проверить /debug/rpcz и /debug/tracez, чтобы убедиться, что вызовы gRPC попадают на агента.

* 1012. это и проверьте, что это метрики доставки (через /metrics).

Часто вам нужно очистить экспортеров.

...