Підручник із стеку ELK: що таке Kibana, Logstash & Elasticsearch?
Що таке стек ELK?
Команда Стек ЛОСИ це набір із трьох відкритих продуктів — Elasticsearch, Logstashі Кібана. Стек ELK забезпечує централізоване журналювання для виявлення проблем із серверами чи програмами. Це дозволяє шукати всі журнали в одному місці. Це також допомагає знаходити проблеми на кількох серверах, підключаючи журнали протягом певного періоду часу.
- E означає ElasticSearch: використовується для зберігання журналів
- L означає LogStash : використовується як для доставки, так і для обробки та зберігання журналів
- K розшифровується як Kibana: є a засіб візуалізації (веб-інтерфейс), який розміщується через Nginx або Apache
ElasticSearch, LogStash і Kibana розробляє, керує та підтримує компанія під назвою Elastic.
ELK Stack розроблений, щоб дозволити користувачам отримувати дані з будь-якого джерела в будь-якому форматі, а також шукати, аналізувати та візуалізувати ці дані в режимі реального часу.
Стек ЛОСИ Archiтектура
Тепер у цьому посібнику зі стеку ELK ми дізнаємося про архітектуру ELK:
Ось проста архітектура стеку ELK
- Журнали: Визначаються серверні журнали, які потрібно проаналізувати
- Logstash: Збирайте журнали та дані про події. Він навіть аналізує та перетворює дані
- ElasticSearch: Перетворені дані з Logstash is Зберігати, шукати та індексувати.
- Кібана: Kibana використовує Elasticsearch DB для дослідження, візуалізації та спільного використання
Однак потрібен ще один компонент або збір даних під назвою Beats. Це змусило Elastic перейменувати ELK на Elastic Stack.
Під час роботи з дуже великими обсягами даних вам може знадобитися Kafka, RabbitMQ для буферизації та стійкості. Для безпеки можна використовувати nginx.
Тепер у цьому посібнику з еластичного стеку Давайте глибше зануримося в усі ці продукти з відкритим кодом:
Що таке Elasticsearch?
Elasticsearch — це a База даних NoSQL. Він базується на пошуковій системі Lucene та створений за допомогою RESTful APIS. Він пропонує просте розгортання, максимальну надійність і просте керування. Він також пропонує розширені запити для виконання детального аналізу та зберігає всі дані централізовано. Це корисно для швидкого пошуку документів.
Elasticsearch також дозволяє зберігати, шукати та аналізувати великий обсяг даних. Здебільшого він використовується як основний механізм для роботи програм, які виконали вимоги пошуку. Він був прийнятий на платформах пошукових систем для сучасних веб- і мобільних додатків. Окрім швидкого пошуку, інструмент також пропонує комплексну аналітику та багато розширених функцій.
Особливості еластичного пошуку
- Сервер пошуку з відкритим кодом написаний за допомогою Java
- Використовується для індексування різнорідних даних будь-якого типу
- Має веб-інтерфейс REST API з виведенням JSON
- Повнотекстовий пошук
- Пошук у майже реальному часі (NRT).
- Сховище документів у форматі JSON із можливістю реплікації та пошуку
- Розподілене сховище документів на основі REST і JSON без схем
- Підтримка кількох мов і геолокації
Переваги Elasticsearch
- Зберігайте дані без схеми, а також створюйте схему для ваших даних
- Керуйте своїми записами даних за записами за допомогою багатодокументних API
- Виконуйте фільтрацію та надсилайте запити на дані, щоб отримати статистику
- Базується на Apache Lucene та надає RESTful API
- Забезпечує горизонтальну масштабованість, надійність і багатокористувацький потенціал для використання індексування в реальному часі для пришвидшення пошуку
- Допомагає масштабувати по вертикалі та горизонталі
Важливі терміни, що використовуються в еластичному пошуку
Тепер у цьому підручнику ELK давайте дізнаємося про ключові терміни, які використовуються в ElasticSearch:
Термін | Використання |
---|---|
Cluster | Кластер — це набір вузлів, які разом зберігають дані та забезпечують об’єднані можливості індексування та пошуку. |
вузол | Вузол — це екземпляр elasticsearch. Він створюється, коли починається екземпляр elasticsearch. |
індекс | Покажчик — це набір документів, що мають подібні характеристики. наприклад, дані клієнта, каталог продукції. Це дуже корисно під час виконання операцій індексування, пошуку, оновлення та видалення. Це дозволяє визначати скільки завгодно індексів в одному кластері. |
Документ | Це основна одиниця інформації, яку можна індексувати. Він виражається в парі JSON (ключ: значення). '{“user”: “nullcon”}'. Кожен окремий документ пов’язаний із типом і унікальним ідентифікатором. |
осколок | Кожен індекс можна розбити на кілька сегментів, щоб мати можливість розподіляти дані. Шард — це атомарна частина індексу, яку можна розподілити по кластеру, якщо ви хочете додати більше вузлів. |
Що таке Logstash?
Logstash це інструмент конвеєра збору даних. Він збирає вхідні дані та передає їх у Elasticsearch. Він збирає всі типи даних з різних джерел і робить їх доступними для подальшого використання.
Logstash може уніфікувати дані з різних джерел і нормалізувати дані у бажаних місцях призначення. Це дозволяє очистити та демократизувати всі ваші дані для аналітики та візуалізації варіантів використання.
Він складається з трьох компонентів:
- вхід: передача журналів для їх обробки у зрозумілий машині формат
- Фільтри: це набір умов для виконання певної дії чи події
- Вихід: засіб прийняття рішень щодо обробленої події або журналу
Особливості Logstash
У цьому посібнику з LogStash давайте дізнаємося про функції LogStash:
- Події проходять через кожну фазу за допомогою внутрішніх черг
- Дозволяє різні входи для ваших журналів
- Фільтрування/розбір ваших журналів
Перевага Logstash
- Пропозиції централізують обробку даних
- Він аналізує велику різноманітність структурованих/неструктурованих даних і подій
- ELK LogStash пропонує плагіни для підключення до різних типів джерел введення та платформ
Що таке Кібана?
Kibana — це візуалізація даних, яка доповнює стек ELK. Цей інструмент використовується для візуалізації документів Elasticsearch і допомагає розробникам швидко ознайомитися з ними. Інформаційна панель Kibana пропонує різні інтерактивні діаграми, геопросторові дані та графіки для візуалізації складних запитів.
Його можна використовувати для пошуку, перегляду та взаємодії з даними, що зберігаються в каталогах Elasticsearch. Kibana допоможе вам працювати на просунутому рівні аналіз даних і візуалізуйте свої дані в різноманітних таблицях, діаграмах і картах.
У Kibana існують різні методи для виконання пошуку ваших даних.
Ось найпоширеніші типи пошуку:
Тип пошуку | Використання |
---|---|
Вільний текстовий пошук | Використовується для пошуку певного рядка |
Пошуки на рівні поля | Використовується для пошуку рядка в певному полі |
Логічні твердження | Він використовується для об’єднання пошуків у логічне твердження. |
Пошуки близькості | Він використовується для пошуку термінів у межах певної близькості символів. |
У цьому підручнику Kibana давайте дізнаємось про важливі функції Kibana:
Особливості Kinbana:
- Потужна інтерфейсна інформаційна панель, яка здатна візуалізувати індексовану інформацію з еластичного кластера
- Вмикає пошук індексованої інформації в реальному часі
- Ви можете шукати, переглядати та взаємодіяти з даними, що зберігаються в Elasticsearch
- Виконуйте запити до даних і візуалізуйте результати в діаграмах, таблицях і картах
- Інформаційна панель, що налаштовується, дозволяє розділяти журнали logstash у elasticsearch
- Здатність надавати історичні дані у вигляді графіків, діаграм тощо.
- Інформаційні панелі в реальному часі, які легко налаштовуються
- Kibana ElasticSearch забезпечує пошук проіндексованої інформації в режимі реального часу
Переваги та недоліки Кінбана
- Легка візуалізація
- Повністю інтегрований з Elasticsearch
- Інструмент візуалізації
- Пропонує аналіз у реальному часі, діаграми, узагальнення та можливості налагодження
- Забезпечує інтуїтивний і зручний інтерфейс
- Дозволяє обмінюватися знімками журналів, у яких проводився пошук
- Дозволяє зберігати інформаційну панель і керувати кількома інформаційними панелями
Чому аналіз журналу?
В інфраструктурі хмарного середовища дуже важливі продуктивність та ізоляція. Продуктивність віртуальних машин у хмарі може відрізнятися залежно від конкретних навантажень, середовищ і кількості активних користувачів у системі. Таким чином, надійність і несправність вузла можуть стати серйозною проблемою.
Платформа керування журналами може контролювати всі вищевказані проблеми, а також обробляти журнали операційної системи, NGINX, журнал сервера IIS для аналізу веб-трафіку, журнали додатків і журнали на AWS (Amazon веб-сервіси).
Керування журналами допомагає інженерам DevOps, системним адміністраторам приймати кращі бізнес-рішення. Тому аналіз журналу за допомогою Elastic Stack або подібних інструментів є важливим.
ELK проти Splunk
сохатий | Сплин |
---|---|
Elk є інструментом з відкритим кодом | Splunk є комерційним інструментом. |
Elk стек не пропонує Solaris Портативність завдяки Kibana. | Splunk пропонує Solaris Переносимість. |
Швидкість обробки суворо обмежена. | Пропонує точні та швидкі процеси. |
ELK — це технологічний стек, створений за допомогою комбінації Elastic Search-Logstash-Кібана. | Splunk є запатентованим інструментом. Він надає як локальні, так і хмарні рішення. |
У ELK пошук, аналіз і візуалізація будуть можливими лише після налаштування стеку ELK. | Splunk — це повний пакет керування даними у вашому розпорядженні. |
Інструмент ELK не підтримує інтеграцію з іншими інструментами. | Splunk є корисним інструментом для налаштування інтеграції з іншими інструментами. |
Приклади з практики
NetFlix
Netflix значною мірою покладається на стек ELK. Компанія використовує стек ELK для моніторингу та аналізу журналу безпеки роботи служби підтримки клієнтів. Це дозволяє їм індексувати, зберігати та шукати документи з більш ніж п’ятнадцяти кластерів, які містять майже 800 вузлів.
Відомий маркетинговий сайт соціальних мереж LinkedIn використовує стек ELK для моніторингу продуктивності та безпеки. ІТ-команда інтегрувала ELK із Kafka, щоб підтримувати навантаження в режимі реального часу. Їхня діяльність ELK включає понад 100 кластерів у шести різних центрах обробки даних.
Tripwire
Tripwire — це всесвітня система керування подіями безпеки. Компанія використовує ELK для підтримки аналізу журналу інформаційних пакетів.
Medium
Medium — відома платформа для публікації блогів. Вони використовують стек ELK для вирішення проблем виробництва. Компанія також використовує ELK для виявлення DynamoDB гарячі горщики. Крім того, використовуючи цей стек, компанія може підтримувати 25 мільйонів унікальних читачів, а також тисячі опублікованих публікацій щотижня.
Переваги та недоліки стека ELK
Переваги
- ELK працює найкраще, коли журнали з різних додатків підприємства об’єднуються в один екземпляр ELK
- Він надає дивовижну інформацію для цього єдиного екземпляра, а також усуває необхідність входу в сотні різних джерел даних журналу
- Швидке встановлення на місці
- Легко розгорнути ваги вертикально та горизонтально
- Elastic пропонує безліч мовних клієнтів, зокрема Ruby. Python. PHP, Perl, .NET, Java та JavaСценарій та інше
- Наявність бібліотек для різних мов програмування та сценаріїв
Недоліки
- Різні компоненти в стеку можуть стати складними для обробки, коли ви переходите до складного налаштування
- Немає нічого схожого на метод проб і помилок. Таким чином, чим більше ви робите, тим більше ви дізнаєтесь на цьому шляху
Підсумки
- Централізоване журналювання може бути корисним під час спроби виявити проблеми з серверами або програмами
- Серверний стек ELK корисний для вирішення проблем, пов’язаних із централізованою системою реєстрації
- ELK stack — це набір із трьох відкритих інструментів Elasticsearch, Logstash Кібана
- Elasticsearch — це база даних NoSQL
- Logstash це інструмент конвеєра збору даних
- Kibana — це візуалізація даних, яка доповнює стек ELK
- В інфраструктурі хмарного середовища продуктивність і ізоляція дуже важливі
- У ELK швидкість обробки стека суворо обмежена, тоді як Сплин пропонує точні та швидкі процеси
- Netflix, LinkedIn, Tripware, Medium усі використовують стек ELK для свого бізнесу
- ELK Syslog працює найкраще, коли журнали з різних додатків підприємства об’єднуються в один екземпляр ELK
- Різні компоненти в стеку можуть стати складними для обробки, коли ви переходите до складного налаштування
Зверніться до нашого Запитання та відповіді на інтерв’ю ElasticSearch як для свіжих, так і для досвідчених кандидатів.