[Научит вас с помощью ELK] сбору и анализу журналов

Юсянь: партнер по контенту CSDN, новый звездный наставник CSDN, полноценный творческий звездный создатель, 51CTO (ведущая знаменитость + эксперт-блогер), энтузиаст открытого исходного кода github (вторичная разработка исходного кода с нуля, серверная архитектура игры https: https:/ /github.com/Пикчен)

               

 

ELK — это аббревиатура группы программного обеспечения с открытым исходным кодом, включая Elasticsearch, Logstash и Kibana. ELK широко используется для сбора и анализа журналов, и его принцип работы заключается в следующем:

  1. Сбор и передача данных

Logstash — это инструмент сбора и передачи данных в ELK, который может собирать данные из различных источников данных (таких как файлы, сети, базы данных и т. д.) и передавать данные в Elasticsearch.

  1. Хранение и поиск данных

Elasticsearch — это распределенная система поиска и анализа, которая может хранить и искать большие объемы структурированных и неструктурированных данных. В ELK Elasticsearch используется для хранения и поиска данных журнала.

  1. Визуализация и анализ данных

Kibana — это веб-платформа визуализации данных, которая помогает пользователям быстро и легко создавать интерактивные информационные панели и отчеты, а также выполнять исследование и анализ данных. В ELK Kibana используется для отображения и анализа данных журналов, хранящихся в Elasticsearch.

Сбор и анализ журналов ELK можно применять в различных сценариях, таких как:

  • Сбор и анализ журналов приложений

  • Мониторинг и диагностика системного журнала

  • Анализ и мониторинг сетевого трафика

  • Анализ журнала событий безопасности

  • Мониторинг и анализ производительности инфраструктуры

Ниже приведены некоторые часто используемые интерфейсы API ELK:

  • PUT /_ingest/pipeline/{pipeline_id}: создайте конвейер приема. Ingest Pipeline — это конвейер обработки данных, который преобразует данные из исходного формата в целевой формат.

  • POST /_bulk: пакетная отправка нескольких документов в Elasticsearch.

  • GET /_search: поиск документов в Elasticsearch на основе условий запроса.

  • GET /_cat/indices: список всех индексов.

  • GET /_cat/nodes: список всех узлов.

Вот несколько ссылок на литературу и материалы, связанные со сбором и анализом журналов ELK:

Ниже приведен пример реализации сбора и анализа журналов ELK:

  1. Подготовка

Сначала необходимо установить Elasticsearch, Logstash и Kibana. Вы можете скачать последнюю версию пакета ELK с официального сайта, а затем следовать официальной документации, чтобы установить и настроить ее.

  1. Создайте файл конфигурации Logstash.

В Logstash необходимо создать файл конфигурации для определения источников данных и конвейеров обработки данных. Ниже приведен пример простого файла конфигурации Logstash:

input {
  file {
    path => "/var/log/syslog"
  }
}

filter {
  grok {
    match => { "message" => "%{SYSLOGTIMESTAMP:timestamp} %{SYSLOGHOST:host} %{DATA:program}(?:\[%{POSINT:pid}\])?: %{GREEDYDATA:message}" }
  }
}

output {
  elasticsearch {
    hosts => ["localhost:9200"]
    index => "syslog-%{+YYYY.MM.dd}"
  }
}

Этот файл конфигурации собирает данные из файла системного журнала /var/log/syslog и использует плагин Grok для анализа сообщений журнала. Проанализированные данные затем передаются в Elasticsearch со строками в формате даты в качестве имен индексов.

  1. Запустить Логсташ

При запуске Logstash вам необходимо указать путь к файлу конфигурации. После установки Logstash вы можете запустить Logstash с помощью следующей команды:

bin/logstash -f /path/to/logstash.conf
  1. Создайте панель управления Kibana

В Kibana вы можете создать панель мониторинга для отображения и анализа данных журналов, хранящихся в Elasticsearch. Вот пример простой панели управления Kibana:

  • Создать новую панель мониторинга

  • Добавьте источник данных и выберите индекс для хранения данных журнала.

  • Добавьте гистограмму и выберите поля и методы агрегирования для отображения.

  • Добавьте фильтр и выберите поля и условия, которые необходимо фильтровать.

  • Сохраните панель мониторинга, к которой затем можно будет получить доступ через Kibana для исследования и анализа данных.

Выше приведен простой пример реализации сбора и анализа журналов ELK, который можно изменять и расширять в соответствии с реальными потребностями.

おすすめ

転載: blog.csdn.net/feng1790291543/article/details/132103916