Деплой 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"
        }
    }
}

Вложения

elk.zip