利用钉钉机器人Webhook向钉钉群推送告警通知

这篇具有很好参考价值的文章主要介绍了利用钉钉机器人Webhook向钉钉群推送告警通知。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、配置钉钉群
1、新建一个接收通知的钉钉群
如下图,创建一个接收通知的钉钉群

利用钉钉机器人Webhook向钉钉群推送告警通知

 文章来源地址https://www.toymoban.com/news/detail-413974.html

选择项目群,点创建

利用钉钉机器人Webhook向钉钉群推送告警通知

 

输入群名称,右侧选择群成员,最后点击右下角的创建

利用钉钉机器人Webhook向钉钉群推送告警通知

 

2、对群进行设置
点群右上角的设置按钮

利用钉钉机器人Webhook向钉钉群推送告警通知

 

 点击 “智能群助手”

利用钉钉机器人Webhook向钉钉群推送告警通知

 

点 “添加机器人”

利用钉钉机器人Webhook向钉钉群推送告警通知

 

点 添加机器人 最右边的 “+”  加号 

利用钉钉机器人Webhook向钉钉群推送告警通知

 

选最后的 自定义 通过Webhook接入自定义服务

 点 添加

利用钉钉机器人Webhook向钉钉群推送告警通知

 利用钉钉机器人Webhook向钉钉群推送告警通知

 

 输入机器人名字,安全设置里输入自定义的关键字

注意注意:这个自定义关键字必须输入,而且等下在代码里发送消息时,消息的内容体里,必须包含这个关键字,否则钉钉会返回 消息发送失败

点 完成

利用钉钉机器人Webhook向钉钉群推送告警通知

 

 完成后,会出现下图的画面,点击 复制,把生成的 Webhook复制一下,最后点击 完成

利用钉钉机器人Webhook向钉钉群推送告警通知

 

完成后,会进入下边的页面

利用钉钉机器人Webhook向钉钉群推送告警通知

 

 到这里,钉钉群的配置就完成了

二、Java代码的编写
钉钉群配置好,拿到Webhook的值后,就可以在java代码里调用钉钉的消息推送了

下面贴一下代码
 

import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
 
/**
 * @描述 异常告警钉钉通知
 * @创建人 anan
 * @创建时间 2023/1/30 14:03
 */
@Slf4j
public class SendDDMessage {
    
    //这里就是刚才拿到的Webhook的值
    public static final String DING_DING_TOKEN =
            "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
 
    public static void sendDDMessage(String msg){
        //钉钉的webhook
        //请求的JSON数据,这里用map在工具类里转成json格式
        Map<String,Object> json=new HashMap();
        Map<String,Object> text=new HashMap();
        json.put("msgtype","text");
        text.put("content","项目告警通知:"+msg);
        json.put("text",text);
        //发送post请求
        String response = SendHttps.sendPostByMap(DING_DING_TOKEN, json);
        log.error("项目告警发送钉钉,响应结果:{}",response);
    }
 
}
import com.alibaba.fastjson.JSON;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.URL;
import java.net.URLConnection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
 
/**
 * @描述 发送http请求的工具类
 * @创建人 anan
 * @创建时间 2023/1/30 14:33
 */
 
public class SendHttps {
 
    private static Logger logger = LoggerFactory.getLogger(SendHttps.class);
 
    /**
     * 发送POST请求,参数是Map, contentType=x-www-form-urlencoded
     *
     * @param url
     * @param mapParam
     * @return
     */
    public static String sendPostByMap(String url, Map<String, Object> mapParam) {
        Map<String, String> headParam = new HashMap();
        headParam.put("Content-type", "application/json;charset=UTF-8");
        return sendPost(url, mapParam, headParam);
    }
 
    /**
     * 向指定 URL 发送POST方法的请求
     *
     * @param url   发送请求的 URL
     * @param param 请求参数,
     * @return 所代表远程资源的响应结果
     */
    public static String sendPost(String url, Map<String, Object> param, Map<String, String> headParam) {
        PrintWriter out = null;
        BufferedReader in = null;
        String result = "";
        try {
            URL realUrl = new URL(url);
            // 打开和URL之间的连接
            URLConnection conn = realUrl.openConnection();
            // 设置通用的请求属性 请求头
            conn.setRequestProperty("accept", "*/*");
            conn.setRequestProperty("connection", "Keep-Alive");
            conn.setRequestProperty("user-agent",
                    "Fiddler");
 
            if (headParam != null) {
                for (Entry<String, String> entry : headParam.entrySet()) {
                    conn.setRequestProperty(entry.getKey(), entry.getValue());
                }
            }
            // 发送POST请求必须设置如下两行
            conn.setDoOutput(true);
            conn.setDoInput(true);
            // 获取URLConnection对象对应的输出流
            out = new PrintWriter(conn.getOutputStream());
            // 发送请求参数
            out.print(JSON.toJSONString(param));
            // flush输出流的缓冲
            out.flush();
            // 定义BufferedReader输入流来读取URL的响应
            in = new BufferedReader(
                    new InputStreamReader(conn.getInputStream()));
            String line;
            while ((line = in.readLine()) != null) {
                result += line;
            }
        } catch (Exception e) {
            logger.info("发送 POST 请求出现异常!" + e);
            e.printStackTrace();
        }
        //使用finally块来关闭输出流、输入流
        finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (in != null) {
                    in.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
        return result;
    }
}

三、测试发送钉钉通知

写好代码后,下面我们写一个测试类,来测试发送一下钉钉群的通知

/**
 * @描述
 * @创建人 anan
 * @创建时间 2023/1/30 14:50
 */
public class SendMessageTest {
 
    public static void main(String[] args) {
 
        SendDDMessage.sendDDMessage("测试项目告警通知!!!");
 
    }
 
}

点击运行后,可以看到,刚才创建的钉钉群已经收到了我们推送的测试消息

利用钉钉机器人Webhook向钉钉群推送告警通知

 

到了这里,关于利用钉钉机器人Webhook向钉钉群推送告警通知的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快手无需代码连接钉钉群机器人的方法

    快手用户使用场景: 对于视频运营人员来说,每当在快手平台上发布视频进行推广后,常需要关注视频的播放量,点赞量,转发量以及评论等,然后将数据发送到部门群,便于运营人员分析,做好后续策略调整。随着公司的快速发展,公司每天需要发布多个视频,同时还需要

    2024年02月11日
    浏览(49)
  • 钉钉小程序生态5—钉钉群机器人消息通知和钉钉工作通知

    钉钉小程序生态1—区分企业内部应用、第三方企业应用、第三方个人应用 钉钉小程序生态2—区分小程序和H5微应用 钉钉小程序生态3—钉钉扫码登录PC端网站 钉钉小程序生态4—钉钉小程序三方企业应用事件与回调 钉钉小程序生态5—钉钉群机器人消息通知和钉钉工作通知 钉

    2024年02月09日
    浏览(71)
  • prometheus告警发送到钉钉群机器人的全部署流程

    前置条件:prometheus安装完成,创建钉钉群机器人,我这里使用的是指定ip的方式 修改Prometheus配置文件prometheus.yml,添加以下配置: 在目录/usr/local/prometheus/rules/下创建告警文件hoststats-alert.rules内容如下: 重启Prometheus后访问Prometheus http://127.0.0.1:9090/rules可以查看当前以加载的规

    2024年02月11日
    浏览(33)
  • linux环境下监控docker进程运行情况,使用钉钉群机器人报警异常服务

    背景:在linux环境下,很多服务我们都使用docker来跑,很是方便,容器服务独立,配置独立,数据独立等等,但是有个问题,就是如果某个服务异常了,暂停了,停止了,一直重启中,我们要怎么及时的知道是哪个服务,并进行处理,保证业务正常运行。 本文主要介绍使用

    2024年02月13日
    浏览(31)
  • Outlook无需API开发连接钉钉群机器人,实现新增会议日程自动发送群消息通知

    Outlook用户使用场景: 在企业中,会议和活动的顺利举行对于业务运转和团队协作至关重要。然而,计划的变动总是无法避免,这可能会导致其他人的计划受到影响,打乱原有的安排。为了解决这个问题,许多企业开始使用各种工具和技术来确保信息的及时传递和更新。其中

    2024年02月09日
    浏览(28)
  • Java项目中利用飞书自定义机器人Webhook向飞书群推送告警通知

    今天来看一下如何在Java项目中利用飞书的自定义机器人Webhook向飞书群推送告警通知         企业存在给 特定群组 自动推送消息的需求,比如:监控报警推送、销售线索推送、运营内容推送等。        你可以在群聊中添加一个 自定义机器人 ,通过服务端调用  webh

    2023年04月14日
    浏览(71)
  • 飞书机器人webhook调用

    调用飞书机器人webhook进行打卡提醒

    2024年02月16日
    浏览(29)
  • 扩展ABP的Webhook功能,推送数据到第三方接口(企业微信群、钉钉群等)

    ASP.NET Boilerplate(以下简称ABP)在v5.2(2020-02-18)版本中发布了Webhook功能,详细说明,请参见:官方帮助链接; ASP.NET ZERO(以下简称ZERO)在v8.2.0(2020-02-20)版本中发布了Webhook功能; 我们系统是在2021年4月完成了对Webhook功能的改造:内部接口(用户自行设定接口地址的)、第

    2024年02月09日
    浏览(24)
  • 【WeLink群消息机器人webhook介绍】

    WeLink群消息机器人webhook介绍 一、背景:如何理解bot和webhook? 机器人(bot)是一种新型的应用形态,新的协同方式对话即服务,在应用中典型形态即为bot,用户在聊天界面跟一个机器人的虚拟账号,通过对话的方式,实现跟后端系统的交互,如主动发送消息给机器人,机器人

    2024年01月21日
    浏览(26)
  • Alertmanager实现企业微信机器人webhook告警

    由于企业微信更新问题,现在已经无法直接使用创建应用后在alertmanager的配置文件中定义企业id及secret就可以发送告警信息了,除非填写备案后域名;为了我们这种个人开发者非常的不便,所以本文档是为了解决想使用企业微信告警但又无法备案的朋友;下面只是我的操作过

    2024年04月28日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包