Kibana 自定义索引连接器告警

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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: harrison.yuan@vteamsystem.com  # 收件人邮箱
#    to: miller.lai@vteamsystem.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的内容然后启动服务

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
7月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
存储 JSON 应用服务中间件
|
监控 数据可视化 前端开发
部署kibana分析系统并连接elasticsearch集群展现索引数据(八)
部署kibana分析系统并连接es展现索引数据 1.kibana分析系统简介 Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。
1040 0
部署kibana分析系统并连接elasticsearch集群展现索引数据(八)
|
4月前
|
Prometheus 监控 Cloud Native
自定义grafana_table(数据源Prometheus)
综上所述,自定义 Grafana 表格并将 Prometheus 作为数据源的关键是理解 PromQL 的查询机制、熟悉 Grafana 面板的配置选项,并利用 Grafana 强大的转换和自定义功能使数据展示更为直观和有洞见性。随着对这些工具更深入的了解,您将可以创建出更高级的监控仪表盘,以支持复杂的业务监控需求。
344 1
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
507 0
|
7月前
|
SQL 关系型数据库 数据库
Grafana实现参数查询功能
Grafana实现参数查询功能
|
7月前
|
存储 数据可视化 索引
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
Grafana 系列 - 统一展示 -7-ElasticSearch 数据源
|
7月前
|
JSON Prometheus Cloud Native
Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板
Grafana 系列文章(十二):如何使用 Loki 创建一个用于搜索日志的 Grafana 仪表板
|
JSON Prometheus 监控
一键部署Prometheus,并预置仪表盘和数据源
一键部署Prometheus + Grafana + cAdvisor + node-exporter,搭建主机或容器监控。利用grafana的provisioning方式,通过配置的方式预置仪表盘和数据源。
514 1
|
JSON 数据格式 Python
基于elasticsearch的自定义业务告警的设计思路
基于elasticsearch的自定义业务告警的设计思路
222 0