Kibana 自定义索引连接器告警

简介: Kibana 自定义索引连接器告警



前言

       kibana的告警功能使得在触发了kibana 的告警阈值后,可以做到及时向相关人员发送邮件,但是这个功能是要收费的。已下介绍一个免费的方案处理邮件告警功能,具体的做法是先将告警信息由发送到邮件改为发送到es自定义的索引中,然后通过springboot 开发一个程序定时轮询从es中拉取数据再去发送邮件给指定人员,以下是具体的方案。

方案实现

一、 创建索引

     首先,我们需要预先创建一个索引,用来存储告警的信息。

PUT ipu-cbs-warning-info
{
    "settings" : {
        "number_of_shards" : 1
    },
    "mappings" : {
        "properties" : {
            "timestamp": {"type": "date"},
            "rule_id" : { "type" : "text" },
            "rule_name" : { "type" : "text" },
            "alert_id" : { "type" : "text" },
            "context_reason" : { "type" : "text" },
            "context_group" : { "type" : "text" },
            "context_metric" : { "type" : "text" },
            "context_value" : { "type" : "text" },
            "context_threshold" : { "type" : "text" },
            "context_alertDetailsUrl" : { "type" : "text" }
        }
    }
}

二、 创建连接器

    紧接着,我们需要再kibana上创建一个连接器,将告警信息发送到索引中

三、 创建规则

3.1 使用索引

3.2  选择索引

3.3  填写要索引的文档

{

  "rule_id""{{rule.id}}",

  "rule_name""{{rule.name}}",

  "alert_id""{{alert.id}}",

  "timestamp""{{context.timestamp}}",

  "context_reason""{{context.reason}}",

  "context_group""{{context.group}}",

  "context_metric""{{context.metric}}",

  "context_value""{{context.value}}",

  "context_threshold""{{context.threshold}}",

  "context_alertDetailsUrl""{{context.alertDetailsUrl}}"

}

到这一步,告警数据就可以正常发送到es中了,接下来需要从es中取出数据并发送邮件

四、 发送邮件

  这里采用java服务自定义从es中取数据并发送邮件的功能

4.1 java服务配置

    在springboot中,我们需要添加如下配置:

server:
  port: 8080  # 配置应用程序监听的端口
spring:
  mail:
    default-encoding: UTF-8  # 邮件默认编码设置为UTF-8
    port: 25  # 邮件服务器端口
    host: 192.168.251.31  # 邮件服务器主机地址
    username: uap_no_replay@v-summit.com  # 邮件服务器用户名
    password: vNkZq;kwB  # 邮件服务器密码
    to: xxxx.com  # 收件人邮箱
#    to: xxxx.com  # 可选的第二个收件人邮箱
    properties:
      mail:
        smtp:
          auth: true  # 启用SMTP身份验证
          ssl:
            enable: false  # 禁用SSL
          socketFactory:
            class: javax.net.ssl.SSLSocketFactory  # 设置SocketFactory类为SSLSocketFactory
es:
  host: 192.168.10.161  # Elasticsearch主机地址
  port: 9200  # Elasticsearch端口
  username: elastic  # Elasticsearch用户名
  password: elastic  # Elasticsearch密码
  indexName: ipu-cbs-warning-info  # Elasticsearch索引名称

4.1 jar包下载

下载地址: es 邮件告警服务器jar包

jar包下载后用上面修改的yml配置文件覆盖jar包中的application.yml的内容然后启动服务

相关文章
|
Prometheus 监控 Cloud Native
夜莺自定义告警模板
夜莺自定义告警模板
|
消息中间件 测试技术
通过轻量消息队列(原MNS)主题HTTP订阅+ARMS实现自定义数据多渠道告警
轻量消息队列(原MNS)以其简单队列模型、轻量化协议及按量后付费模式,成为阿里云产品间消息传输首选。本文通过创建主题、订阅、配置告警集成等步骤,展示了该产品在实际应用中的部分功能,确保消息的可靠传输。
289 2
|
运维
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
【Azure Event Hub】自定义告警(Alert Rule)用来提示Event Hub的消息incoming(生产)与outgoing(消费)的异常情况
131 0
|
SQL 消息中间件 分布式计算
基于阿里云 CloudMonitor云监控自定义监控大盘对 EMR 自定义监控实践
本文旨在分享 EMR 平台大数据服务基于阿里云 CloudMonitor 的监控实践,给客户提供除了 EMR 平台默认监控以外,自建监控方式,适用于统一多个阿里云服务的监控监控场景。
1093 2
基于阿里云 CloudMonitor云监控自定义监控大盘对 EMR 自定义监控实践
|
JSON 数据格式 Python
基于elasticsearch的自定义业务告警的设计思路
基于elasticsearch的自定义业务告警的设计思路
401 0
|
弹性计算 监控 应用服务中间件
云监控之自定义监控
云监控之自定义监控
|
存储 监控 索引
SLS告警最佳实践——自定义分析告警历史
在SLS告警评估、触发到通知的整个生命周期过程中,都会有一些日志记录,通过这些日志我们可以借助告警对系统的整体健康状况、稳定性等有一个相对全面的了解。
738 0
|
监控
云监控 --- 自定义监控
自定义监控为您提供了自定义监控项和报警规则的功能,您可以通过上报监控数据接口,将自己关心的业务指标上报至云监控,并在云监控上添加监控图标和设置报警规则,对于故障指标发送报警通知,便于您及时处理故障,保障业务的正常运行。
698 0
云监控 --- 自定义监控
|
JSON 数据格式 Python
基于elasticsearch的自定义业务告警的设计思路
A系统与B系统之间有很多接口交互,但是有一段时间接口经常报错,作为开发如果不能第一时间知道问题且及时解决的话就会收到业务投诉,当月绩效凉凉。
472 0
|
监控 开发工具 异构计算
使用云监控实现GPU云服务器的GPU监控和报警(上) - 自定义监控
本文将介绍如何利用阿里云云监控服务提供的自定义监控实现GPU云服务器的GPU监控和报警的可视化,从而达到对GPU使用情况实时掌握的目的。
7058 0

热门文章

最新文章