Kibana:如何使用企业微信来接收通知

现代企业越来越使用微信来接收通知。一方面比较方便,另外一方面越来越多的企业也开始使用企业微信来接收通知。在今天的教程中,我们来详述如何使用企业微信来接收从 Kibana 中发出的通知。

安装

Elasticsearch 及 Kibana

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

在安装的时候,请选择 Elastic Stack 8.x/9.x 进行安装。在安装的时候,我们可以看到如下的安装信息:

为了能够使得 Kibana 获得通知的能力,我们需要依据 CLI tool 来创建一些 keys。在 Kibana 的根目录下,打入如下的命令:

bash 复制代码
`./bin/kibana-encryption-keys generate`AI写代码

我们可以看到如下的输出:

我们把上面的 keys 拷贝到 config/kibana.yml 文件的末尾,然后保存,并重新启动 Kibana。这样我们的配置就完成了。更多有关 Alerts 的安装及配置,请参考文章 "Kibana:创建一个 webhook alert - Elastic Stack 8.2"。

启动白金试用

在默认的 basic 版权情况下,Elastic 只支持 index 及 server log:

在我们的企业微信通知中,我们需要使用到 Webhook。我们必须启动白金试用才可以进行测试:

这样我们的白金试用功能就启动了。

创建企业微信

之前我一直也没有用到企业微信。为了这个测试,我在苹果商店(针对苹果电脑)下载并安装了企业微信。

大家可以根据自己的平台或者电脑来分别进行安装。这里就不一一赘述了。具体步骤可以参考文章。我们可以在手机端中创建一个企业。比如,我创建了一个叫做 "刘氏集团" 的企业微信。然后,我们创建一个群聊:

.

我们点击上面的 "添加" 来创建一个 Webhook 的消息推送:

我们拷贝在上面图中显示的 Webhook 地址。在接下来的配置中,我们将对它进行使用。

配置 Webhook connector

接下来,我们来配置 Webhook 连接器。我们按照如下的步骤来进行:

我们把所需要的信息填入进去。记得上面的 URL 就是之前我们创建的 URL。我们选择 Save & test 来进行测试:

我们在 Body 里填入如下的信息:

bash 复制代码
`

1.  {
2.      "msgtype": "text",
3.      "text": {
4.          "content": "大家好,这是一条来自机器人的测试消息!"
5.      },
6.      "mentioned_list": [
7.          "张三",
8.          "李四"
9.      ],
10.      "mentioned_mobile_list": [
11.          "13800000000",
12.          "@all"
13.      ]
14.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

请注意:

  • msgtype: 固定为 "text"。

  • content: 消息的文本内容。

  • mentioned_list : 需要 @ 的成员UserID列表,@all 可以用来 @ 所有人。

  • mentioned_mobile_list : 需要 @ 的成员手机号列表,@all 也可以用来 @ 所有人。

点击上面的 Run,上面显示我们的消息已经成功地发出去了。我们检查手机端的企业微信,我们可以看到一条如下的消息:

很显然,我们收到了我们想要的信息。

如何使用我们的 WeCom 连接器呢?

我们来参考之前的文章 "Kibana:创建一个 webhook alert - Elastic Stack 8.2"。我们首先创建一个索引:

markdown 复制代码
`

1.  PUT webhook
2.  {
3.    "mappings": {
4.      "properties": {
5.        "@timestamp": {
6.          "type": "date"
7.        },
8.        "hits": {
9.          "type": "long"
10.        }
11.      }
12.    }
13.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

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

bash 复制代码
`

1.  PUT _ingest/pipeline/add-timestamp
2.  {
3.    "processors": [
4.      {
5.        "set": {
6.          "field": "@timestamp",
7.          "value": "{{_ingest.timestamp}}"
8.        }
9.      }
10.    ]
11.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

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

sql 复制代码
`

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

`AI写代码

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

ini 复制代码
`GET webhook/_search?filter_path=**.hits`AI写代码
bash 复制代码
`

1.  {
2.    "hits": {
3.      "hits": [
4.        {
5.          "_index": "webhook",
6.          "_id": "1",
7.          "_score": 1,
8.          "_source": {
9.            "hits": 500,
10.            "@timestamp": "2025-08-12T01:25:21.628454Z"
11.          }
12.        }
13.      ]
14.    }
15.  }

`AI写代码![](https://csdnimg.cn/release/blogv2/dist/pc/img/runCode/icon-arrowwhite.png)

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

我们来到创建 rule 的界面:

上面表面,当 hits 的值在 5 分钟内,它的总和超过5000,就要发警报。

我们选择之前创建的 WeCom 连接器:

点击 Create rule 来创建这个规则:

从上面显示中,我们可以看到已经创建了一个叫做 Index threshold rule 的规则。

接下来,我们在 Dev Tools 里运行如下的命令:

sql 复制代码
`

1.  PUT webhook/_doc/1?pipeline=add-timestamp
2.  {
3.    "hits": 2000
4.  }

`AI写代码

当我们运行一次的时候,是没有任何反应的,因为 hits 的值只有 2000。我们接下来连续运行这个命令

sql 复制代码
`

1.  PUT webhook/_doc/1?pipeline=add-timestamp
2.  {
3.    "hits": 20000
4.  }

`AI写代码

这样我们的 hits 总和已经超过 5000 了。我们希望能看到一条告警的信息。

我们检查企业微信,可以查看到如下的信息:

一旦是 Active 状态,它不会再发同样的通知,直到状态恢复到 Recovered:

等待状态变为 Recovered,我们再次运行如下的一天指令:

sql 复制代码
`

1.  PUT webhook/_doc/1?pipeline=add-timestamp
2.  {
3.    "hits": 20000
4.  }

`AI写代码

至此,我们已经展示了如何在 Kibana 中把通知发送到企业微信中。祝大家学习愉快!

相关推荐
Rabbit_QL16 分钟前
【Git基础】02——分支:在不破坏主线的情况下做实验
大数据·git·elasticsearch
切糕师学AI24 分钟前
Elasticsearch Learning to Rank 完全指南
大数据·elasticsearch·机器学习·搜索引擎
世人万千丶29 分钟前
解决鸿蒙方向的Flutter框架版切换问题-当前最新版本3.35.8——工具切换与命令切换
学习·flutter·elasticsearch·华为·harmonyos·鸿蒙
Elastic 中国社区官方博客11 小时前
通过自主 IT 平台和 Elastic 迈出可观测性的下一步
大数据·elasticsearch·搜索引擎·全文检索·可用性测试
Keep Running *1 天前
ElasticSearch_学习笔记
elasticsearch·搜索引擎
切糕师学AI1 天前
Elasticsearch RRF(倒数排序融合)技术详解与实践
算法·elasticsearch·搜索引擎·混合搜索·rrf·归一化问题
Elasticsearch1 天前
如何比较两个 Elasticsearch 索引并找出缺失的文档
elasticsearch
海兰1 天前
使用 Elastic Workflows 监控 Kibana 仪表板访问数据
android·人工智能·elasticsearch·rxjava
希望永不加班1 天前
SpringBoot 整合 Elasticsearch 实现全文检索
java·spring boot·后端·elasticsearch·全文检索
risc1234561 天前
【Elasticsearch】副本分片(Replica Shard)的 globalCheckpoint 更新与推进机制
elasticsearch