Отримання метрик в Prometheus
Це завдання показує, як запитувати метрики Istio за допомогою Prometheus. В рамках цього завдання ви будете використовувати вебінтерфейс для запитів значень метрик.
В якості демонстраційного застосунку використовуватиметься Bookinfo.
Перед початком
- Встановіть Istio у вашому кластері.
- Встановіть надбудову Prometheus.
- Розгорніть застосунок Bookinfo.
Отримання метрик з Istio
Перевірте, що сервіс
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
Надішліть трафік до мережі.
Для застосунку Bookinfo відвідайте
http://$GATEWAY_URL/productpage
у вашому вебоглядачі або виконайте наступну команду:$ curl "http://$GATEWAY_URL/productpage"
Відкрийте UI Prometheus.
У середовищах Kubernetes виконайте наступну команду:
$ istioctl dashboard prometheus
Натисніть Graph справа від заголовка Prometheus.
Виконайте запит до Prometheus.
У полі “Expression” у верхній частині вебсторінки введіть текст:
istio_requests_total
Потім натисніть кнопку Execute.
Результати будуть подібні до:
Ви також можете переглянути результати запиту графічно, вибравши вкладку Graph під кнопкою Execute.
Інші запити для спроби:
Загальна кількість усіх запитів до служби
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 для завершення роботи застосунку.