在使用 Kibana Alerts 之前,有以下几点需要注意及准备的项目:
由於 Kibana 中的敏感资料和 Alerting Rules (警报规则),储存时都会进行加密,所以要先准备好加密的密钥。
密钥需设定在 kibana.yml
中的 xpack.encryptedSavedObjects.encryptionKey
设定之中,以下是协助产生密钥的工具及指令:
bin/kibana-encryption-keys generate
要让 Alert 发送通知到外部之後,可以透过连结导回 Kibana,所以会需要设定好外部存取 Kibana 时有效的 Base URL,设定在 kibana.yml
中的 server.publicBaseUrl
。
如果有启用 Elastic 的 Security 功能时,必须要设定并启用 TLS 连线。(可参考 官方文件 - Setup basic security for the Elastic Stack plus secured HTTPS traffic )
为了在背景执行的处理程序能安全的存取 Elasticsearch,Kibana alerting 会使用 API key 的安全认证机制,而要使用 API key 的话,就一定要启用 TLS。
要让 Elasticsearch 与 Kibana 之间使用 TLS 连线,会有以下几个设置步骤:
elasticsearch-certutil
配合 http
参数,来建立 TLS 相关的 certificate。如果你的环境之中没有 CA (Certificate Authorities),又或是先前没有建立过 CA 的话,会要先透过 bin/elasticsearch-certutil
配合 ca
参数来建立 CA。
建立完成 http 使用的 certificate 之後,压缩档里面会有以下的内容:
kibana/elasticsearch-ca.pem
档案,复制到 Kibana 的 config 目录中,并修改 kibana.yml
中 的 elasticsearch.ssl.certificateAuthorities
设定,以及将 Elasticsearch 的 protocol 改成 HTTPS:elasticsearch.ssl.certificateAuthorities: $KBN_PATH_CONF/elasticsearch-ca.pem
elasticsearch.hosts: ["https://localhost:9200"]
http.p12
复制到 config 目录底下。xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: http.p12
Kibana Alerts 有支援多种的 Connectors 如下:
在 Kibana > Stack Management > Rules and Connectors > Connector 里可以进行设定,有些与 Security 相关的,可能会要使用到 keystore 来保存密钥,细节相关的设定,可以参考 官方文件 - Kibana Action Types 的说明。
这些 Connector 建立好之後,就会是 Alert 最後要发送通知时的接口。
Elastic Observability 的功能之中,有针对 Alerts 进行整合,也就是在 Observability 的 UI 当中,针对该服务的特性,有建立能较快速建立 Alerts Rules (规则) 的功能,以下针对 Alerts 设置的部份进行说明。
Log 的部份,能快速针对 Log threshold (门槛) 进行 Alerts 的设置,设置重点如下:
设定细节可以参考 官方文件 - Observability - Create a logs threshold rule。
Metrics 在 Inventory 与 Metric Explorer 的页面当中,分类提供不同的 Alerts 设置。
在 Inventory 当中,关注的重点就是 Infrastructure,不论是 Host、Docker、Kubernetes 或是 AWS 云端主机或服务。
所以针对 Inventory 的部份,Alerts 的主要设置重点如下:
设定细节可以参考 官方文件 - Observability - Infrastructure threshold rule。
在 Metric 的部份,主要的设定如下:
设定细节可以参考 官方文件 - Observability - Metrics threshold rule。
在 Uptime 的部份,主要的 Alert 设定有以下三种:
在 Monitor 的页面之中,Uptime 最主要的任务就是确认服务是否还活着,因此 Alert 的设定重点为:
设定细节可以参考 官方文件 - Observability - Monitor status rule。
TLS Certificate 的 Alert 很单纯,就只有一个重点:
设定细节可以参考 官方文件 - Observability - TLS certificate rule。
在 Uptime Monitor 的页面中,如我们前一篇文章的介绍,可以开启 Machine Learning 的 Anomaly detecion 的功能。
一但开始这个功能之後,就可以在 Monitor 的回应时间被判定成异常时,主动发送 Alert。
点选 Enable anomaly alert 後的设定画面如下:
设定细节可以参考 官方文件 - Observability - Uptime duration anomaly rule。
查看最新 Elasticsearch 或是 Elastic Stack 教育训练资讯: https://training.onedoggo.com
欢迎追踪我的 FB 粉丝页: 乔叔 - Elastic Stack 技术交流
不论是技术分享的文章、公开线上分享、或是实体课程资讯,都会在粉丝页通知大家哦!
其实原本不是要叫这个名字的。原本要叫《官网没教你的「如何把 Vue 写好」》但是太狂了,竟然敢代替官...
工程师太师了: 第7话 杂记: 这次的COVID-19 疫情, 究竟对我们产生了什麽影响? 很多人会...
昨天很开心的给大家看我可以用键盘和滑鼠移动视角跟位置就结束了呢,今天来稍微讲讲我的心得吧(?。 ...
成为武林高手的第一步-轻小说阅读模式启动【ON】 ------------------------ ...
前几天在和有考过 APCS 的朋友聊天,才发现有一部分实作很强的同学事实上没办法看懂观念题的题目,观...