如何全天候自动创建elasticsearch索引模式?

How to automate the creation of elasticsearch index patterns for all days?

我正在使用 cloudwatch 订阅过滤器,它会自动将日志发送到 elasticsearch aws,然后我从那里使用 Kibana。问题是每天 cloudwatch 都会创建一个新索引,因此我必须每天在 kibana 中手动创建新索引模式。因此,我每天也必须在 kibana 中创建新的监视器和警报。我必须以某种方式使它自动化。另外,如果有更好的选择可以让我继续前进,那就太好了。我知道 datadog 是一个不错的选择。

典型的工作流程如下所示(还有其他方法)

  • 创建索引时选择一种模式。像 staff-202001、staff-202002 等
  • 将每个索引添加到一个别名。喜欢员工

这可以通过多种方式实现,最简单的是创建一个带有索引模式、别名和映射的模板。 示例:创建的任何与模式 staff-* 匹配的新索引都将分配给定映射并附加到别名 staff,我们可以查询 staff 而不是单个索引和设置警报。

我们可以使用 cwl--aws-containerinsights-eks-cluster-for-test-host 来 运行 查询。

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": {}
  }
}

注意:如果不确定映射,我们可以删除映射部分。