"t.data.data не определено" в графане - PullRequest
0 голосов
/ 02 января 2019

Я новичок в микрометре, прометее и графане.Я пытаюсь запустить мой первый пример с этими тремя вещами, работающими вместе.Но мне трудно понять, что я делаю неправильно.

Я использую API микрометра для создания PrometheusMeterRegistry, например:

new PrometheusMeterRegistry(new PrometheusConfig() {
        @Override
        public Duration step() {
            return Duration.ofSeconds(10);
        }

        @Override
        @Nullable
        public String get(String k) {
            return null;
        }
    });

И я 'm * создавая HttpServer, как описано здесь, используя следующий код:

try {
            HttpServer server = HttpServer.create(new InetSocketAddress(8080), 0);
            server.createContext("/prometheus", httpExchange -> {
                String response = prometheusMeterRegistry.scrape();
                httpExchange.sendResponseHeaders(200, response.getBytes().length);
                try (OutputStream os = httpExchange.getResponseBody()) {
                    os.write(response.getBytes());
                }
            });

            new Thread(server::start).start();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }

Я настроил Prometheus как мой источник данных в графане и установил URL-адрес на http://localhost:8080/prometheus.Но когда я пытаюсь создать новую панель инструментов и добавить к ней график, я получаю красный восклицательный знак с надписью t.data.data is undefined.И из-за этого я не могу просматривать графики.Полная трассировка стека выглядит следующим образом:

kr</t.prototype.transform@http://localhost:3000/public/build/app.dfabdd44b3be44288eac.js:22:723420
jr</t.prototype.query/</<@http://localhost:3000/public/build/app.dfabdd44b3be44288eac.js:22:736135
qt@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:9:5239
Wa@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:9:40274
jr</t.prototype.query/<@http://localhost:3000/public/build/app.dfabdd44b3be44288eac.js:22:735858
c/</<@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:92198
c/<@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:92043
$digest@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:97575
$apply@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:99590
$applyAsync/r<@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:99735
h@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:33036
ln/this.$get</</i.defer/n<@http://localhost:3000/public/build/vendor.dfabdd44b3be44288eac.js:130:34396

Ниже приведен скриншот ошибки в графане, которую я получаю: enter image description here

Любойподскажите, чего мне не хватает?

Примечание: я вижу, как таймер публикуется на собственном прометее с помощью URL localhost:8080/prometheus.

1 Ответ

0 голосов
/ 03 января 2019

8080 - ваш сервер приложений.Вам нужно запустить сервер Prometheus, который очищает это приложение, затем вы можете использовать localhost: 9090 в качестве источника данных.

...