Я использую Logstash, Redis DB, ElasticSearch и Kibana 3 для своего централизованного сервера журналов. Он работает нормально, и я могу видеть журналы в Kibana. Теперь я хочу вести только 30-дневный журнал в ElasticSearch и Redis Server. Можно ли очистить данные от Redis?
Я использую приведенную ниже конфигурацию
indexer.conf
input {
redis {
host => "127.0.0.1"
port => 6379
type => "redis-input"
data_type => "list"
key => "logstash"
format => "json_event"
}
}
output {
stdout { debug => true debug_format => "json"}
elasticsearch {
host => "127.0.0.1"
}
}
shipper.conf
input {
file {
type => "nginx_access"
path => ["/var/log/nginx/**"]
exclude => ["*.gz", "error.*"]
discover_interval => 10
}
}
filter {
grok {
type => nginx_access
pattern => "%{COMBINEDAPACHELOG}"
}
}
output {
stdout { debug => true debug_format => "json"}
redis { host => "127.0.0.1" data_type => "list" key => "logstash" }
}
В соответствии с этой конфигурацией файл грузоотправителя отправляет данные в базу данных Redis с ключом «logstash». Из документов redis db я узнал, что мы можем установить TTL для любого ключа с помощью команды expire, чтобы очистить их. Но когда я ищу ключ «logstash» в redis db keys logstash
или keys *
, я не получаю никакого результата. Пожалуйста, дайте мне знать, если мой вопрос не понятен. Заранее спасибо.