Dockerized Logstash генерирует огромные файлы журнала
Я запускаю контейнер logstash в AWS ECS из следующего изображения
docker.elastic.co/logstash/logstash:5.5.3
Все по умолчанию, и я не использую плагин stdout. Но logstash по-прежнему выводит все элементы журнала на стандартный вывод, и контейнер генерирует огромный файл журнала по адресу
/var/lib/docker/containers/51889a642e7e1252b5825379b11cea4e064cda519e8a6a4194335d9e8eb11616/51889a642e7e1252b5825379b11cea4e064cda519e8a6a4194335d9e8eb11616-json.log
Есть ли способ отключить это от logstash
боковая сторона? AWS ECS не поддерживает --log-driver none
только пока.
logstash.conf
а также logstash.yml
как следует:
[ec2-user@ip-xxxxx logstash]$ cat logstash.conf
input {
sqs {
queue => "compute-logs"
polling_frequency => 5
region => "ap-southeast-1"
type => "compute-logs"
}
}
...
output {
elasticsearch {
codec => "json"
hosts => "https://xxxxx.ap-southeast-1.es.amazonaws.com:443"
user => "logstash"
index => "%{name}"
template => "/usr/share/logstash/config/elasticsearch_template.json"
template_name => "logstash"
template_overwrite => true
}
}
[ec2-user@ip-xxxxx logstash]$ ls
elasticsearch_template.json logstash.conf logstash.yml
[ec2-user@ip-xxxxx logstash]$ cat logstash.yml
http.host: "0.0.0.0"
path.config: /usr/share/logstash/pipeline
xpack.monitoring.elasticsearch.url: http://elasticsearch:9200
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: changeme
xpack.monitoring.enabled: false
log.level: error
1 ответ
Вот решение для службы Docker Swarm:
services:
logstash:
image: docker.elastic.co/logstash/logstash:6.4.2
ports:
- 25000:25000
- 25000:25000/udp
logging:
options:
max-size: "10m"
max-file: "10"