Візуалізація метрик за допомогою Grafana

Це завдання показує, як налаштувати та використовувати Панель управління Istio для моніторингу трафіку мережі. В рамках цього завдання ви будете використовувати надбудову Grafana Istio та вебінтерфейс для перегляду даних трафіку сервісної мережі.

Як приклад використовуватиметься застосунок Bookinfo.

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

Перегляд Панелі управління Istio

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

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

    $ kubectl -n istio-system get svc prometheus
    NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    prometheus   ClusterIP   10.100.250.202   <none>        9090/TCP   103s
  2. Перевірте, що сервіс Grafana працює у вашому кластері.

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

    $ kubectl -n istio-system get svc grafana
    NAME      TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)    AGE
    grafana   ClusterIP   10.103.244.103   <none>        3000/TCP   2m25s
  3. Відкрийте Панель управління Istio через UI Grafana.

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

    $ istioctl dashboard grafana

    Відвідайте http://localhost:3000/d/G8wLrJIZk/istio-mesh-dashboard у вашому веб-браузері.

    Панель управління Istio виглядатиме приблизно так:

    Панель управління Istio
    Панель управління Istio
  4. Надішліть трафік до мережі.

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

    Щоб побачити дані трасування, потрібно надіслати запити до вашої служби. Кількість запитів залежить від коефіцієнта відбору Istio і може бути налаштована за допомогою Telemetry API. При стандартному значенні для коефіцієнта відбору в 1% вам потрібно надіслати принаймні 100 запитів, перш ніж перші трейси стануть видимими.

    Щоб надіслати 100 запитів до служби productpage, використовуйте наступну команду:

    $ for i in $(seq 1 100); do curl -s -o /dev/null "http://$GATEWAY_URL/productpage"; done

    Оновіть сторінку кілька разів (або виконайте команду кілька разів), щоб згенерувати невелику кількість трафіку.

    Перегляньте Панель управління Istio знову. Вона повинна показувати згенерований трафік. Виглядати це буде приблизно так:

    Панель управління Istio з трафіком
    Панель управління Istio з трафіком

    Вона надає глобальний огляд Mesh разом із сервісами та робочими навантаженнями в мережі. Ви можете отримати більше деталей про сервіси та робочі навантаження, перейшовши до їхніх специфічних панелей управління, як описано нижче.

  5. Візуалізуйте Панелі управління Service.

    З меню навігації в лівому куті панелі управління Grafana ви можете перейти до Панелі управління Сервісами Istio або відвідати http://localhost:3000/d/LJ_uJAvmk/istio-service-dashboard у вашому вебоглядачі.

    Панель управління Сервісами Istio виглядатиме приблизно так:

    Панель управління Сервісами Istio
    Панель управління Сервісами Istio

    Вона надає деталі про метрики для сервісу та робочих навантажень клієнтів (робочі навантаження, які викликають цей сервіс) і робочих навантажень сервісу (робочі навантаження, які надають цей сервіс) для цього сервісу.

  6. Візуалізуйте Панелі управління Робочими навантаженнями.

    З меню навігації в лівому куті панелі управління Grafana ви можете перейти до Панелі управління Робочими навантаженнями Istio або відвідати http://localhost:3000/d/UbsSZTDik/istio-workload-dashboard у вашому вебоглядачі.

    Панель управління Робочими навантаженнями Istio виглядатиме приблизно так:

    Панель управління Робочими навантаженнями Istio
    Панель управління Робочими навантаженнями Istio

    Вона надає деталі про метрики для кожного робочого навантаження та вхідні робочі навантаження (робочі навантаження, які надсилають запити до цього робочого навантаження) і вихідні сервіси (сервери, до яких це робоче навантаження надсилає запити) для цього робочого навантаження.

Про панелі управління Grafana

Панель управління Istio складається з трьох основних розділів:

  1. Огляд Мережі. Цей розділ надає глобальний огляд Мережі та показує HTTP/gRPC та TCP робочі навантаження в Mesh.

  2. Індивідуальні Сервіси. Цей розділ надає метрики про запити та відповіді для кожного окремого сервісу в мережі (HTTP/gRPC та TCP). Також надаються метрики про робочі навантаження клієнтів та сервісу для цього сервісу.

  3. Індивідуальні Робочі навантаження. Цей розділ надає метрики про запити та відповіді для кожного окремого робочого навантаження в мережі (HTTP/gRPC та TCP). Також надаються метрики про вхідні робочі навантаження та вихідні сервіси для цього робочого навантаження.

Більше про те, як створювати, налаштовувати та редагувати панелі управління, читайте в документації Grafana.

Очищення

  • Видаліть будь-які процеси kubectl port-forward, які можуть бути запущені:

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

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

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