钉钉通知

简介: 创建钉钉机器人并设置告警群,通过Webhook获取API地址。使用PostMan测试文本、@指定人及卡片消息发送。编写Java代码调用官方SDK实现消息推送,封装工具类并与Nacos配置中心集成,实现异常日志等场景下的实时告警通知,确保问题及时处理。

1.创建钉钉机器人
创建告警群聊
就拉一个普通群聊就可以
创建机器人
群设置选择机器人
选择自定义机器人
定义机器人相关信息,重点关注关键词
保存Webhook
2.PostMan测试发送API
基于官方提供的API,我们可以做下述测试
官方请求示例
请求示例(HTTP)
下面的token需要替换成webhook中的地址
请求正文
下面消息类型支持多种,通过msgtype声明你要哪种
at,标识群里@哪些人,如果isAtAll就标识@群里所有人,@atMobiles标识指定手机号,其余参数同理
测试@所有人
测试@指定人
测试卡片消息
3.编写发送代码
有了上述PostMan的测试,下面的java代码编写对于我们来说就很简单了
引入pom依赖
公司内网则直接下载好:https://open-dev.dingtalk.com/sdk/download/java
编写java代码
Java
运行代码
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.dingtalk.api.response.OapiRobotSendResponse;
import com.taobao.api.ApiException;

import java.util.Arrays;

public class DingTalk {

public static void main(String[] args) {
    try {
        // 1-初始化API调用Client
        DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/robot/send?access_token=87b520af3e0b6aacc137d1525e4d9b21f61c901f1c8ac4f05a17bc12a8e7f737");

        // 2-初始化请求参数
        OapiRobotSendRequest req = new OapiRobotSendRequest();
        // 2-1 设置消息类型
        req.setMsgtype("text");
        // 2-2 设置消息@人
        OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();
        at.setAtMobiles(Arrays.asList("17600477102"));
        req.setAt(at);
        // 2-3 设置消息内容(必须匹配关键词),工作中这里就对应error日志
        OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
        text.setContent("[告警]测试java代码消息");
        req.setText(text);

        // 3 消息发送
        OapiRobotSendResponse rsp = client.execute(req, "");
        System.out.println(rsp.getBody());
    } catch (ApiException e) {
        e.printStackTrace();
    }
}

}
代码测试
4.工作中到底怎么用
上面我们完成了简单的告警通知,实际工作中也是这么来做,但是会做一点点优化
将上述代码封装成一个工具类,如:DingTalkMessageUtil
将token保存在nacos中,与代码解耦
在有异常日志、慢SQL等关键场景中调用此工具类,将消息发送到群,让开发人员及时感知并处理
5.失败原因分析
看看你发送消息中,是不是没有自己定义的关键词
看看你消息的接收方,是不是userId或手机号不对

相关文章
|
JavaScript 前端开发 UED
JS:如何获取浏览器窗口尺寸?
JS:如何获取浏览器窗口尺寸?
766 1
只要会发文,就能多一份收入?这 5 个平台,普通人可以先试起来
本文为普通人量身打造图文副业入门指南,梳理今日头条、百家号、知乎、微信公众号、小红书5大低门槛平台特点与实操策略,强调“先写起来、再优化、重积累”,避开盲目铺量、自嗨写作等常见误区,助你从0开始用内容沉淀粉丝、建立信任、实现多元变现。
|
Java
Java Poi-tl操作Word文档,插入文本和图片
poi-tl(poi template language)是Word模板引擎,基于Microsoft Word模板和数据生成新的文档
2152 0
|
9月前
|
数据采集 编解码 自动驾驶
世界模型 LingBot-World,正式开源!
蚂蚁灵波团队开源世界模型LingBot-World,专为交互式仿真设计。其核心LingBot-World-Base具备高保真、强动态、长时序一致性(支持近10分钟稳定生成)和实时交互能力(≈16FPS,延迟<1秒),依托可扩展数据引擎,从游戏环境学习物理与因果规律,打造具身智能、自动驾驶等领域的“数字演练场”。
2647 1
|
8月前
|
JavaScript Linux 开发者
Node.js 快速上手:核心特点 + 安装指南
Node.js是Claude Code、OpenAI Codex等AI编程工具的必备运行环境。本文详解其JavaScript全栈、非阻塞I/O、跨平台等核心特性,覆盖Windows/macOS/Linux三端LTS版一键安装方法及常见问题排查,助开发者快速配置本地开发环境。(239字)
1997 9
|
4月前
|
安全 Java C++
【Java基础】集合框架: ConcurrentHashMap核心原理:JDK1.7 vs 1.8+ 区别、线程安全实现、分段锁 vs CAS+synchronized、扩容机制
ConcurrentHashMap是Java高并发场景下线程安全的哈希表实现,JDK1.7采用Segment分段锁(16段独立加锁),JDK1.8升级为CAS+synchronized细粒度桶锁,并引入红黑树与多线程协助扩容,显著提升性能与扩展性。
|
7月前
|
安全 Linux 开发工具
OpenClaw怎么卸载?官方教程来了,一键卸载命令方法大全
OpenClaw卸载教程:提供两种方式——CLI可用时执行`openclaw uninstall`(推荐);CLI缺失则需手动停止并移除Gateway服务(macOS launchd/Linux systemd/Windows计划任务)。附清理配置、工作区及源码安装处理说明,并提醒优先云端部署以保障安全。(239字)
2415 0
|
10月前
|
弹性计算 人工智能 自然语言处理
QoderCLI 智能编程实战指南:5 分钟部署,一句话生成服务
QoderCLI 不只是工具——它是你 24 小时在线的智能编程伙伴,秒级理解项目上下文,一行指令生成完整功能模块,测试、解释、补全一气呵成。开发效率飙升 300%,代码质量肉眼可见提升!
QoderCLI 智能编程实战指南:5 分钟部署,一句话生成服务
|
10月前
|
JSON 安全 机器人
钉钉通知
本文介绍如何通过Java代码调用钉钉机器人API实现系统告警消息推送。内容涵盖机器人创建、Webhook配置、Postman测试及Java代码实现,并提供限流策略与关键词安全设置等最佳实践,助力实时监控与异常通知。
|
10月前
|
SQL 监控 机器人

热门文章

最新文章