以编程方式设置 Kibana 的默认索引模式

Programmatically set Kibana's default index pattern

Kibana 新手想知道如何以编程方式设置默认索引模式,而不是在第一次查看 Kibana UI 时通过网络浏览器在 Kibana UI 上设置它,如第 https://www.elastic.co/guide/en/kibana/current/setup.html

Elasticsearch 将所有 Kibana 元数据信息存储在 .kibana 索引下。 defaultIndex 和高级设置等 Kibana 配置存储在 index/type/id .kibana/config/4.5.0 下,其中 4.5.0 是您的 Kibana 版本。

因此您可以通过以下步骤实现设置或更改 defaultIndex:

  1. 将要设置为默认索引的索引添加到 Kibana。您可以通过执行以下命令来做到这一点:

    curl -XPUT http://<es node>:9200/.kibana/index-pattern/your_index_name -d '{"title" : "your_index_name",  "timeFieldName": "timestampFieldNameInYourInputData"}'
    
  2. 更改您的 Kibana 配置以将之前添加的索引设置为默认索引:

    curl -XPUT http://<es node>:9200/.kibana/config/4.5.0 -d '{"defaultIndex" : "your_index_name"}'
    

注意: 确保你在任何地方都提供正确的 index_name,有效的时间戳字段名称和 kibana 版本,例如,如果你使用的是 kibana 4.1.1,那么你可以替换4.5.0 与 4.1.1 .

在kibana:6.5.3中可以这样调用kibana api.

curl -X POST "http://localhost:5601/api/saved_objects/index-pattern/logstash" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d'
{
  "attributes": {
    "title": "logstash-*",
    "timeFieldName": "@timestamp"
  }
}
'

文档 here 它确实提到该功能是实验性的。