Перед лицом журналов, генерируемых сотнями серверов, попробуйте этот легкий артефакт обработки журналов!

Java задняя часть
Перед лицом журналов, генерируемых сотнями серверов, попробуйте этот легкий артефакт обработки журналов!

Адрес фактического центра электронной коммерции SpringBoot (40k+star):GitHub.com/macro-positive/…

Резюме

Система сбора журналов ELK, которую мы создали ранее, в основном используется для сбора журналов приложений SpringBoot. Принцип заключается в том, что приложение использует плагин Logstash для передачи логов в Logstash по TCP, чтобы сохранить их в Elasticsearch. Но есть много журналов промежуточного ПО, которые хранятся непосредственно в файлах, таких какNginx,ElasticsearchиMySQL, в настоящее время нам нужен портер для переноса журнала в Elasticsearch. Filebeat является таким портером журнала. В этой статье подробно будет представлен метод его использования, в надежде помочь всем.

Введение в Filebeat

Filebeat — это облегченный сборщик журналов, который можно использовать для пересылки и объединения журналов и файлов. Filebeat имеет множество встроенных модулей (Nginx, MySQL, Redis, Elasticsearch, Logstash и т. д.), которые могут значительно упростить процесс сбора, анализа и визуализации для распространенных форматов журналов с помощью всего одной команды.

Установка и настройка Filebeat

Перед установкой Filebeat нам нужно сначала установить Elasticsearch и Kibana для конкретной справки."Вы все равно ходите на сервер собирать логи, разве не восхитительно настроить систему сбора логов! 》, обратите внимание на использование версии 7.6.2.

  • После завершения загрузки извлеките его в указанную директорию, обратите внимание на три места, указанные на рисунке;

  • Kibana уже предоставила учебник для Filebeat по сбору различных журналов.Давайте сначала перейдем на домашнюю страницу и посетим адрес:http://localhost:5601/app/kibana#/home

  • нажмитеAdd log dataкнопку, вы можете обнаружить, что поддерживаемое промежуточное программное обеспечение по-прежнему очень богато, охватывая распространенные;

  • Нажмите на учебник по сбору журналов Nginx, чтобы увидеть, очень ли он подробный;

  • Далее мы приступим к настройке Filebeat, настроим адреса подключения Elasticsearch и Kibana и изменим файлы конфигурации в каталоге установки Filebeat.filebeat.ymlВот и все, модификации следующие.
output.elasticsearch:
  hosts: ["localhost:9200"]
setup.kibana:
  host: "localhost:5601"

Собирать журналы Nginx

Давайте используем Nginx, чтобы попрактиковаться и испытать функцию сбора журналов Filebeat.

  • Используйте следующую команду, чтобы открыть модуль сбора журналов Nginx в Filebeat;
filebeat modules enable nginx
  • После открытия введитеmodules.dкаталог, вы найдетеnginx.ymlизdisableЕсли суффикс пропал, значит, он был включен;

  • Изменить следующийnginx.ymlфайл, настроить Nginxaccessиerrorпуть журнала;
# Module: nginx
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-nginx.html

- module: nginx
  access:
    enabled: true
    var.paths: ["I:/developer/env/nginx-1.8.1/logs/access.log"]

  error:
    enabled: true
    var.paths: ["I:/developer/env/nginx-1.8.1/logs/error.log"]
  • Поскольку модуль сбора журналов Nginx включен, нам нужно настроить Filebeat с помощью следующих команд;
filebeat setup

  • Запустите службу Filebeat с помощью следующей команды;
filebeat -e
  • Мы можем проверить, были ли данные успешно собраны, через страницу руководства Nginx в Kibana, которую мы использовали ранее;

  • нажмитеNginx logs dashboardкнопка для просмотра собранных журналов Nginx, сначала просмотрите обзорный журнал;

  • Просмотрите подробный лог еще раз, и вам не придется идти на сервер, чтобы ловить логи Nginx!

Собирать логи Elasticsearch

Далее попробуем снова собрать журналы Elasticsearch.

  • Используйте следующую команду, чтобы включить модуль сбора журналов Filebeat Elasticsearch;
filebeat modules enable elasticsearch
  • Изменить следующийelasticsearch.ymlНастроить, настроить путь журнала Elasticsearch;
# Module: elasticsearch
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-elasticsearch.html

- module: elasticsearch
  server:
    enabled: true
    var.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch.log"]

  slowlog:
    enabled: true
    var.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_indexing_slowlog.log","I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_index_search_slowlog.log"]

  deprecation:
    enabled: true
    var.paths: ["I:/developer/env/elasticsearch-7.6.2/logs/elasticsearch_deprecation.log"]
  • Настроить и запустить сервис Filebeat;
filebeat setup
filebeat -e
  • существуетDiscoverПросмотрите журналы Elasticsearch на странице.

Собирать логи MySQL

Затем попробуйте собрать журналы MySQL.

  • Используйте следующую команду, чтобы открыть модуль сбора журналов MySQL в Filebeat;
filebeat modules enable mysql
  • Изменить следующийmysql.ymlНастройте, настройте путь журнала MySQL, в основном журнал ошибок и журнал медленных запросов;
# Module: mysql
# Docs: https://www.elastic.co/guide/en/beats/filebeat/7.6/filebeat-module-mysql.html

- module: mysql
  error:
    enabled: true
    var.paths: ["C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19.err"]

  slowlog:
    enabled: true
    var.paths: ["C:/ProgramData/MySQL/MySQL Server 5.7/Data/DESKTOP-5NIMJ19-slow.log"]
  • Настроить и запустить сервис Filebeat;
filebeat setup
filebeat -e
  • нажмитеMySQL logs dashboardкнопка для просмотра собранных логов MySQL;

  • Просмотр сведений журнала, собранных MySQL.

Суммировать

В этой статье в основном рассказывается об использовании Filebeat для сбора файловых журналов Nginx, Elasticsearch и MySQL. Использование сбора журналов другого промежуточного программного обеспечения в основном такое же. Удобно ли использовать Filebeat для сбора журналов промежуточного программного обеспечения!

Эта статьяGitHubGitHub.com/macro-positive/…Он был записан, приветствую всех на Star!