我正在使用EFK日志堆栈,并设法设置了流利的过滤器和匹配配置,以便在Kibana中收集的tomcat访问日志中存在所有必填字段:IP,纬度,经度,城市,国家/地区代码等>
我有curl -XPUT -H "Content-Type: application/json" --data @fluentd_mapping.json http://$host/fluentd/fluentd/_mapping
,但它只影响流利的索引。不是动态创建的每日日志索引<foo>.access.logs.*
所以我的问题是如何应用映射,以便geo_point类型对每日日志索引有效?谢谢。
我重新启动了ES容器curl -XPUT
,下面的mapping.json由流利的索引而不是每日日志索引获取:
{
"fluentd": {
"location_array": {
"type": "geo_point"
},
"location_properties": {
"type": "geo_point"
},
"location_string": {
"type": "geo_point"
},
}
}
现有模板:
"dynamic_templates": [{
"kibana_index_template:.kibana": {
"dynamic_templates": [{
"security-index-template": {
"dynamic_templates": [{
"path_match": "result\\.(input(\\..+)*|(transform(\\..+)*)|(actions\\.transform(\\..+)*))\\.search\\.request\\.(body|template)",
"logstash-index-template": {
现有索引模式:
"index_patterns": [".monitoring-logstash-6-*"],
"index_patterns": [".monitoring-kibana-6-*"],
"index_patterns": [".ml-anomalies-*"],
"index_patterns": [".kibana"],
"index_patterns": [".ml-state"],
"index_patterns": [".watches*"],
"index_patterns": [".monitoring-beats-6-*"],
"index_patterns": [".monitoring-es-6-*"],
"index_patterns": [".security_audit_log*"],
"index_patterns": [".ml-meta"],
"index_patterns": [".security-*"],
"index_patterns": [".triggered_watches*"],
"index_patterns": [".watcher-history-9*"],
"index_patterns": [".monitoring-alerts-6"],
"index_patterns": [".ml-notifications"],
"index_patterns": [".logstash"],
我添加了以下模板,但无济于事:
"fluentd": {
"order": 0,
"index_patterns": ["myapp.access.logs*"],
"settings": {},
"mappings": {
"fluentd": {
"properties": {
"location_array": {
"type": "geo_point"
},
"location_properties": {
"type": "geo_point"
},
"location_string": {
"type": "geo_point"
}
}
}
},
"aliases": {}
},
myapp.access.logs-
无法识别答案 0 :(得分:1)
为清楚起见,请指定fluentd_mapping.json的内容,但索引似乎具有不同的名称模式,这就是映射未应用于所有索引的原因。
您应该使用elasticsearch模板来配置geoip映射。在模板中,查看描述索引匹配条件的“ index_patterns”。 https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html
一旦index_patterns正则表达式将匹配您需要的所有索引(包括访问日志索引),然后进行GEOIP映射,其余所有将按预期应用。