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 中把通知发送到企业微信中。祝大家学习愉快!

相关推荐
光仔December6 小时前
【Elasticsearch入门到落地】16、RestClient查询文档-快速入门
elasticsearch·全文检索·restclient·highlevelclient·match查询
Elasticsearch1 天前
哈希、存储、连接:使用 ES|QL LOOKUP JOIN 的日志去重现代解决方案
elasticsearch
yangmf20402 天前
Easysearch 冷热架构实战
java·大数据·elasticsearch·搜索引擎
极限实验室2 天前
ES 调优帖:Gateway 批量写入性能优化实践
elasticsearch
wdfk_prog4 天前
实战教程:从“对象文件为空“到仓库重生——修复 Git 仓库损坏全记录
大数据·网络·笔记·git·学习·elasticsearch·全文检索
Hello.Reader4 天前
以 Eland 玩转 Elasticsearch 8.12 Learning-to-Rank
大数据·elasticsearch·jenkins
ALex_zry4 天前
Git Status 命令深度指南:洞悉仓库状态的核心艺术
大数据·git·elasticsearch
ζั͡山 ั͡有扶苏 ั͡✾4 天前
Elasticsearch 单节点迁移实战指南:从旧服务器到新环境的完整流程
服务器·elasticsearch·jenkins
ALex_zry4 天前
Git 乱码文件处理全流程指南:从识别到彻底清除
git·elasticsearch·搜索引擎