通过电子邮件自动生成和发送 kibana 仪表板报告

Automatically generate and send kibana dashboard reports via an Email

我有一个 3 节点的 ELK 集群(所有版本 6),在第一个节点上我有 Elasticsearch 和 Kibana,在第二个节点上有 Elasticsearch 和 Logstash,在第三个节点上我只有 Elasticsearch,它是一个 Ingest 节点。

我有 4 台服务器通过 filebeat 和 metricbeat 向我发送数据。

现在一切正常,我什至有 X-Pack 版本 6 现在有手动生成仪表板 pdf 的过程,我试过了。

我想在特定时间自动生成报告并通过电子邮件发送给我。

我在 elasticsearch.yml 文件中阅读了有关观察者和电子邮件配置的信息,并且我这样做了..

但我希望它自动完成。而且我没有尝试 skidler 和 phantomJs。

如果我遗漏了什么,请帮助我,谢谢。

这是一个例子from the documentation on how to generate a report with Watcher:

PUT _xpack/watcher/watch/error_report
{
  "trigger" : {
    "schedule": {
      "interval": "1h"
    }
  },
  "actions" : {
    "email_admin" : { 
      "email": {
        "to": "'Recipient Name <recipient@example.com>'",
        "subject": "Error Monitoring Report",
        "attachments" : {
          "error_report.pdf" : {
            "reporting" : {
              "url": "http://0.0.0.0:5601/api/reporting/generate/dashboard/Error-Monitoring?_g=(time:(from:now-1d%2Fd,mode:quick,to:now))", 
              "retries":6, 
              "interval":"1s", 
              "auth":{ 
                "basic":{
                  "username":"elastic",
                  "password":"changeme"
                }
              }
            }
          }
        }
      }
    }
  }
}

基本上你只需要一个 API 电话就可以完成。