use*_*887 5 elasticsearch logstash
我使用logstash + elasticsearch来收集syslog,并希望将ttl设置为日志老化
我在logstash中找到一个名为elasticsearch-template.json的文件,路径为logstash/logstash-1.4.2/lib/logstash/outputs/elasticsearch/elasticsearch-template.json
我在文件中添加ttl信息,如下所示:
{
"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" }
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后重新启动logstash,删除所有elasticsearch索引.我检查了弹性搜索中新索引的映射,但它不能以这种方式工作.
如何配置索引模板?
您需要更改您的logstash配置.
如果你已经遵循默认设置,logstash已经在logstash
elasticsearch 命名中创建了一个模板,logstash将继续使用存储在elasticsearch中的模板,除非你不明确告诉它.
修改您找到的模板文件,但除此之外,在您的logstash配置中,设置以下内容:
output {
elasticsearch {
...
template_overwrite => true
...
}
}
Run Code Online (Sandbox Code Playgroud)
该 JSON 文件似乎不在正确的文件夹中。以下是有关如何使用模板的文档: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/indices-templates.html 关于文件夹:
配置
索引模板也可以放置在模板目录下的配置位置 (path.conf) 中(注意,确保将它们放置在所有主合格节点上)。例如,可以将名为 template_1.json 的文件放置在 config/templates 下,如果与索引匹配,则会添加该文件。以下是上述文件的示例:
归档时间: |
|
查看次数: |
14775 次 |
最近记录: |