钉钉监控Hippo4j线程池通知报警

news2024/11/28 14:29:06

在这里插入图片描述

在这里插入图片描述

🚀 线程池管理工具-Hippo4j 🚀

🌲 AI工具、AI绘图、AI专栏 🍀
🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯

🚀 线程池管理工具-Hippo4j 🚀

🍔 目录

  • 👑 线程池管理工具-Hippo4j
    • 🥦 钉钉监控通知Hippo4j线程池
      • 🌰 通知平台
      • 🌰 通知类型
      • 🌰 报警间隔
      • 🌰 接收者
    • 🥦 钉钉平台
      • 🌰 打开钉钉,选择+号,发起群聊
      • 🌰 根据自己的需要,选择合适的即可,此处选择内容群
      • 🌰 选择测试的小伙伴
      • 🌰 群里选择机器人
      • 🌰 添加机器人 & 配置相关信息
    • 🥦 配置Hippo4j的通知报警配置
      • 🌰 添加配置钉钉平台
      • 🌰 配置报警的配置信息
    • 🥦 编写测试接口
      • 🌰 提供一个访问测试接口
    • 🥦 测试监控报警功能
      • 🌰 测试配置修改功能
      • 🌰 测试报警功能
        • 🥫 测试超时报警效果
        • 🥫测试线程活跃度
        • 🥫 测试容量
        • 🥫 测试拒绝策略报警
    • 💬 共勉

👑 线程池管理工具-Hippo4j

🥦 钉钉监控通知Hippo4j线程池

现阶段已集成钉钉、企业微信、飞书的消息推送,后续会持续接入邮箱、短信和自定义通知渠道。

🌰 通知平台

  • DING:钉钉平台;
  • LARK:飞书平台;
  • WECHAT:企业微信。

🌰 通知类型

  • CONFIG:线程池配置变更推送;
  • ALARM:线程池运行报警推送。
  • Token

获取 DING、LARK、WECHAT 机器人 Token。

🌰 报警间隔

  • CONFIG 类型通知没有报警间隔;
  • ALARM 类型设置报警间隔后,某一节点下的同一线程池指定间隔只会发送一次报警通知。

报警又可以细分为一下类型:

  • 任务执行超时报警
  • 活跃度报警,线程的活跃度
  • 容量报警,工作队列中的任务达到多少就报警
  • 线程池执行了拒绝策略,也会报警

🌰 接收者

  • 多个接收者使用英文逗号 , 分割 (注意不要有空格)
  • DING:填写手机号
  • WECHART:填写user_id会以@的消息发给用户,填写姓名则是普通的@,如:龙台
  • LARK:填写ou_开头用户唯一标识会以@的消息发给用户,填写手机号则是普通的@

🥦 钉钉平台

🌰 打开钉钉,选择+号,发起群聊

在这里插入图片描述

🌰 根据自己的需要,选择合适的即可,此处选择内容群

在这里插入图片描述

🌰 选择测试的小伙伴

在这里插入图片描述

🌰 群里选择机器人

在这里插入图片描述

🌰 添加机器人 & 配置相关信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
配置相关信息
在这里插入图片描述
配置成功,保存好Token信息
在这里插入图片描述
添加成功
在这里插入图片描述

🥦 配置Hippo4j的通知报警配置

🌰 添加配置钉钉平台

在这里插入图片描述
按照要求配置相关的信息即可
在这里插入图片描述

🌰 配置报警的配置信息

在这里插入图片描述

🥦 编写测试接口

🌰 提供一个访问测试接口

@GetMapping("/dingding_alarm")
public String dingding_alarm() {
    testThreadPool.execute(() -> {
        System.out.println("task is start!");
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("task is end!");
    });
    return "success!";
}

🥦 测试监控报警功能

🌰 测试配置修改功能

在这里插入图片描述

配置信息修改,钉钉监控,实时返回!
在这里插入图片描述

🌰 测试报警功能

快速刷新访问测试之前写好的接口:http://localhost:8080/dingding_alarm

🥫 测试超时报警效果

在这里插入图片描述

🥫测试线程活跃度

在这里插入图片描述

🥫 测试容量

在这里插入图片描述

🥫 测试拒绝策略报警

在这里插入图片描述

💬 共勉

最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉!

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/759375.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

软考03海明校验码

文章目录 前言一、练习一二、练习二总结 前言 海明校验码可以用来纠正错误 公式: 2k-1≥nk n为数据位,k为校验位 编码规则:校验位为2的次方,其他为数据位。 一、练习一 数据位为4,校验位最小为多少位? 答&…

《微服务架构设计模式》第十二章 部署微服务应用

内容总结自《微服务架构设计模式》 部署微服务应用 一、部署模式分类二、编程语言特定的发布包格式1、概述2、利弊 三、将服务部署为虚拟机1、概览2、利弊 四、将服务部署为容器1、概述2、利弊3、K8S部署 五、Serverless部署1、概述2、利弊3、示例 六、总结 一、部署模式分类 …

计算机丢失msvcp140.dll是什么意思?哪个修复方法更推荐

打开photoshop软件的时候,计算报错丢失msvcp140.dll是什么意思?软件也无法正常启动运行,这个主要的原因就是电脑系统中的msvcp140.dll文件丢失或者损坏了,运行需要该文件的程序或应用程序时,操作系统无法找到该特定的动…

低代码都做了什么?怎么实现 Low-Code?

前言 低代码的概念早在很多很多年前就已经出现了,比如最早期的Dreamweaver 1.0,使用这种可视化编辑工具根本不需要投入较高的学习成本就可以轻松实现一个Web页面。而低代码最大的初衷也正是让开发者或用户减少编码时间,从而把更多的时间和精力…

Python应用实例(二)数据可视化(五)

数据可视化(五)制作全球地震散点图:JSON格式 1.地震数据2.查看JSON数据3.创建地震列表4.提取震级5.提取位置数据6.绘制震级散点图7.另一种指定图表数据的方式 下载一个数据集,其中记录了一个月内全球发生的所有地震,再…

Unity3d-路径巡逻

使用U3D实现的简单巡逻方法 游戏对象逐个向组成路径的节点进行直线移动两种巡逻方案 根据列表顺序移动,到达最后一个后,直接返回第一个,重新开始循环根据列表顺序移动,到达最后一个后,根据顺序反向移动到第一个&#…

用 Pytest+Appium+Allure 做 UI 自动化的那些事~(有点干)

目录 前言: Appium 不常见却好用的方法 Appium 直接执行 adb shell 方法 Appium 直接截取元素图片的方法 Appium 直接获取手机端日志 Appium 直接与设备传输文件 Pytest 与 Unittest 初始化上的区别 1.Pytest 与 unitest 类似,有些许区别&#x…

【嘉立创EDA】客户端版本嘉立创专业版半离线版更新方法

文章路标👉 文章解决问题主题内容工程文件备份保护问题新版本更新通知文章解决问题 1️⃣ 嘉立创EDA专业版,是时下越发常用的PCBA设计软件之一。该环境除了在规划的设计开发过程中,为响应各用户的建议、需求,其迭代更新速度也是很快。为了使用最新的功能,用户需要使用最…

C++学习——类和对象(一)

C语言和C语言最大的区别在于在C当中引入了面向对象的编程思想,想要完全了解c当中的类和对象,就要从头开始一点一点的积累并学习。 一:什么是面向对象编程 我们之前学习的C语言属于面向过程的编程方法。举一个简单的例子来说:面向过…

Linux地盘上AMD处理器称王了

近日资讯,尽管从全局来看,Linux系统份额远不及Windows,但在程序员、开发者、硬核玩家圈子,Linux则备受推崇。 来自Steam的最新数据显示,在Linux游戏用户中,AMD处理器的份额占据绝对优势,达到了…

Spring Cloud—GateWay之限流

RequestRateLimiter RequestRateLimiter GatewayFilter 工厂使用 RateLimiter 实现来确定是否允许当前请求继续进行。如果不允许,就会返回 HTTP 429 - Too Many Requests(默认)的状态。 这个过滤器需要一个可选的 keyResolver 参数和特定于…

cpuset.cpus.effective: no such file or directory (修改 docker cgroup 版本的方法)

要切换使用 v1 版 cgroup,需要做如下配置: vim /etc/default/grubGRUB_CMDLINE_LINUX"systemd.unified_cgroup_hierarchy0"update-grubreboot完美解决

【条件与循环】——matlab入门

目录索引 if:else与elseif: for: if: if 条件语句块 endelse与elseif: if 条件代码块 elseif 条件代码块 else 代码块 endfor: for 条件循环体 end在matlab里面类似的引号操作都是包头又包尾的。上面的c…

TypeScript基础篇 - TS介绍

目录 Typescript的定义 type.ts 深入了解Typescript Typescript应该学到什么程度? Typescript学习方法 如何学好TS 小节:常见学习误区 一张ai生成图~ Typescript的定义 2012年微软发布的一门编程语言 Transcompiler【翻译编译器】Typescript——…

操作符详解(2)

文章目录 8. 条件操作符9. 逗号表达式10. 下标引用、函数调用和结构成员11. 表达式求值11.1 隐式类型转换11.2 算术转换11.3 操作符的属性 附: 8. 条件操作符 exp1 ? exp2 : exp3 int main() {int a 0;int b 0;if (a > 5){b 3;}else{b -3;}//(a > 5) ? …

【Elasticsearch】黑马旅游案例

目录 4.黑马旅游案例 4.1.酒店搜索和分页 4.1.1.需求分析 4.1.2.定义实体类 4.1.3.定义controller 4.1.4.实现搜索业务 4.2.酒店结果过滤 4.2.1.需求分析 4.2.2.修改实体类 4.2.3.修改搜索业务 4.3.我周边的酒店 4.3.1.需求分析 4.3.2.修改实体类 4.3.3.距离排序…

linux学习笔记(1)----基础知识

1.linux用户 ubuntu有三种用户: 1)初次创建的用户 2)root用户 3)普通用户 linux用户记录在etc/passwd这个文件内 linux用户密码在etc/shadow这个文件内 2.linux用户组 为了方便管理,将用户进行分组&#xff0c…

.NET Native AOT的静态库与动态库

.NET不仅可以使用 C静态库与动态库,也可以将.NET实现的函数导出为C静态库与动态库。在没有Native Aot之前,.NET只能通过P/Invoke享受C/C生态,而在Native Aot之后,不仅可以享受这些生态,还可以开发SDK供其他语言调用。 …

多层、六边形、洋葱和clean架构简介

想想回到过去的美好时光,根本没有所谓架构,那些日子是多么幸福啊,只有了解 GoF 模式,你就能称自己为架构师。 然而,计算机变得更加强大,用户的需求增加,导致应用程序的复杂性增加。 开发人员解决…

一场内容生产的革命 :从PGC、UGC到AIGC

1 概念解读 1.1 什么是PGC? PGC 是指专业生成内容(Professional Generated Content),是由专业的内容创作者或团队进行创作、编辑和发布的内容。PGC创作方式起源于传统媒体时代,如报纸、杂志、电视和电影等&#xff0…