Amazon web services 如何自动创建所有日期的elasticsearch索引模式?
我正在使用cloudwatch订阅过滤器,它会自动将日志发送到elasticsearch aws,然后从那里使用Kibana。问题是Daily cloudwatch创建了一个新的索引,因此我每天都必须在kibana中手动创建新的索引模式。因此,我必须每天在kibana创建新的监视器和警报。我必须以某种方式实现自动化。此外,如果有更好的选择,我可以继续将是伟大的。我知道datadog是一个不错的选择。典型的工作流程如下所示(还有其他方法)Amazon web services 如何自动创建所有日期的elasticsearch索引模式?,amazon-web-services,
elasticsearch,monitoring,amazon-cloudwatchlogs,kibana-7,Amazon Web Services,
elasticsearch,Monitoring,Amazon Cloudwatchlogs,Kibana 7,我正在使用cloudwatch订阅过滤器,它会自动将日志发送到elasticsearch aws,然后从那里使用Kibana。问题是Daily cloudwatch创建了一个新的索引,因此我每天都必须在kibana中手动创建新的索引模式。因此,我必须每天在kibana创建新的监视器和警报。我必须以某种方式实现自动化。此外,如果有更好的选择,我可以继续将是伟大的。我知道datadog是一个不错的选择。典型的工作流程如下所示(还有其他方法) 创建索引时选择一种模式。如staff-202001、st
- 创建索引时选择一种模式。如staff-202001、staff-202002等
- 将每个索引添加到别名。像职员一样
staff-*
匹配而创建的新索引都将分配给给定的映射,并附加到别名staff
,我们可以查询staff
,而不是单个索引和设置警报
我们可以使用cwl--aws ContainerIneks集群作为测试主机来运行查询
POST _template/cwl--aws-containerinsights-eks-cluster-for-test-host
{
"index_patterns": [
"cwl--aws-containerinsights-eks-cluster-for-test-host-*"
],
"mappings": {
"properties": {
"id": {
"type": "keyword"
},
"firstName": {
"type": "text"
},
"lastName": {
"type": "text"
}
}
},
"aliases": {
"cwl--aws-containerinsights-eks-cluster-for-test-host": {}
}
}
注意:如果不确定映射,我们可以删除映射部分。索引的命名模式是什么?cwl--aws-containerinsights-eks-cluster-for-test-host-2021.01.19…类似这样的内容最后一个数字表示日期这听起来足够好了。但不幸的是,我无法在Kibana的管理部分看到模板选项,因为我使用的是Aws提供的仪表板。我们是否可以通过某种方式增强它以使用模板功能?Kibana UI将提供用于运行查询的
Dev Tools
选项,或者您可以像这样访问urlhttps://my***-****.us-east-1.es.amazonaws.com/_plugin/kibana/app/kibana#/dev_tools/console?_g=()
在开发工具中,我能够运行查询,并且我得到的响应为true。那之后我该怎么办?如何实现它来创建索引模式?仅此而已。没有其他需要。下次创建与该模式匹配的索引时,它将自动分配给测试主机的给定别名cwl--aws containerinsights eks cluster
,您只需使用别名即可运行查询。太好了,很高兴我能提供帮助。对于您的最后一条评论,与模式匹配创建的每个索引都将附加到别名
。因此,我们使用alias
进行查询,alias就像所有索引的通用名称。