https://github.com/netology-code/sdb-homeworks/blob/main/11-03.md
При выполнении задания используйте дополнительные ресурсы:
- docker-compose elasticsearch + kibana;
- поднимаем elk в docker;
- поднимаем elk в docker с filebeat и docker-логами;
- конфигурируем logstash;
- плагины filter для logstash;
- конфигурируем filebeat;
- привязываем индексы из elastic в kibana;
- как просматривать логи в kibana;
- решение ошибки increase vm.max_map_count elasticsearch.
Примечание: если у вас недоступны официальные образы, можете найти альтернативные варианты в DockerHub, например, такой.
Установите и запустите Elasticsearch, после чего поменяйте параметр cluster_name на случайный.
Приведите скриншот команды 'curl -X GET 'localhost:9200/_cluster/health?pretty', сделанной на сервере с установленным Elasticsearch. Где будет виден нестандартный cluster_name.
apt update && apt install gnupg apt-transport-https
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
cat GPG-KEY-elasticsearch | apt-key add -
echo "deb [trusted=yes] https://mirror.yandex.ru/mirrors/elastic/7/ stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
apt update && apt-get install elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
nano /etc/elasticsearch/elasticsearch.yml
# change cluster.name
systemctl restart elasticsearch.service
curl 'localhost:9200/_cluster/health?pretty'
Установите и запустите Kibana.
Приведите скриншот интерфейса Kibana на странице http://<ip вашего сервера>:5601/app/dev_tools#/console, где будет выполнен запрос GET /_cluster/health?pretty.
# add yandex repo like with elastic and then install
apt install kibana
systemctl daemon-reload
systemctl enable kibana.service
systemctl start kibana.service
Установите и запустите Logstash и Nginx. С помощью Logstash отправьте access-лог Nginx в Elasticsearch.
Приведите скриншот интерфейса Kibana, на котором видны логи Nginx.
# add yandex repo like with elastic and then install
apt install logstash
systemctl daemon-reload
systemctl enable logstash.service
systemctl start logstash.service
apt install nginx
nano nginx-access.conf
# add config
cp nginx-access.conf /etc/logstash/conf.d/
systemctl restart logstash.service
chmod 777 /var/log/nginx/access.log
goto kibana and discover data
Установите и запустите Filebeat. Переключите поставку логов Nginx с Logstash на Filebeat.
Приведите скриншот интерфейса Kibana, на котором видны логи Nginx, которые были отправлены через Filebeat.
# add yandex repo like with elastic and then install
apt install filebeat
systemctl daemon-reload
systemctl enable filebeat.service
systemctl start filebeat.service
filebeat setup --dashboards
filebeat modules enable system nginx
nano /etc/filebeat/filebeat.yml
# change to
# output.elasticsearch:
# hosts: ["localhost:9200"]
systemctl restart filebeat
Эти задания дополнительные, то есть не обязательные к выполнению, и никак не повлияют на получение вами зачёта по этому домашнему заданию. Вы можете их выполнить, если хотите глубже шире разобраться в материале.
Настройте поставку лога в Elasticsearch через Logstash и Filebeat любого другого сервиса , но не Nginx. Для этого лог должен писаться на файловую систему, Logstash должен корректно его распарсить и разложить на поля.
Приведите скриншот интерфейса Kibana, на котором будет виден этот лог и напишите лог какого приложения отправляется.