Еластично търсене

Визуализирайте регистрационните файлове на Apache с ELK Stack

Визуализирайте регистрационните файлове на Apache с ELK Stack

Мониторингът и анализът на регистрационните файлове за различни инфраструктури в реално време може да бъде много досадна работа. Когато се занимавате с услуги като уеб сървъри, които постоянно регистрират данни, процесът може да бъде много сложен и почти невъзможен.

Като такова знанието как да използвате инструменти за наблюдение, визуализиране и анализ на регистрационни файлове в реално време може да ви помогне да проследите и отстраните проблеми и да наблюдавате подозрителни системни дейности.

Този урок ще обсъди как можете да използвате една от най-добрите колекции в реално време и инструменти за анализ - ELK. Използвайки ELK, известен като Elasticsearch, Logstash и Kibana, можете да събирате, регистрирате и анализирате данни от уеб сървър на Apache в реално време.

Какво е ELK Stack?

ELK е съкращение, използвано за означаване на три основни инструмента с отворен код: Elasticsearch, Logstash и Kibana.

Elasticsearch е инструмент с отворен код, разработен за намиране на съвпадения в голяма колекция от масиви от данни, използвайки селекция от езици и типове заявки. Това е лек и бърз инструмент, способен да обработва терабайта данни с лекота.

Logstash engine е връзка между сървърната страна и Elasticsearch, което ви позволява да събирате данни от избрани източници до Elasticsearch. Той предлага мощни API, които са лесно интегрируеми с приложения, разработени на различни програмни езици.

Кибана е последното парче от стека ELK. Това е инструмент за визуализация на данни, който ви позволява да анализирате данните визуално и да генерирате проницателни отчети. Той също така предлага графики и анимации, които могат да ви помогнат да взаимодействате с вашите данни.

ELK стекът е много мощен и може да прави невероятни неща за анализ на данни.

Въпреки че различните концепции, които ще обсъдим в този урок, ще ви дадат добро разбиране за стека ELK, разгледайте документацията за повече информация.

Elasticsearch: 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 ъпгрейд

Следващата команда е да инсталирате уеб сървъра apache2. Ако искате да бъде инсталиран минимален apache, премахнете документацията и помощните програми от командата по-долу.

sudo apt-get инсталиране apache2 apache2-utils apache2-doc -y
sudo услуга apache2 старт

Досега трябва да имате сървър Apache, работещ във вашата система.

Как да инсталирате Elasticsearch, Logstash и Kibana?

Сега трябва да инсталираме стека ELK. Ще инсталираме всеки инструмент поотделно.

Elasticsearch

Нека започнем с инсталирането на 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 инсталиране apt-transport-https

Сега добавете подходящата информация за репо към източниците.списък.d файл.

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

След това актуализирайте списъка с пакети във вашата система.

sudo apt-get update

Инсталирайте Elasticsearch, като използвате командата по-долу:

sudo apt-get инсталирайте elasticsearch

След като инсталирате 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 / по подразбиране -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
съвпадение => "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 старт kibana.обслужване

Kibana създава модели на индекси въз основа на обработените данни. Следователно трябва да събирате регистрационни файлове с помощта на Logstash и да ги съхранявате в Elasticsearch, който Kibana може да използва. Използвайте curl, за да генерирате регистрационни файлове от Apache.

След като имате регистрационни файлове от Apache, стартирайте Kibana в браузъра си, като използвате адреса http: // localhost: 5601, който ще стартира страницата на индекса Kibana.

Като цяло трябва да конфигурирате модела на индекса, използван от Kibana за търсене на регистрационни файлове и генериране на отчети. По подразбиране Kibana използва шаблона на индекса logstash *, който съответства на всички индекси по подразбиране, генерирани от Logstash.

Ако нямате никаква конфигурация, щракнете върху създаване, за да започнете да преглеждате дневниците.

Как да преглеждате дневниците на Kibana?

Докато продължавате да изпълнявате заявки за Apache, Logstash ще събира дневниците и ще ги добавя към Elasticsearch. Можете да прегледате тези дневници в Kibana, като кликнете върху опцията Discover в лявото меню.

Разделът за откриване ви позволява да преглеждате дневниците, докато сървърът ги генерира. За да видите подробности за дневник, просто щракнете върху падащото меню.

Прочетете и разберете данните от регистрационните файлове на Apache.

Как да търсите дневници?

В интерфейса на Kibana ще намерите лента за търсене, която ви позволява да търсите данни, като използвате низове за заявки.

Пример: статус: активен

Научете повече за ELK низовете за заявки тук:

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

Тъй като имаме работа с регистрационните файлове на Apache, едно от възможните съвпадения е код на състоянието. Следователно, търсете:

отговор: 200

Този код ще търси регистрационни файлове с код на състоянието 200 (OK) и ще го показва на Kibana.

Как да визуализирате дневници?

Можете да създадете визуални табла за управление в Kibana, като изберете раздела Visualize. Изберете типа табло за създаване и изберете вашия индекс за търсене. Можете да използвате по подразбиране за целите на тестването.

Заключение

В това ръководство обсъдихме общ преглед на това как да използваме стека ELK за управление на регистрационни файлове. Въпреки това има повече от тези технологии, които тази статия може да обхване. Препоръчваме да изследвате сами.

Как да разработите игра на Linux
Преди десетилетие не много потребители на Linux биха прогнозирали, че любимата им операционна система един ден ще бъде популярна игрална платформа за ...
Пристанища с отворен код на търговски игрални машини
Безплатни разширения на играта с отворен код и междуплатформени игри могат да се използват за възпроизвеждане на стари, както и някои от доста скорошн...
Най-добрите игри за команден ред за Linux
Командният ред не е само най-големият ви съюзник при използване на Linux - той може да бъде и източник на забавление, защото можете да го използвате, ...