Grafana

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

Конфігурація

Хоча ви можете створити власні дашборди, Istio пропонує набір попередньо налаштованих панелей для всіх найважливіших метрик для мережі та для панелі управління.

Є кілька способів налаштувати Grafana для використання цих панелей:

Варіант 1: Швидкий старт

Istio надає базове демонстраційне встановлення для швидкого запуску Grafana, з усіма вже встановленими інфопанелями Istio:

$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.25/samples/addons/grafana.yaml

Це розгорне Grafana у вашому кластері. Це призначено лише для демонстрації та не оптимізовано для продуктивності або безпеки.

Варіант 2: Імпорт з grafana.com в наявне розгортання

Щоб швидко імплементувати інфопанелі Istio в наявний екземпляр Grafana, ви можете використовувати кнопку Імпорт в UI Grafana для додавання вище наведених посилань в панелі. При імпорті панелей, зверніть увагу, що ви повинні вибрати джерело даних Prometheus.

Ви також можете використовувати скрипт для імпорту всіх панелей одночасно. Наприклад:

$ # Адреса Grafana
$ GRAFANA_HOST="http://localhost:3000"
$ # Облікові дані для входу, якщо використовується автентифікація
$ GRAFANA_CRED="USER:PASSWORD"
$ # Назва джерела даних Prometheus, яке потрібно використовувати
$ GRAFANA_DATASOURCE="Prometheus"
$ # Версія Istio для розгортання
$ VERSION=1.25.1
$ # Імпорт усіх інфопанелей Istio
$ for DASHBOARD in 7639 11829 7636 7630 7645 13277; do
$     REVISION="$(curl -s https://grafana.com/api/dashboards/${DASHBOARD}/revisions -s | jq ".items[] | select(.description | contains(\"${VERSION}\")) | .revision" | tail -n 1)"
$     curl -s https://grafana.com/api/dashboards/${DASHBOARD}/revisions/${REVISION}/download > /tmp/dashboard.json
$     echo "Імпорт $(cat /tmp/dashboard.json | jq -r '.title') (revision ${REVISION}, id ${DASHBOARD})..."
$     curl -s -k -u "$GRAFANA_CRED" -XPOST \
$         -H "Accept: application/json" \
$         -H "Content-Type: application/json" \
$         -d "{\"dashboard\":$(cat /tmp/dashboard.json),\"overwrite\":true, \
$             \"inputs\":[{\"name\":\"DS_PROMETHEUS\",\"type\":\"datasource\", \
$             \"pluginId\":\"prometheus\",\"value\":\"$GRAFANA_DATASOURCE\"}]}" \
$         $GRAFANA_HOST/api/dashboards/import
$     echo -e "\nГотово\n"
$ done

Варіант 3: Методи, специфічні для реалізації

Grafana може бути встановлена та налаштована іншими методами. Для імпорту панелей управління Istio, ознайомтеся з документацією для методу встановлення. Наприклад:

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

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