java实现30分钟内不重复告警工具

本文介绍了一个Java开发的告警工具,用于监控web应用接口调用,当接口在一分钟内的调用次数超过100次时触发微信告警。由于微信告警平台缺少30分钟不重复告警的配置,该工具旨在解决这一问题,确保30分钟内同一告警不重复。目前该工具不支持集群环境,欢迎提出改进意见。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java实现30分钟内不重复告警工具

今天在做项目时碰到了一个需求,该项目需要监控web应用的接口调用情况,当超过设置的调用次数阈值(比如某接口一分钟调用超过100次)后进行微信告警。由于对接的是公司内部的微信告警平台,而告警平台暂时未提供一些配置,比如某报警信息30分钟不重复报送之类的。所以就在本地项目开发一个告警工具,实现30分钟内不重复报警。该工具暂不支持集群。

public class AlarmUtil {

    private static final Logger logger = LoggerFactory.getLogger(AlarmUtil.class);
    private static final AlarmUtil ALARMUTIL = new AlarmUtil();
    private static final String PROFILE = "prod";
    //30分钟内不重复告警
    public static final ConcurrentHashMap<String, Date> ALARMMSG = new ConcurrentHashMap<>();

    private AlarmUtil() {
    }

    /**
     * 用于判断30分钟的内的起始时间
     */
    public static Date startTime = DateUtils.addMinutes(new Date(), -1);

    //告警间隔 单位分钟 默认30分钟
    private static final long ALARM_TIME_INTERVAL = 1800000;

    public static synchronized void alarm(AlarmParam param, String alarmUrl, String env, Date value) {
        //正式环境告警
        if (!PR
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值