elasticsearch default template

本文详细介绍了 Logstash 索引模板的配置方法,包括索引的刷新间隔设置、字段映射规则、不同数据类型的处理方式等。通过具体示例展示了如何为收集到的数据设定合理的存储结构。

{

    "logstash": {

        "order": 0,

        "template": "logstash-*",

        "settings": {

            "index": {

                "refresh_interval": "5s"

            }

        },

        "mappings": {

            "_default_": {

                "dynamic_templates": [

                    {

                        "message_field": {

                            "mapping": {

                                "fielddata": {

                                    "format": "disabled"

                                },

                                "index": "analyzed",

                                "omit_norms": true,

                                "type": "string"

                            },

                            "match_mapping_type": "string",

                            "match": "message"

                        }

                    },

                    {

                        "string_fields": {

                            "mapping": {

                                "fielddata": {

                                    "format": "disabled"

                                },

                                "index": "analyzed",

                                "omit_norms": true,

                                "type": "string",

                                "fields": {

                                    "raw": {

                                        "ignore_above": 256,

                                        "index": "not_analyzed",

                                        "type": "string",

                                        "doc_values": true

                                    }

                                }

                            },

                            "match_mapping_type": "string",

                            "match": "*"

                        }

                    },

                    {

                        "float_fields": {

                            "mapping": {

                                "type": "float",

                                "doc_values": true

                            },

                            "match_mapping_type": "float",

                            "match": "*"

                        }

                    },

                    {

                        "double_fields": {

                            "mapping": {

                                "type": "double",

                                "doc_values": true

                            },

                            "match_mapping_type": "double",

                            "match": "*"

                        }

                    },

                    {

                        "byte_fields": {

                            "mapping": {

                                "type": "byte",

                                "doc_values": true

                            },

                            "match_mapping_type": "byte",

                            "match": "*"

                        }

                    },

                    {

                        "short_fields": {

                            "mapping": {

                                "type": "short",

                                "doc_values": true

                            },

                            "match_mapping_type": "short",

                            "match": "*"

                        }

                    },

                    {

                        "integer_fields": {

                            "mapping": {

                                "type": "integer",

                                "doc_values": true

                            },

                            "match_mapping_type": "integer",

                            "match": "*"

                        }

                    },

                    {

                        "long_fields": {

                            "mapping": {

                                "type": "long",

                                "doc_values": true

                            },

                            "match_mapping_type": "long",

                            "match": "*"

                        }

                    },

                    {

                        "date_fields": {

                            "mapping": {

                                "type": "date",

                                "doc_values": true

                            },

                            "match_mapping_type": "date",

                            "match": "*"

                        }

                    },

                    {

                        "geo_point_fields": {

                            "mapping": {

                                "type": "geo_point",

                                "doc_values": true

                            },

                            "match_mapping_type": "geo_point",

                            "match": "*"

                        }

                    }

                ],

                "_all": {

                    "omit_norms": true,

                    "enabled": true

                },

                "properties": {

                    "@timestamp": {

                        "type": "date",

                        "doc_values": true

                    },

                    "geoip": {

                        "dynamic": true,

                        "type": "object",

                        "properties": {

                            "ip": {

                                "type": "ip",

                                "doc_values": true

                            },

                            "latitude": {

                                "type": "float",

                                "doc_values": true

                            },

                            "location": {

                                "type": "geo_point",

                                "doc_values": true

                            },

                            "longitude": {

                                "type": "float",

                                "doc_values": true

                            }

                        }

                    },

                    "@version": {

                        "index": "not_analyzed",

                        "type": "string",

                        "doc_values": true

                    }

                }

            }

        },

        "aliases": {}

    }

}

要解决无法移除可组合模板 `[my_default_template]` 因为它正被数据流 `[.logs-deprecation.elasticsearch-default, .slm-history-5, ilm-history-5]` 使用的问题,可采用以下方法。 ### 1. 解除模板与数据流的关联 可以创建新的索引模板,让这些数据流不再使用 `my_default_template`。首先,需要查看当前索引模板的配置,然后创建新模板来覆盖原模板的设置。 ```python # 查看当前模板配置,使用 Elasticsearch Python 客户端 from elasticsearch import Elasticsearch es = Elasticsearch() response = es.indices.get_template(name="my_default_template") print(response) ``` 接着,创建新的索引模板,确保新模板覆盖 `my_default_template` 对这些数据流的设置。 ```python # 创建新的索引模板 new_template_body = { "index_patterns": [".logs-deprecation.elasticsearch-default", ".slm-history-5", "ilm-history-5"], "template": { "settings": { # 这里可以设置新的索引设置 "number_of_shards": 1, "number_of_replicas": 1 }, "mappings": { # 这里可以设置新的映射 } } } es.indices.put_template(name="new_default_template", body=new_template_body) ``` ### 2. 停用数据流对模板的依赖 如果想让数据流完全不依赖任何模板,可以停用数据流的模板设置。 ```python # 停用数据流的模板设置 for data_stream in [".logs-deprecation.elasticsearch-default", ".slm-history-5", "ilm-history-5"]: es.indices.put_settings( index=data_stream, body={ "index": { "template": None } } ) ``` ### 3. 移除可组合模板 当确保数据流不再依赖 `my_default_template` 后,就可以移除该模板。 ```python # 移除可组合模板 es.indices.delete_template(name="my_default_template") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值