Тестування ELK у DevOps
Тепер, коли файл Docker Compose повністю налаштований і всі сервіси визначені, настав час протестувати систему. Тестування гарантує, що кожен компонент — додаток Flask, Filebeat, Logstash, Elasticsearch та Kibana — працює коректно та взаємодіє між собою відповідно до очікувань.
Збірка контейнерів
Щоб запустити контейнери у фоновому режимі та переконатися, що всі зміни у Dockerfiles застосовані, виконайте:
Ця команда перебудовує образи, якщо були внесені зміни (--build
), і запускає всі контейнери у фоновому режимі (-d
), щоб ваш термінал залишався вільним. Це гарантує застосування останньої конфігурації та коду без блокування терміналу.
Після запуску контейнерів важливо переконатися, що всі сервіси працюють коректно. Виконайте наступну команду у вашому терміналі:
Ця команда виводить список усіх контейнерів разом із їхнім статусом, іменами та портами. Ви повинні побачити, що кожен контейнер — Flask-додаток, Filebeat, Logstash, Elasticsearch та Kibana — знаходиться у стані UP.
Якщо якийсь контейнер не перебуває у цьому стані, перегляньте його логи, щоб визначити та усунути проблему перед подальшими діями.
Тестування логуючого конвеєра ELK
Відкрийте браузер і перейдіть за адресою localhost:5601
. Kibana працює на цьому порту. Після завантаження інтерфейсу відкрийте панель зліва та перейдіть на вкладку Discover.
Натисніть Create data view, щоб вказати, які логи відображати:
-
Введіть назву, наприклад
logs
; -
У полі Index pattern введіть
flask-logs*
. Зірочка означає, що буде включено будь-який індекс, який починається зflask-logs
; -
Натисніть Save data view.
Kibana тепер відображатиме логи з додатка. На цьому етапі з’являться лише початкові записи запуску.
Далі протестуйте застосунок, відкривши localhost:5050
у новій вкладці браузера. Відвідування сторінок створює події журналу в контейнері, які обробляються Filebeat і Logstash та відображаються у Kibana. Поверніться до Kibana і натисніть Оновити. Протягом 10–15 секунд з’являться нові журнали, наприклад "User opened the home page" або "User clicked the button".
Усі контейнери працюють, і ELK pipeline повністю функціонує. Журнали з Flask app збираються, обробляються та відображаються у Kibana в режимі реального часу. Ваша система журналювання готова до моніторингу та аналізу активності застосунку.
1. Яка команда правильно запускає всі контейнери, визначені у файлі Docker Compose?
2. Який порт використовується для доступу до Kibana у цій конфігурації?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What should I do if one of the containers is not in the UP state?
How can I view the logs in Kibana after starting the containers?
Can you explain how to test if the logging pipeline is working correctly?
Awesome!
Completion rate improved to 3.7
Тестування ELK у DevOps
Свайпніть щоб показати меню
Тепер, коли файл Docker Compose повністю налаштований і всі сервіси визначені, настав час протестувати систему. Тестування гарантує, що кожен компонент — додаток Flask, Filebeat, Logstash, Elasticsearch та Kibana — працює коректно та взаємодіє між собою відповідно до очікувань.
Збірка контейнерів
Щоб запустити контейнери у фоновому режимі та переконатися, що всі зміни у Dockerfiles застосовані, виконайте:
Ця команда перебудовує образи, якщо були внесені зміни (--build
), і запускає всі контейнери у фоновому режимі (-d
), щоб ваш термінал залишався вільним. Це гарантує застосування останньої конфігурації та коду без блокування терміналу.
Після запуску контейнерів важливо переконатися, що всі сервіси працюють коректно. Виконайте наступну команду у вашому терміналі:
Ця команда виводить список усіх контейнерів разом із їхнім статусом, іменами та портами. Ви повинні побачити, що кожен контейнер — Flask-додаток, Filebeat, Logstash, Elasticsearch та Kibana — знаходиться у стані UP.
Якщо якийсь контейнер не перебуває у цьому стані, перегляньте його логи, щоб визначити та усунути проблему перед подальшими діями.
Тестування логуючого конвеєра ELK
Відкрийте браузер і перейдіть за адресою localhost:5601
. Kibana працює на цьому порту. Після завантаження інтерфейсу відкрийте панель зліва та перейдіть на вкладку Discover.
Натисніть Create data view, щоб вказати, які логи відображати:
-
Введіть назву, наприклад
logs
; -
У полі Index pattern введіть
flask-logs*
. Зірочка означає, що буде включено будь-який індекс, який починається зflask-logs
; -
Натисніть Save data view.
Kibana тепер відображатиме логи з додатка. На цьому етапі з’являться лише початкові записи запуску.
Далі протестуйте застосунок, відкривши localhost:5050
у новій вкладці браузера. Відвідування сторінок створює події журналу в контейнері, які обробляються Filebeat і Logstash та відображаються у Kibana. Поверніться до Kibana і натисніть Оновити. Протягом 10–15 секунд з’являться нові журнали, наприклад "User opened the home page" або "User clicked the button".
Усі контейнери працюють, і ELK pipeline повністю функціонує. Журнали з Flask app збираються, обробляються та відображаються у Kibana в режимі реального часу. Ваша система журналювання готова до моніторингу та аналізу активності застосунку.
1. Яка команда правильно запускає всі контейнери, визначені у файлі Docker Compose?
2. Який порт використовується для доступу до Kibana у цій конфігурації?
Дякуємо за ваш відгук!