Apache SkyWalking

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

Це завдання використовує Bookinfo, як демонстраційний застосунок.

Щоб дізнатися, як Istio обробляє трейсинг, відвідайте розділ Огляд розподіленого трейсингу.

Налаштування трейсингу

Якщо ви використовували конфігурацію IstioOperator для установки Istio, додайте наступне поле до вашої конфігурації:

apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    defaultProviders:
      tracing:
      - "skywalking"
    enableTracing: true
    extensionProviders:
    - name: "skywalking"
      skywalking:
        service: tracing.istio-system.svc.cluster.local
        port: 11800

З цією конфігурацією Istio буде встановлено з агентом SkyWalking як стандартним трейсером. Дані трейсингу будуть надсилатись до бекенду SkyWalking.

В стандартному профілі швидкість відбору становить 1%. Збільште її до 100% за допомогою Telemetry API:

$ kubectl apply -f - <<EOF
apiVersion: telemetry.istio.io/v1
kind: Telemetry
metadata:
  name: mesh-default
  namespace: istio-system
spec:
  tracing:
  - randomSamplingPercentage: 100.00
EOF

Розгортання SkyWalking Collector

Слідуйте документації з установки SkyWalking для розгортання SkyWalking у вашому кластері.

Розгортання застосунку Bookinfo

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

Доступ до панелі управління

Завдання Віддалений доступ до надбудов телеметрії описує, як налаштувати доступ до надбудов Istio через шлюз.

Для тестування (та тимчасового доступу) ви також можете використовувати порт-форвардинг. Використовуйте наступне, припускаючи, що ви розгорнули SkyWalking у просторі імен istio-system:

$ istioctl dashboard skywalking

Генерація трейсів за допомогою Bookinfo

  1. Коли застосунок 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
  2. У панелі “General Service” ви можете побачити список сервісів.

    Список сервісів
    Список сервісів
  3. Виберіть вкладку Trace в основному контенті. Ви можете побачити список трейсів на лівій панелі та деталі трейсів на правій панелі:

    Перегляд трейсів
    Перегляд трейсів
  4. Трейс складається з набору відрізків (span), де кожен відрізок відповідає сервісу Bookinfo, викликаному під час виконання запиту /productpage, або внутрішньому компоненту Istio, наприклад: istio-ingressgateway.

Дослідження офіційного демонстраційного додатка SkyWalking

У цьому навчальному посібнику ми використовуємо демонстраційний застосунок Bookinfo, у цьому застосунку агент SkyWalking не встановлений на сервісах, всі трейсинги генеруються проксі.

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

Очищення

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

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

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

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