JavaRush /Курси /Модуль 2: Fullstack /Візуалізація логів у Kibana

Візуалізація логів у Kibana

Модуль 2: Fullstack
Рівень 17 , Лекція 7
Відкрита

8.1 Налаштування індексу для логів Docker

Для демонстрації я створив Docker-образ з ELK і Filebeat, який включає тестову програму для генерації логів. У цьому прикладі ми зосередимося на налаштуванні індексу для логів Docker в Kibana.

Крок 1: Клонування репозиторію і запуск ELK-стека

Завантажте репозиторій з налаштуваннями Docker Compose для ELK-стека і запустіть його:

Terminal

git clone https://github.com/et-soft/habr-elk
cd habr-elk
docker compose up

Для зручності ключ -d опущений, щоб можна було бачити процес запуску ELK-стека. Запуск може зайняти кілька хвилин. Після успішного старту в логах має з'явитися запис:

Terminal

{"type":"log","@timestamp":"2020-09-20T05:55:14Z","tags":["info","http","server","Kibana"],
"pid":6,"message":"http server running at http://0:5601"}

Крок 2: Доступ до Kibana

Відкрийте веб-браузер і перейдіть за посиланням http://localhost:5601.

Крок 3: Налаштування індексу для логів

Оберіть в лівому меню Kibana розділ Discover, щоб перейти на сторінку створення індексу.

Крок 4: Створення нового індексу

Натисніть на кнопку Create index pattern, щоб відкрити форму налаштування. У полі Index pattern name введіть logstash-*. Якщо налаштування виконано правильно, Kibana покаже індекси, що відповідають правилу.

Крок 5: Вибір часової мітки

На наступній сторінці оберіть ключове поле з часовою міткою — @timestamp.

Крок 6: Перевірка індексу

Після завершення налаштування ви побачите сторінку налаштувань індексу. Зараз додаткових дій не потрібно.

Крок 7: Перегляд логів

Перейдіть назад до розділу Discover, де буде відображено записи логів із Docker-контейнерів.

8.2 Створення дашбордів для візуалізації логів

Крок 1. Створіть дашборди для візуалізації логів

У лівому меню тиснемо на розділ "Dashboard" — це нас і виведе на сторінку, де створюються дашборди.

Крок 2. Тапаємо на «Create new dashboard», і нас відправлять на екран, де вже додаються об'єкти у цей самий Dashboard.

Крок 3. Тиснемо на кнопку «Create new», і Kibana запропонує обрати, як відображати дані. Варіантів там повно, але для прикладу розглянемо два — графіки в стилі «Vertical Bar» і табличне представлення «Data Table». Усе інше налаштовується схоже.

8.3 Гістограма логів

Давай для прикладу «Vertical Bar» зробимо гістограму, яка покаже співвідношення успішних і неуспішних запитів сервісу. Після налаштування у нас вийде щось таке:

До успішних належать запити з кодом відповіді < 400, а всі >= 400 ми вважаємо проблемними.

Спочатку потрібно обрати джерело даних для графіка. Беремо Index Pattern, який створили раніше.

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

У розділі «Buckets» натискаємо «Add», обираємо «X-axis» і налаштовуємо вісь Х. По ній будуть відкладатися часові мітки. У полі «Aggregation» обираємо «Date Histogram», а в «Field» вказуємо «@timestamp». Поле «Minimum interval» можна залишити в «Auto».

Натискаємо «Update», і на графіку відобразиться кількість запитів кожні 30 секунд.

Тепер займемося налаштуванням стовпців по осі Y. Зараз відображається загальна кількість запитів за інтервал часу. Змінюємо агрегацію на «Sum Bucket», щоб додати успішні й проблемні запити. У розділі Bucket → Aggregation обираємо «Filters» і задаємо фільтр: «statusCode >= 400». У полі «Custom label» пишемо зрозумілу назву для метрики.

Натискаємо «Update», і графік показуватиме лише проблемні запити.

Хочеш змінити колір стовпців? Натисни на круг у легенді графіка, і з'явиться вікно для вибору кольору.

Тепер додаємо дані про успішні запити. У розділі «Metrics» натискаємо «Add» і обираємо «Y-axis». Налаштовуємо аналогічно, але для фільтра вказуємо «statusCode < 400».

Змінюємо колір для нового стовпця, і у нас вийде візуалізація співвідношення успішних та проблемних запитів.

Не забудь зберегти графік, натиснувши «Save» у верхній частині екрана. Вкажи назву, і він з'явиться на Dashboard.

8.4 Таблиця логів

Давай створимо таблицю «Data Table», щоб бачити список всіх URL, до яких були запити, і їх кількість. Почнемо, як і в випадку з Vertical Bar, з вибору джерела даних.

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

Тепер налаштуємо таблицю. Переходимо в блок «Buckets», тиснемо «Add» і обираємо «Split rows».

У появившомуся полі «Aggregation» обираємо «Terms», а у «Field» зазначаємо «url.keyword».

У полі «Custom label» вводимо зрозумілу назву, наприклад «Url». Потім тиснемо «Update» — і наша таблиця готова. У ній відображається кількість запитів до кожного URL за вибраний інтервал часу.

Щоб зберегти таблицю, тиснемо «Save» у верхній частині екрану, вказуємо назву (наприклад, «Urls»), і повертаємось на Dashboard. Тепер ми бачимо обидва наші створені відображення.

Готовий Dashboard з таблицею і графіком
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ