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

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 26: Строка 26:
 
=Syslog-Ng=
 
=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.
 
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==
  +
<PRE>
  +
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);
  +
};
  +
</PRE>
   
 
=Cсылки=
 
=Cсылки=

Версия 16:41, 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

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);
};

Cсылки