當我在用 Elasticsearch + Fluentd + Kibana 時
把 Nginx access_log 和 error_log 透過 Fluentd 匯入到 Elasticsearch 時
Elasticsearch 會自動把 log 套用在 Dynamic Mapping
優點是非常方便,不需要特別設定。
缺點是它把所有的欄位都設定為 String
這樣就無法取 Max Min Avg 的值
如果要改的話,就要設定 template,並把 template 套用在特定的 index 上。
設定如下
PUT /_template/uat-nginx-access
{
"template": "uat-nginx-access-*",
"order": 1,
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
},
"mappings": {
"access_log": {
"properties": {
"@log_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"@timestamp": {
"type": "date"
},
"consume": {
"type": "float",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"host": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"message": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"method": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"msec": {
"type": "float",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"path": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"pid": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"protocol": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"remote": {
"type": "ip",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"response_code": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"serial": {
"type": "float",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"server": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"size": {
"type": "float",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"time": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"user": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"version": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
}
}
}
留言列表