ELK: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
| Строка 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})")