ElasticSearch创建索引模版

avatar 2020年6月5日18:05:07 评论 2,028 次浏览

只所以创建ElasticSearch的索引模版是因为我在日志收集的过程中利用logstash写到ElasticSearch中时,定义了索引根据日期进行区分,这边在后期维护的过程中方便清理和备份。

logstash定义的索引格式时"k8s-logs-%{+YYYY.MM.dd}",这样写到ElasticSearch中都是以k8s-logs-日期命名的格式文件。为了不给所有文件单独定义索引,所以我就创建了一个模版,我这里命名的索引模版名称时k8s-logs,生成的所有索引文件都定义了10分片,0个副本。

PUT /_template/k8s-logs
{
  "template": "k8s-logs*",
	"settings": {
		"number_of_shards": 10,
		"number_of_replicas": 0
	}
}

也可以使用

curl -XPUT localhost:9200/_template/k8s-logs -d
{  
    "template" : "k8s-logs-*",
    "order":1,
    "settings" : {  
        "number_of_shards" : 10,
        "number_of_replicas": 0  
    },  
    "mappings" : {  
        "type1" : {  
            "_source" : {"enabled" : false }  
        }  
    }  
}

我这里模版的mapping是从日志中学习到的,所以在模版中不需要定义,生成的日志会自动生成mappings。所有生成的日志都会在ElasticSearch中产生一个k8s-logs-%{+YYYY.MM.dd}格式的文件,就是当天的日志内容。

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: