Бұлтта ELK мониторингін қосу және қашықтағы тораптарды баптау
Бұл мақала ELK мониторинг серверін орнатуға және оған Nginx қолданбасының логтары үшін filebeat-агенттерін қосуға, сондай-ақ логтармен жұмыс істеуге арналған Kibana-ның кейбір мүмкіндіктерімен танысуға көмектеседі.
VK Cloud бұлтында ELK сервері өрістетіледі және қашықтағы тораптарда Nginx мониторинг агенттері қосылады:
Осы мақалада ELK-ке логтарды экспорттау үшін Nginx баптау қажет бірнеше торап бар деп есептейміз. Машиналар арасындағы өзара әрекеттесуді қамтамасыз ету үшін бұл тораптар бір желіге біріктірілуі тиіс.
- ELK стегін орнатыңыз мақсатты инстансқа.
- Инстанстың IP мекенжайын, Kibana-ға кіруге арналған пайдаланушы атын және құпиясөзін есте сақтаңыз. Олар кейінірек, ELK торабында функционалдылықты тексеру кезінде қажет болады.
- pem-файлды пайдаланып, ssh арқылы инстансқа қосылыңыз. Ол үшін келесі пәрменді орындаңыз:
ssh -i /path/to/key.pem ubuntu@<instance_ip>
- Elasticsearch үшін
ingest-geoipжәнеingest-user-agentплагиндерін орнатыңыз, олар Kibana мен Nginx логтарының бірлесіп жұмыс істеуі үшін қажет. Ол үшін орнатылған elasticsearch директориясында болып (Ubuntu үшін әдепкі бойынша —/usr/share/elasticsearch/), келесі пәрмендерді орындаңыз:
bin/elasticsearch-plugin install ingest-geoipbin/elasticsearch-plugin install ingest-user-agent
- Орнатылған модульдерді қосу үшін келесі пәрменді орындап, Elasticsearch-ті қайта іске қосыңыз:
sudo service elasticsearch restart
- ELK-ке қосқыңыз келетін қашықтағы торапқа қосылыңыз.
- ELK пен Nginx арасында байланыс құрылатындықтан, келесі пәрменді орындап, Ubuntu-ның стандартты репозиторийлерінен Nginx орнатыңыз:
sudo apt updatesudo apt install nginx
-
Логтарды нақты уақыт режимінде талдау үшін Filebeat орнатыңыз
-
/etc/filebeat/filebeat.ymlконфигурациялық файлын өңдеу үшін ашып, онда өз баптауларыңызды көрсетіңіз:output.elasticsearch:hosts: ["<es_url>"]setup.kibana:host: "<kibana_url>"
<es_url>—9200портының нөмірі көрсетілген elasticsearch IP мекенжайы;<kibana_url>— Kibana орнатылған инстанстың IP мекенжайы.
<es_url> үшін мысалдар:
- тікелей мекенжай:
output.elasticsearch:hosts: ["https://localhost:9200"]
- протоколды нақты көрсету:
output.elasticsearch:hosts: ["localhost:9200"]protocol: "https"
- хосттарды бірнешеуін көрсету:
output.elasticsearch:hosts: ["10.45.3.2:9220", "10.45.3.1:9200"]protocol: https
- Келесі пәрменді орындап, Filebeat үшін Nginx модулін қосыңыз:
sudo filebeat modules enable nginx
- filebeat-ті икемді баптау үшін
/etc/filebeat/modules.d/nginx.ymlфайлын өңдеңіз. Әдепкі бойынша бұл файлдың көрінісі:
- module: nginx# Access logsaccess:enabled: true# Set custom paths for the log files. If left empty,# Filebeat will chose the paths depending on your OS.#var.paths:# Error logserror:enabled: true# Set custom paths for the log files. If left empty,# Filebeat will choose the paths depending on your OS.#var.paths
- Егер Kibana үшін дашбордтар бұрын бапталмаған болса, келесі пәрменді пайдаланып, оларды жүктеңіз:
sudo filebeat setup
- Filebeat-ті іске қосу үшін келесі пәрменді орындаңыз:
sudo service filebeat start
Бір торап бапталды. Қосымша тораптар дәл осылай бапталады.
- Логтармен ыңғайлы әрі тиімді жұмыс істеу үшін инстанстың тиісті IP мекенжайын, пайдаланушы атын және құпиясөзін пайдаланып (https қолданыңыз), Kibana-ға қосылыңыз:

- Барлығы дұрыс бапталғанына көз жеткізу үшін Logging бөліміне өтіңіз. Ол үшін Add log data батырмасын басып, Nginx logs ішкі бөлімін таңдаңыз.




Егер барлығы дұрыс жасалса, Check data батырмасын басқан кезде Data successfully received from this module хабарламасы пайда болады.
Kibana дашбордтары қашықтағы тораптан алынған Nginx логтары бойынша егжей-тегжейлі мәліметтерді көруге және қажет болған жағдайда сүзгілеу мен іздеуді орындауға мүмкіндік береді. Сондықтан дашбордтармен жұмыс тек көруге қолжетімді Nginx логтары болған кезде ғана мағыналы.
Бүйірлік мәзірден Dashboard тармағын таңдаңыз. Нәтижесінде сұраулар туралы әртүрлі деректері бар Nginx Filebeat үшін стандартты Dashboard көрсетіледі. Ол көрнекі диаграммалар құруға мүмкіндік береді, сондай-ақ серверге жүгінген IP мекенжайлары үшін әлем картасын көрсетеді.

Оң жақ жоғарғы бұрышта көрсетілген кезең үшін серверге жасалған барлық сұраулар тізімін көру үшін Nginx access and error logs батырмасын басыңыз.


Сұрау бойынша егжей-тегжейлі мәліметтерді көру үшін тиісті жолдың сол жақ бөлігіндегі үшбұрышты басыңыз:

Жылдам іздеу үшін сол жақ жоғарғы жақтағы Add filter батырмасын басып, сүзгілеуді пайдалануға болады.

Сүзгіні баптау кезінде ұсынылған өрістердің бірін таңдап, іздеу шартын белгілеу керек (мысалы, төмендегі скриншотта жауап коды 200 болатын барлық сұраулар).
