Поради щодо спостережуваності
Використання Prometheus для моніторингу у промисловому масштабі
Рекомендований підхід для моніторингу Istio mesh у промисловому масштабі за допомогою Prometheus — це використання ієрархічної федерації у поєднанні з набором правил запису5.
Хоча встановлення Istio стандартно не розгортає Prometheus6, інструкції з Початку роботи7 Опція 1: Швидкий старт
встановлюють розгортання Prometheus, про що йдеться в керівництві з інтеграції Prometheus8. Це розгортання Prometheus спеціально налаштоване з дуже коротким вікном зберігання (6 годин). Розгортання Prometheus для швидкого старту також налаштоване для збору метрик від кожного проксі Envoy, що працює в mesh, додаючи до кожної метрики набір міток про їхнє походження (instance
, pod
і namespace
).
Агрегація на рівні робочого навантаження через правила запису
Щоб агрегувати метрики між екземплярами та контейнерами, оновіть стандартну конфігурацію Prometheus за допомогою наступних правил запису:
Федерація з використанням агрегованих метрик на рівні робочого навантаження
Щоб встановити федерацію Prometheus, змініть конфігурацію вашого розгортання Prometheus у промисловому масштабі, щоб збирати метрики з федераційної точки доступу Istio Prometheus.
Додайте наступне завдання (job) до вашої конфігурації:
Якщо ви використовуєте Prometheus Operator10, натомість використовуйте наступну конфігурацію:
Оптимізація збору метрик за допомогою правил запису
Крім використання правил запису для агрегації між контейнерами та екземплярами, ви можете використовувати правила запису для створення агрегованих метрик, спеціально налаштованих для ваших існуючих інформаційних панелей та сповіщень. Оптимізація збору даних таким чином може значно зменшити споживання ресурсів у вашому виробничому екземплярі Prometheus, а також покращити швидкість виконання запитів.
Наприклад, уявімо власну інформаційну панель моніторингу, яка використовує такі запити Prometheus:
Загальна кількість запитів, усереднена за останню хвилину за назвою сервісу призначення та простором імен
P95 клієнтська затримка, усереднена за останню хвилину, за іменами та простором імен сервісів джерела та призначення
До конфігурації Istio Prometheus можна додати наступний набір правил запису, використовуючи префікс istio
щоб спростити ідентифікацію цих метрик для федерації.
Виробничий екземпляр Prometheus буде оновлений для федерації з екземпляром Istio за допомогою:
умови
match
з{__name__=~"istio:(.*)"}
конфігурації relabeling метрик з:
regex: "istio:(.*)"
Оригінальні запити будуть замінені на:
istio_requests:by_destination_service:rate1m
avg(istio_request_duration_milliseconds_bucket:p95:rate1m)