我们计划使用弹性搜索作为我们的指标存储的时间序列数据库。在通过弹性搜索作为时间序列数据库的以下博客(https://www.elastic.co/blog/elasticsearch-as-a-time-series-data-store)之后,我想出了以下映射
{
"template": "metricsets-*",
"version": 50001,
"settings": {
"index.refresh_interval": "5s"
},
"mappings": {
"_default_": {
"_all": { "enabled": false },
"_source": { "enabled": false },
"dynamic_templates": [
{ "string_fields": { "match": "*", "match_mapping_type": "string", "mapping": { "type": "keyword" } } },
{ "tags": { "match_mapping_type": "string", "path_match": "tag.*", "mapping": { "type": "keyword" } } },
{ "metrics_object": { "match_mapping_type": "object", "mapping": { "type": "object", "index": false } } },
{ "metrics_long": { "match_mapping_type": "long", "mapping": { "type": "float", "index": false } } },
{ "metrics_double": { "match_mapping_type": "double", "mapping": { "type": "float", "index": false } } },
{ "metrics_boolean": { "match_mapping_type": "boolean", "mapping": { "type": "boolean", "index": false } } }
],
"properties": {
"@timestamp": { "type": "date" },
"@version": { "type": "keyword"}
}
}
}
}
我们使用 metricbeat 进行指标收集,使用 logstash 作为摄取器。我们使用的是 elasticsearch 5.x 版本。
metricbeat --> logstash --> elasticsearch --> grafana/kibana.
我的模板是否针对度量存储进行了正确优化?我错过了什么吗?