Ошибка синтаксического анализа текстового формата в строке 1: неверное имя метрики при тестировании метрик Prometheus с использованием будьте уверены

Я пытаюсь имитировать метрики в Prometheus с помощью Push Gateway. Когда я передаю эти значения в PostMan, я могу видеть ввод показателей в Push Gateway. Но когда я пытаюсь сделать то же самое с Rest Assured, это не работает. Я получаю сообщение об ошибке RESPONSE: ошибка анализа текстового формата в строке 1: недопустимое имя метрики.

У кого-нибудь есть идеи?

public void sendRequestsToPushGateway() {System.out.println("Отправить запрос на шлюз push");

    validatableResponse = given().contentType(ContentType.TEXT)
            .body("\"container_cpu_cfs_throttled_seconds_total\"" + "{" + "\"container_name\" = \"test\", "
                    + "\"pod_name\"=\"test-stable\"," + "\"exported_namespace\"=\"demo\"" + "} "
                    + "100.0\n")
            .when()
            .put("http://prometheus-pushgateway-stem.eu-mesh-poc-eu-west-1.aws.dev.ins.lnrs.io/metrics/job/cpusaturationtest/instance/3")
            .then();

    String RESPONSE = validatableResponse.extract().asString();
    System.out.println("RESPONSE :" + RESPONSE);
}

2 ответа

Учитывая код, содержимое страницы будет:

"container_cpu_cfs_throttled_seconds_total"{"container_name" = "test", "pod_name"="test-stable","exported_namespace"="demo"} 100.0

Слишком много "и пробелы. Содержание должно быть:

container_cpu_cfs_throttled_seconds_total{container_name="test",pod_name="test-stable",exported_namespace="demo"} 100.0

Вы можете обратиться к формату текстового файла Prometheus.

Я нашел решение. Мне нужно удалить лишние "" из таких тегов, как имя_контейнера, имя_пода и экспортированное_пространство имен

validatableResponse = given().contentType(ContentType.TEXT).body("container_cpu_cfs_throttled_seconds_total" + "{container_name = \" test \", pod_name =\"test-stable\",exported_namespace=\" demo \"}" + "100.0\ n ").when ().put ("http://prometheus-pushgateway-stem.eu-mesh-poc-eu-west-1.aws.dev.ins.lnrs.io/metrics/job/cpusaturationalert/instance/2").then ();

Другие вопросы по тегам