一位工程师为服务运行的主机配置了针对 CPU 的监控告警,想知道在一段时间内该主机上报了多少次告警。CPU 监控数据以字符串数组 dataItems 的形式存在。
告警触发规则:
一位工程师给服务运行的主机配置了针对 CPU 的监控告警,想知道一段时间内该主机上报了多少次告警。CPU 监控数据以字符串数组 dataItems 形式存在。
告警触发规则:当满足最近时间段 interval 内,监控值连续 limit 次大于等于 CPU 使用率阈值 threshold 时,则触发上报告警,如果持续满足告警上报条件,可以多次上报告警。
请你返回该主机上报告警的总次数。
入参分为五行输入:
第一行:监控数据总个数 dataItemsLength ,整数,单位个,例如 3
第二行:监控数据 dataItems ,字符串数组形式,其中 dataItems[i] 是第 i 条监控数据,包括当前 CPU 使用率值(取值范围 0~100 ,整数)和当前时间戳(取值范围 0~2147483647,整数,以升序排列)两部分内容,以英文逗号分隔,例如:65,1705386526。元素间以空格分隔,例如:85,1705386526 80,1705386528 95,1705386530 90,1705386531 92,1705386532
第三行:告警统计时间段 interval ,整数,单位是秒,例如 4 ,表示假定当前时间戳为1705386532 ,则统计从 1705386529 到 1705386532 时间范围内的数据,包含两端时间点的数据
第四行:告警计算阈值 threshold,整数,单位是百分比,例如 80
第五行:告警上报阈值 limit ,整数,单位个,例如 2
输入范围说明:
1≤dataItems.length≤86400
1≤interva≤86400
1≤threshold≤100
1≤limit≤100
返回该主机上报告警的次数
输入
1
85,1705386526
1
80
1
输出
1
说明
最近 1 秒内,存在 1 条监控数据,连续超过 CPU 阈值 80 ,满足告警触发条件,最终上报 1 条告警
输入
5
85,1705386526 80,1705386528 95,1705386530 90,1705386531 92,1705386532
4
80
2
输出
4
说明
最近 4 秒内,存在 5 条监控数据,连续超过 CPU 阈值 80 ,其他 4 条监控数据(第 2、3、4、5 条)达到告警上报阈值 2 ,满足告警触发条件,最终上报 4 条告警