Робота із журналами подій в інтерфейсі застосунку Kibana

1. Інструкція з користування

Kibana є інструментом для візуалізації журналів усіх додатків. Журнали у будь-якому віртуальному середовищі записуються до консолі й дублюються в Elasticsearch.

Отримати доступ до журналів можна в додатку Kibana.

Посилання до сервісу технічних логів Kibana можливо отримати в адміністративній панелі Control Plane:

Відкрийте вкладку Швидкі посилання > розділ Операційна зона Платформи та перейдіть за посиланням до Вебінтерфейс перегляду журналу подій Платформи (Kibana).

kibana section1 figure0

Для цього слід виконати наступні кроки:

  1. Відкрийте додаток, перейдіть до секції Management.

  2. Натисніть Create index pattern, щоб отримати можливість прочитати журнали з індексів, що потрапляють до Elasticsearch.

    kibana section1 figure1

  3. У полі Define Index Pattern, створіть свій індекс-паттерн згідно з шаблоном. Наприклад, якщо всі журнали починаються з app-, створіть індекс-паттерн app-*, щоб відобразити відповідні журнали.

  4. Натисніть Next step, щоб перейти до наступного кроку.

    kibana section1 figure2

  5. Скористуйтеся фільтром на вкладці Configure Settings, щоб обрати період, дані за який слід відобразити.

    За замовчуванням, будуть відображені журнали за останні 15 хвилин.
  6. Натисніть Create Index Pattern.

    kibana section1 figure3

  7. Після створення індекс-паттерну app-*, перейдіть на вкладку Discover, щоб отримати наступну інформацію:

    • кількість журналів, що були створені за обраний період;

    • список журналів.

    kibana section1 figure4

  8. Натисніть значок зліва, біля відповідного рядка, щоб подивитися параметри події:

    • час, коли відбулася подія;

    • місце, де вона відбулася;

    • тип (info/warning/error);

    • повідомлення.

    kibana section1 figure5

2. Помилки

2.1. Фільтрування даних

Якщо при виконанні запиту виникла помилка, отримати інформацію щодо цієї помилки можна кількома способами за допомогою trace id – ідентифікатора.

Спосіб I.

Щоб дістатися до журналів, що містять інформацію про подію, необхідно скопіювати trace id у Реєстрі на порталі або в Openshift і додати його у строку пошуку на вкладці Discover. Також необхідно обрати період, дані за який слід отримати.

kibana section2.1 figure1

Спосіб II.

На вкладці Discover, у вікні Filter, оберіть X-B3-Traceid, потім is, додайте trace id і натисніть Save.

kibana section2.1 figure2

Журнали, що з’являться на сторінці, відповідатимуть даному trace id. Щоб скоротити обсяг інформації, яку буде відображено, і отримати лише необхідну, слід налаштувати відповідні поля, обравши Message і Level зі списку ліворуч.

kibana section2.1 figure3

2.2. Візуалізація даних

Kibana дозволяє візуалізувати інформацію за допомогою різних чартів. Для цього здійсніть наступні кроки:

  1. Оберіть вкладку Visualize;

  2. Натисніть Create visualization;

  3. Оберіть тип візуалізації;

  4. Оберіть час, за який слід отримати дані.

    kibana section2.2 figure1

Візуалізації можуть бути об’єднані й розміщені на одній дошці за допомогою вкладки Dashboard.

kibana section2.2 figure2

2.3. Імпорт дашборду

Для імпортування дашборду, завантажте файл kibana-logs-dashboard.json.

Далі виконайте наступні кроки:

  1. Оберіть вкладку Management.

  2. Натисніть Saved Objects.

  3. Натисніть Import.

  4. У вкладці, що відкрилася, знов натисніть Import.

  5. Після завантаження, зайдіть в папку Downloads і оберіть файл kibana-logs-dashboard.json.

  6. Натисніть Import і Done, щоб імпортувати всі об’єкти, серед яких є:

    • дашборд;

    • індекс-паттерн, що був створений;

    • всі візуалізації.

    kibana section2.3 figure1

Після здійснення імпорту, для отримання доступу до консолідованої інформації з усіх журналів виконайте наступні дії.

  1. Перейдіть на вкладку Dashboard.

  2. Оберіть Logs Dashboard зі списку. kibana section2.3 figure2

  3. Оберіть середовище за допомогою фільтрів.

  4. Натисніть Apply changes та отримайте агреговану інформацію по даному середовищу за останні 15 хвилин.

  5. Скористайтеся фільтром, щоб зазначити час, за який потрібна інформація. kibana section2.3 figure3

2.4. Робота з чартами

Інформація, яку відображено на чартах і в таблицях містить:

  1. загальну кількість запитів за обраний період:

    • вихідних;

    • вхідних.

  2. кількість вхідних запитів, що надійшли в те чи інше середовище.

    kibana section2.4 figure1

  3. загальну кількість:

    • помилок;

    • відповідей.

  4. кількість відповідей, що надійшли в те чи інше середовище;

    kibana section2.4 figure2

    Запити й відповіді є окремі події, що пишуться в окремі журнали. Кількість відповідей повинна сходитися з кількістю запитів.

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

  5. http трафік (перелік запитів, що надійшли та відповідей, що були отримані);

    kibana section2.4 figure3

  6. всі журнали з інформацією, яка дозволяє провести детальне розслідування падіння запиту;

    kibana section2.4 figure4

  7. далі фільтруємо інформацію за конкретним trace id;

    kibana section2.4 figure5

  8. ми бачимо скільки запитів і відповідей було за цим trace id, всі журнали, а також повідомлення в журналах, що містять такі дані:

    • час тривання запиту;

    • хедери;

    • статус-код відповіді;

    • повідомлення;

    • всі журнали, що відповідають цьому ідентифікатору.

    kibana section2.4 figure6

  9. виключення є сортовані за кількістю (зменшується знизу вверх) і містять наступну інформацію:

    • які то були виключення;

    • на якому сервісі виникли.

    kibana section2.4 figure7

Для отримання більш детальної інформації щодо виключення:

  1. оберіть час;

  2. перейдіть до поля container і оберіть ім’я сервісу, на якому трапилася помилка;

  3. натисніть Apply changes.

    kibana section2.4 figure8

Якщо помилка трапилася не у рамках якогось сервісу:

  1. Скопіюйте назву помилки.

    kibana section2.4 figure9

  2. Додайте назву у рядок пошуку (повинна бути у подвійних лапках з метою фільтрування за точним співпадінням всіх символів).

    kibana section2.4 figure10

    У таблиці нижче, наведені такі дані:

    • час;

    • рівень;

    • повідомлення.

    kibana section2.4 figure11

Розділ повідомлення містить детальну інформацію про помилку та причини, за яких вона сталася.

kibana section2.4 figure12

На вкладці Dashboard, ми бачимо кількість помилок, що виникли за обраний період часу.

kibana section2.4 figure13

Якщо натиснути на цифру, буде створено фільтр з кодами відповідей: 501, 502, 503, 504, 505.

kibana section2.4 figure14

Нижче ми можемо побачити інформацію відносно цих кодів відповідей. Якщо скопіювати trace id запита, де сталася помилка і вставити в строку пошуку на вкладці Dashboard, можна отримати інформацію за цим ідентифікатором.

kibana section2.4 figure15

Зараз ми маємо змогу бачити кількість запитів, відповідей та помилок за даним trace id.

kibana section2.4 figure16

Далі переходимо до таблиці, яка містить інформацію по запиту де сталася помилка. Таблицю слід починати дивитися знизу оскільки дані сортовані за часом.

kibana section2.4 figure17

Таблиця дозволяє прослідкувати весь шлях проходження запиту і знайти місце де сталася помилка, а також з’ясувати її причини.

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

  • info – інформація про стан подій;

  • warning – застереження;

  • error - помилка.

Перші два значення не є критичними та не потребують особливої уваги.

Щоб знайти помилку скористуйтеся фільтром на вкладці Dashboard і оберіть err.

kibana section2.4 figure18

У журналах помилок, що відкрилися, натисніть на стрілку справа, щоб подивитися детальну інформацію.

kibana section2.4 figure19

Дана інформація містить дані про помилку і причину.

kibana section2.4 figure20