Io uso logstash + elasticsearch per raccogliere syslog e voglio impostare TTL per log invecchiamentoposso impostare logstash mappatura elasticsearch predefinita attraverso elasticsearch-template.json
trovo un file chiamato elasticsearch-template.json nel logstash, il percorso è logstash/logstash-1.4.2/lib/logstash/uscite/elasticsearch/elasticsearch-template.json
aggiungo informazioni TTL nel file in questo modo:
{
"template" : "logstash-*",
"settings" : {
"index.refresh_interval" : "5s"
},
"mappings" : {
"_default_" : {
"_all" : {"enabled" : true},
"dynamic_templates" : [ {
"string_fields" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "string", "index" : "analyzed", "omit_norms" : true,
"fields" : {
"raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
}
}
}
} ],
"_ttl": {
"enabled": true,
"default": "1d"
},
"properties" : {
"@version": { "type": "string", "index": "not_analyzed" },
"geoip" : {
"type" : "object",
"dynamic": true,
"path": "full",
"properties" : {
"location" : { "type" : "geo_point" }
}
}
}
}
}
}
quindi riavviare logstash, eliminare tutto l'indice elasticsearch. Controllo la mappatura del nuovo indice in elasticsearch, ma non ha funzionato in questo modo.
Come posso configurare il modello di indice?
Per i nuovi visitatori, non c'è un plugin chiamato "Kopf" con un sacco di funzioni. Uno di questi è modificare facilmente il modello e salvarlo in un editor. Cose come cambiare il numero di frammenti/replica in base al tuo cluster, ecc. – Maziyar