Отримання метрик в Prometheus

Це завдання показує, як запитувати метрики Istio за допомогою Prometheus. В рамках цього завдання ви будете використовувати вебінтерфейс для запитів значень метрик.

В якості демонстраційного застосунку використовуватиметься Bookinfo.

Перед початком

Отримання метрик з Istio

  1. Перевірте, що сервіс prometheus працює у вашому кластері.

    У середовищах Kubernetes виконайте наступну команду:

    $ kubectl -n istio-system get svc prometheus
    NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    prometheus   ClusterIP   10.109.160.254   <none>        9090/TCP   4m
  2. Надішліть трафік до мережі.

    Для застосунку Bookinfo відвідайте http://$GATEWAY_URL/productpage у вашому вебоглядачі або виконайте наступну команду:

    $ curl "http://$GATEWAY_URL/productpage"
  3. Відкрийте UI Prometheus.

    У середовищах Kubernetes виконайте наступну команду:

    $ istioctl dashboard prometheus

    Натисніть Graph справа від заголовка Prometheus.

  4. Виконайте запит до Prometheus.

    У полі “Expression” у верхній частині вебсторінки введіть текст:

    istio_requests_total

    Потім натисніть кнопку Execute.

Результати будуть подібні до:

Результат запиту Prometheus
Результат запиту Prometheus

Ви також можете переглянути результати запиту графічно, вибравши вкладку Graph під кнопкою Execute.

Результат запиту Prometheus - графічний
Результат запиту Prometheus - графічний

Інші запити для спроби:

  • Загальна кількість усіх запитів до служби productpage:

    istio_requests_total{destination_service="productpage.default.svc.cluster.local"}
  • Загальна кількість усіх запитів до v3 служби reviews:

    istio_requests_total{destination_service="reviews.default.svc.cluster.local", destination_version="v3"}

    Цей запит повертає поточну загальну кількість усіх запитів до версії v3 служби reviews.

  • Швидкість запитів за останні 5 хвилин до всіх екземплярів служби productpage:

    rate(istio_requests_total{destination_service=~"productpage.*", response_code="200"}[5m])

Про надбудову Prometheus

Надбудова Prometheus є сервером Prometheus, який постачається з попередньо налаштованими параметрами для збору метрик Istio. Він забезпечує механізм для постійного зберігання та отримання метрик Istio.

Більше про запити до Prometheus читайте в документації з запитів.

Очищення

  • Видаліть будь-які процеси istioctl, які можуть ще працювати, використовуючи control-C або:

    $ killall istioctl
  • Якщо ви не плануєте досліджувати подальші завдання, дотримуйтесь інструкцій з очищення Bookinfo для завершення роботи застосунку.

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!