IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Kibana:创建一个 webhook alert - Elastic Stack 8.2 -> 正文阅读

[大数据]Kibana:创建一个 webhook alert - Elastic Stack 8.2

在今天的练习中,我将展示如何使用最新的 Elastic Stack 8.2 来生成一个 Alert,也就是一个警报。

创建一个 webhook alert - Elastic Stack 8.2

创建一个 webhook alert - Elastic Stack 8.2_哔哩哔哩_bilibili

安装

安装 Elastic Stack

如果你还没有安装好自己的 Elasticsearch 及 Kibana,那么请参考如下的文章来安装好自己的 Elasticsearch 及 Kibana:

特别需要指出的是,你需要按照 Elastic Stack 8.x 的部分来进行安装。如果你是使用 macOS,你可以参考文章 “Elastic Stack 8.0 安装 - 保护你的 Elastic Stack 现在比以往任何时候都简单” 即可。

等我们安装好 Elasticsearch 和 Kibana 后。我们接着导航到 Kibana 的如下界面:

当我们点击 Rules and Connectors 时,我们可以看到它需要让我们做一些额外的配置:

上面显示,我们需要添加如上所示的一个 key。我们在 Kibana 的安装目录打入如下的命令:

./bin/kibana-encryption-keys generate

我们把上面生成的三个 key 拷贝到 config/kibana.yml 文件中去。再次重新启动 Kibana。然后再导航到刚才的??Rules and Connectors 位置:

现在我们没有看到之前的那个提醒额外安装的步骤。我们可以直接创建 rule 了。

安装 webhook

我们首先创建一个比较简单的 Webserver。我们在自己喜欢的目录中,创建如下的一个文件:

webserver.cr

require "http/server"
require "colorize"

cyan = Colorize.with.cyan
light_cyan = Colorize.with.light_cyan
color = cyan

server = HTTP::Server.new do |context|
    req = context.request
    color = color == cyan ? light_cyan : cyan
    color.surround(STDOUT) do
        req.to_io STDOUT
    end
    STDOUT.print "\n\n" if req.body
end

server.listen 8888

这是一个非常简单的 Webserver。我们在 macOS 下做如下的安装来进行安装。

sudo port install crystal
curl https://sh.rustup.rs -sSf | sh
cargo install bore-cli

然后,我们在两个 terminal 中做如下的运行:

我们先使用 crystal 来启动 webserver:

crystal webserver.cr

然后再在右边的 terminal 中访问这个 webserver。在左边,我们可以看到相应的输出。

为了能使得我们的 webserver 能被外网所访问,我们可以使用 bore 来实现。尽管在我们的这个练习中并不需要,因为我们所有的运行在本地局域网中完成的。我们在另外一个 terminal 中运行如下的命令:

bore local 8888 --to bore.pub

在运行完 bore 之后,我们可以看到一个输出的外网地址。我们再在另外一个 terminal 中访问外网的地址。在 webserver 中,我们可以看到另外一个响应。这说明我们的 bore 的运行是成功的。

至此,我们的 webhook 已经安装完毕。

创建 webhook alert

我们接下来创建一个 webhook 的 connector:

从上面的界面中,我们可以看出来目前免费的 alert 只有 Index 及 Server log。Webhook alert 是一个收费的功能。我们必须启动试用功能:

这样我们就启动了白金版的试用功能。我们再次回到之前的界面:

这次,我们选择 Webhook:

我们再次回到之前的 terminal 中进行查看:

上面显示我们的测试是成功的。

我们接下来创建一个 rule:

在上面的列表中,我们可以看到许多的 rule。在本次的练习中,我们将创建一个 Index threshold rule。根据它的描述:

也就是说聚合的值满足一个阈值就会发送报警。具体可以详细阅读官方文档。

接下来,我们来创建一个索引:

PUT webhook
{
  "mappings": {
    "properties": {
      "@timestamp": {
        "type": "date"
      },
      "hits": {
        "type": "long"
      }
    }
  }
}

为了方便插入时间戳,我们也创建如下的一个 ingest pipeline:

PUT _ingest/pipeline/add-timestamp
{
  "processors": [
    {
      "set": {
        "field": "@timestamp",
        "value": "{{_ingest.timestamp}}"
      }
    }
  ]
}

?我们可以通过如下的方式来写入一个文档:

PUT webhook/_doc/1?pipeline=add-timestamp
{
  "hits": 500
}

我们可以通过如下的方式来检查我们些人的文档:

GET webhook/_search?filter_path=**.hits
{
  "hits" : {
    "hits" : [
      {
        "_index" : "webhook",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "hits" : 500,
          "@timestamp" : "2022-05-07T07:10:17.516110Z"
        }
      }
    ]
  }
}

我们可以看到有一个时间戳和 hits 字段。

接下来,我们再次回到之前的 rule 创建界面:

当满足条件时,我们发送如下格式的通知信息:

Threshold is met!

Value: {{context.value}}

Message: {{context.message}}

点击上面的 Save 按钮:

我们可以看到当前的 rule 的状态是 enabled,而它的上一个 response 是 Pending。然后变为:

我们接下来回到 Kibana 的 Dev Tools 中打入如下的命令:

PUT webhook/_doc/1?pipeline=add-timestamp
{
  "hits": 6500
}

或者使用如下的命令:

POST webhook/_doc?pipeline=add-timestamp
{
  "hits": 6500
}

过一小会儿,我们再查看 rule 的界面:

?

这是因为我们设置的是在过去的10秒钟的时间里,聚合 hits 字段的值超过 5000 就报警。这是在上面的界面中设置的。我们再来查看一下 webserver 的界面:

我们再接下来发送如下的一个信息:

PUT webhook/_doc/1?pipeline=add-timestamp
{
  "hits": 500
}

?这次,我们的 hits 值为 500。我们再看看:

好了。今天的展示就到这里。我们可以看到从0创建一个 alert。希望对大家有所帮助!??

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-05-09 12:46:25  更:2022-05-09 12:50:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:53:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码