Еластичний пошук

Візуалізуйте журнали Apache за допомогою стеку ELK

Візуалізуйте журнали Apache за допомогою стеку ELK

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

Як таке, знання того, як використовувати інструменти для моніторингу, візуалізації та аналізу журналів у режимі реального часу, може допомогти вам відстежувати та усувати проблеми та відстежувати підозрілі системні дії.

Цей підручник обговорить, як можна використовувати одну з найкращих колекцій журналів у реальному часі та інструменти аналізу - ELK. Використовуючи ELK, широко відомий як Elasticsearch, Logstash і Kibana, ви можете збирати, реєструвати та аналізувати дані з веб-сервера apache в режимі реального часу.

Що таке ELK Stack?

ELK - це скорочення, що використовується для позначення трьох основних інструментів з відкритим кодом: Elasticsearch, Logstash та Kibana.

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

Logstash engine - це зв’язок між стороною сервера та Elasticsearch, що дозволяє збирати дані з вибраних джерел до Elasticsearch. Він пропонує потужні API, які легко інтегруються з програмами, розробленими на різних мовах програмування.

Кібана є останньою частиною стеку ELK. Це інструмент візуалізації даних, який дозволяє візуально аналізувати дані та створювати глибокі звіти. Він також пропонує графіки та анімацію, які можуть допомогти вам взаємодіяти з вашими даними.

Стек ELK дуже потужний і може робити неймовірні аналітичні дані.

Хоча різні концепції, які ми обговоримо в цьому посібнику, дадуть вам гарне розуміння стеку ELK, розгляньте документацію для отримання додаткової інформації.

Еластичний пошук: https: // linkfy.до / Elasticsearch-Reference

Logstash: https: // linkfy.до / LogstashReference

Кібана: https: // linkfy.до / KibanaGuide

Як встановити Apache?

Перш ніж ми почнемо встановлювати Apache та всі залежності, варто відзначити кілька речей.

Ми протестували цей підручник на Debian 10.6, але він також буде працювати з іншими дистрибутивами Linux.

Залежно від конфігурації вашої системи, вам потрібні дозволи sudo або root.

Сумісність та зручність використання стеку ELK можуть відрізнятися залежно від версій.

Перший крок - це забезпечити повне оновлення вашої системи:

sudo apt-get update
sudo apt-get upgrade

Наступною командою є встановлення веб-сервера apache2. Якщо ви хочете встановити мінімальний апаш, видаліть документацію та утиліти з команди нижче.

sudo apt-get встановити apache2 apache2-utils apache2-doc -y
запуску служби sudo apache2

На сьогоднішній день у вас повинен працювати сервер Apache.

Як встановити Elasticsearch, Logstash та Kibana?

Тепер нам потрібно встановити стек ELK. Ми встановлюватимемо кожен інструмент окремо.

Еластичний пошук

Почнемо з установки Elasticsearch. Ми будемо використовувати apt для його встановлення, але ви можете отримати стабільний випуск на офіційній сторінці завантаження тут:

https: // www.еластичний.co / downloads / elasticsearch

Elasticsearch вимагає запуску Java. На щастя, остання версія поставляється в комплекті з пакетом OpenJDK, усуваючи клопоти з його встановленням вручну. Якщо вам потрібно виконати ручну установку, зверніться до такого ресурсу:

https: // www.еластичний.co / guide / en / elasticsearch / reference / current / setup.html # jvm-версія

На наступному кроці нам потрібно завантажити та встановити офіційний ключ підписання Elastic APT за допомогою команди:

wget -qO - https: // артефакти.еластичний.co / GPG-KEY-elasticsearch | sudo apt-key add -

Перш ніж продовжити, вам може знадобитися пакет apt-transport-https (необхідний для пакетів, що обслуговуються через https), перш ніж продовжувати встановлення.

sudo apt-get install apt-transport-https

Тепер додайте інформацію про репо-репо до джерел.список.d файл.

echo “deb https: // артефакти.еластичний.co / пакети / 7.x / apt стабільний основний ”| sudo tee / etc / apt / sources.список.г / еластична-7.х.список

Потім оновіть список пакетів у вашій системі.

sudo apt-get update

Встановіть Elasticsearch, використовуючи команду нижче:

sudo apt-get встановити еластичний пошук

Встановивши Elasticsearch, запустіть і ввімкніть запуск під час завантаження за допомогою команд systemctl:

sudo systemctl daemon-reload
sudo systemctl увімкнути еластичний пошук.обслуговування
sudo systemctl почати еластичний пошук

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

sudo systemctl статус еластичний пошук.обслуговування

За допомогою cURL перевірте, чи доступний API Elasticsearch, як показано у виведенні JSON нижче:

curl -X GET "localhost: 9200 /?гарненький "

"name": "debian",
"cluster_name": "elasticsearch",
"cluster_uuid": "VZHcuTUqSsKO1ryHqMDWsg",
"версія":
"число": "7.10.1 ",
"build_flavor": "за замовчуванням",
"build_type": "deb",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01: 00: 33.671820Z ",
"build_snapshot": false,
"lucene_version": "8.7.0 ",
"minimum_wire_compatibility_version": "6.8.0 ",
"minimum_index_compatibility_version": "6.0.0-бета1 "
,
“Tagline”: “Ви знаєте, для пошуку”

Як встановити Logstash?

Встановіть пакет logstash за допомогою команди:

sudo apt-get встановити logstash

Як встановити Kibana?

Введіть команду нижче, щоб встановити kibana:

sudo apt-get встановити kibana - -

Як налаштувати Elasticsearch, Logstash та Kibana?

Ось як налаштувати стек ELK:

Як налаштувати Elasticsearch?

В Elasticsearch дані впорядковуються в індекси. Кожен із цих індексів має один або кілька осколків. Осколок - це автономна пошукова система, яка використовується для обробки та управління індексами та запитами для підмножини в кластері в межах Elasticsearch. Осколок працює як екземпляр індексу люцену.

Інсталяція Elasticsearch за замовчуванням створює п’ять осколків і одну репліку для кожного індексу. Це хороший механізм на виробництві. Однак у цьому посібнику ми будемо працювати з одним осколком і без копій.

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

У Elasticsearch шаблон індексу стосується того, як ви інструктуєте Elasticsearch у налаштуванні індексу під час процесу створення.

Усередині файлу шаблону json (index_template.json), введіть наступні інструкції:


"шаблон": "*",
"налаштування":
"індекс":
"number_of_shards": 1,
"number_of_replicas": 0


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

curl -X PUT http: // localhost: 9200 / _template / defaults -H 'Content-Type: application / json' -d @index_template.json
"визнано": true

Після подання заявки Elasticsearch відповість визнаним: true твердженням.

Як налаштувати Logstash?

Щоб Logstash збирав журнали з Apache, ми повинні налаштувати його, щоб спостерігати за будь-якими змінами в журналах, збираючи, обробляючи, а потім зберігаючи журнали в Elasticsearch. Щоб це сталося, вам потрібно встановити шлях журналу збору в Logstash.

Почніть із створення конфігурації Logstash у файлі / etc / logstash / conf.г / апач.конф

введення
файл
path => '/ var / www / * / logs / access.журнал
type => "apache"


фільтр
grok
match => "message" => "% COMBINEDAPACHELOG"


вихід
еластичний пошук

Тепер переконайтеся, що увімкнено та запущено службу logstash.

sudo systemctl увімкнути logstash.обслуговування
sudo systemctl запустити logstash.обслуговування

Як увімкнути та налаштувати Kibana?

Щоб увімкнути Kibana, відредагуйте головну .конфігураційний файл yml, розташований у / etc / kibana / kibana.yml. Знайдіть наступні записи та прокоментуйте їх. Закінчивши, використовуйте systemctl для запуску послуги Kibana.

сервер.порт: 5601
сервер.ведучий: "localhost"
sudo systemctl увімкнути kibana - -.сервіс && sudo systemctl start kibana.обслуговування

Kibana створює шаблони індексів на основі оброблених даних. Отже, вам потрібно збирати журнали за допомогою Logstash і зберігати їх у Elasticsearch, який Кібана може використовувати. Використовуйте curl для створення журналів з Apache.

Отримавши журнали від Apache, запустіть Kibana у своєму браузері за адресою http: // localhost: 5601, яка відкриє сторінку індексу Kibana.

В основному, вам потрібно налаштувати шаблон індексу, що використовується Kibana для пошуку журналів та створення звітів. За замовчуванням Kibana використовує шаблон індексу logstash *, який відповідає всім індексам за замовчуванням, сформованим Logstash.

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

Як переглянути журнали Kibana?

Поки ви продовжуєте виконувати запити Apache, Logstash буде збирати журнали та додавати їх до Elasticsearch. Ви можете переглянути ці журнали в Кібані, натиснувши опцію "Відкрити" в меню ліворуч.

Вкладка Discover дозволяє переглядати журнали, коли їх генерує сервер. Щоб переглянути деталі журналу, просто натисніть спадне меню.

Прочитайте та зрозумійте дані з журналів Apache.

Як шукати журнали?

В інтерфейсі Kibana ви знайдете рядок пошуку, який дозволяє шукати дані за допомогою рядків запитів.

Приклад: статус: активний

Дізнайтеся більше про рядки запитів ELK тут:

https: // www.еластичний.co / guide / en / elasticsearch / reference / 5.5 / query-dsl-query-string-query.html # query-string-syntax

Оскільки ми маємо справу з журналами Apache, одним із можливих збігів є код стану. Отже, пошук:

відповідь: 200

Цей код буде шукати журнали з кодом статусу 200 (OK) і відображатиме їх на Kibana.

Як візуалізувати журнали?

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

Висновок

У цьому посібнику ми обговорили огляд того, як використовувати стек ELK для управління журналами. Однак у цих статтях є багато іншого, що може охопити ця стаття. Ми рекомендуємо досліджувати самостійно.

Remap your mouse buttons differently for different software with X-Mouse Button Control
Maybe you need a tool that could make your mouse's control change with every application that you use. If this is the case, you can try out an applica...
Microsoft Sculpt Touch Wireless Mouse Review
I recently read about the Microsoft Sculpt Touch wireless mouse and decided to buy it. After using it for a while, I decided to share my experience wi...
AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...