ELK: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 30: Строка 30:
   
 
==Elasticsearch==
 
==Elasticsearch==
  +
* Важно: elasticsearch/elasticsearch2 примеры настройки которых встречаются в интернете уже не поддерживаются и в моем дистрибутиве отсутвуют.
  +
<BR>
  +
Пример конфигурационного файла
 
<PRE>
 
<PRE>
 
destination d_elasticsearch_http {
 
destination d_elasticsearch_http {
Строка 55: Строка 58:
 
};
 
};
 
</PRE>
 
</PRE>
  +
  +
  +
* elasticsearch-http - имя модуля
  +
* index("syslog-ng-${YEAR}${MONTH}${DAY}")
  +
* type("syslog-ng")
  +
* url("127.0.0.1:9200/_bulk")
  +
* workers(4)
  +
* batch_lines(128)
  +
* batch_timeout(10000)
  +
* timeout(100)
  +
* template("$(format-json --scope rfc5424 --scope dot-nv-pairs --rekey .* --shift 1 --scope nv-pairs --key ISODATE @timestamp=${ISODATE})")
   
 
=Cсылки=
 
=Cсылки=

Версия 16:43, 5 августа 2021

ELK на минималках

Эта заметка описывает минимальную конфигурацию для частного случая - получения в syslog сообщений от свитчей.


Логика работы

  • свитч отправляет сообщение по UDP
  • syslog-ng ловит сообщение и пишет его в файл
  • файл разбирает filebeat и отправляет данные в логстеш
  • logstash пишет в elasticserach
  • логи в elasticsearch смотреть через kibana
  • Кроме этого syslog-ng пишет все логи в Elasticsearch напрямую но в другой индекс (который хранится меньше времени)
  • старые файлы удаляет logrotate
  • старые индексы удаляет TODO!!!

Syslog-Ng

Starting with syslog-ng version 3.6.1 the default system() source on Linux systems using systemd uses journald as its standard system() source.

Общая настройка syslog-ng

Elasticsearch

  • Важно: elasticsearch/elasticsearch2 примеры настройки которых встречаются в интернете уже не поддерживаются и в моем дистрибутиве отсутвуют.


Пример конфигурационного файла

destination d_elasticsearch_http {
    elasticsearch-http(
        index("syslog-ng-${YEAR}${MONTH}${DAY}")
        type("syslog-ng")
        url("127.0.0.1:9200/_bulk")
#        workers(4)
        batch_lines(128)
#        batch_timeout(10000)
        timeout(100)
        template("$(format-json --scope rfc5424 --scope dot-nv-pairs --rekey .* --shift 1 --scope nv-pairs  --key ISODATE @timestamp=${ISODATE})")
    );

};

destination d_elastic_debug {
    file("/var/log/elasticsearch_debug.log");.
};

log {
    source(s_src);
    destination(d_elasticsearch_http);
    flags(flow-control);
};


  • elasticsearch-http - имя модуля
  • index("syslog-ng-${YEAR}${MONTH}${DAY}")
  • type("syslog-ng")
  • url("127.0.0.1:9200/_bulk")
  • workers(4)
  • batch_lines(128)
  • batch_timeout(10000)
  • timeout(100)
  • template("$(format-json --scope rfc5424 --scope dot-nv-pairs --rekey .* --shift 1 --scope nv-pairs --key ISODATE @timestamp=${ISODATE})")

Cсылки