Деплой ELK и настройка логирования контейнеров
Деплой ELK и настройка логирования контейнеров#
Нужно задеплоить стек ELK из вложения
Для служб докера добавить секцию logging в compose файл:
logging:
driver: gelf
options:
gelf-address: udp://10.0.1.11:12201
tag: "cron"
Дополнительно нужно создать файл ./logstash/pipeline/logstash.conf и
записать в него содержимое в соответствии с используемыми тегами:
input {
gelf {
port => 12201
codec => json
tags => ["gelf"]
}
gelf {
type => docker
port => 12202
tags => ["docker"]
}
}
filter {
if [tag] == "nginx-elasticsearch" {
json {
source => "message"
}
}
}
output {
if [type] == "docker" {
elasticsearch {
hosts => "elasticsearch:9200"
index => "docker-%{+YYYY.MM.dd}"
user => "appworks"
password => "bkVX6IeX4NKhB"
}
} else if [tag] == "nginx-site" {
elasticsearch {
hosts => "elasticsearch:9200"
index => "nginx-site-%{+YYYY.MM.dd}"
user => "appworks"
password => "bkVX6IeX4NKhB"
}
} else {
elasticsearch {
hosts => "elasticsearch:9200"
index => "logstash-%{+YYYY.MM.dd}"
user => "appworks"
password => "bkVX6IeX4NKhB"
}
}
}
Вложения