首页 > 其他分享 >13.5 告警静默

13.5 告警静默

时间:2024-09-10 10:23:32浏览次数:11  
标签:http log err alertMUrl resp 静默 告警 13.5


本节重点介绍 :

  • 静默应用场景
  • 页面创建
  • api接口创建
  • 查看

静默

作用

  • 先告警后静默:持续发送的告警停止发送
  • 先配置静默:上线或者运维操作会导致触发一大波告警,提前创建静默消息。防止告警风暴

静默接口

  • /api/v2/silences

调用静默的代码

package main

import (
	"bytes"
	"encoding/json"
	"github.com/prometheus/alertmanager/pkg/labels"
	"github.com/prometheus/alertmanager/types"
	"io/ioutil"
	"log"
	"net/http"
	"time"
)

func createSilence(alertMUrl string) {
	matchers := labels.Matchers{}
	m1 := &labels.Matcher{
		Type:  labels.MatchEqual,
		Name:  "node_name",
		Value: "abc",
	}
	matchers = append(matchers, m1)
	si := types.Silence{
		ID:        "",
		Matchers:  matchers,
		StartsAt:  time.Now(),
		EndsAt:    time.Now().Add(3 * time.Hour * 24),
		CreatedBy: "xiaoyi",
		Comment:   "小乙创建的告警静默",
		Status:    types.SilenceStatus{},
	}

	jsonStr, _ := json.Marshal(si)

	req, err := http.NewRequest("POST", alertMUrl, bytes.NewBuffer(jsonStr))
	if err != nil {
		return
	}
	req.Header.Set("Content-Type", "application/json")

	client := &http.Client{}
	resp, err := client.Do(req)
	if err != nil {
		log.Printf("[http.post.request.err][url:%v][err:%v]", alertMUrl, err)
		return
	}
	defer resp.Body.Close()

	log.Printf("response Status:%v", resp.Status)
	log.Printf("response Headers:%v", resp.Header)
	body, _ := ioutil.ReadAll(resp.Body)
	log.Printf("response Body:%v", string(body))

}




func main() {
	alertMUrl := "http://172.20.70.215:9093/api/v1/silences"
	createSilence(alertMUrl)

}
  • 解读,构造github.com/prometheus/alertmanager/types下的Silence对象
  • 调用post发送即可

运行程序后查看alertmanager页面

  • path http://172.20.70.215:9093/#/silences
  • 举例图片

创建完静默后,重启prometheus 和alertmanager

  • 查看是否会被静默
  • 举例图片

本节重点总结 :

  • 静默应用场景
  • 页面创建
  • api接口创建
  • 查看


标签:http,log,err,alertMUrl,resp,静默,告警,13.5
From: https://blog.51cto.com/moonfdd/11969549

相关文章

  • 13.4告警抑制实例
    本节重点介绍:告警抑制应用场景配置方法:一定要有equal标签配置演示:critical告警触发了就抑制warning的告警抑制应用场景如果某些其他警报已经触发,则抑制某些警报的通知。多用于某些高等级的告警已触发,然后低等级的被抑制如机器宕机告警触发,则机器上的进程存活监控都被抑制......
  • 安全运营之浅谈SIEM告警疲劳
    闲谈:     刚开始学习SIEM、态势感知这类产品的时,翻阅老外们的文章总是谈什么真阳性,假阳性告警、告警疲劳,当时在国内资料中没找到很合理的解释,慢慢就淡忘这件事了。随着慢慢深入工作,感觉大概理解了这些概念并且有了一些新的领悟。心血来潮写了这篇文章,想给刚接触SIEM......
  • Prometheus operator怎么添加targets和告警规则
    使用PrometheusOperator来管理Prometheus实例、添加targets和告警规则是一个相对简单的过程。以下是如何通过PrometheusOperator添加targets和告警规则的详细步骤。1.安装PrometheusOperator如果尚未安装PrometheusOperator,可以通过Helm或Kubernetes清单文......
  • Prometheus告警从触发到收到通知延迟在哪
    Prometheus的告警机制涉及多个步骤,从触发到收到通知的过程可能会遇到延迟。这些延迟主要来自以下几个方面:1.规则评估延迟评估周期:Prometheus会在配置的时间间隔内评估告警规则(通常是每1分钟)。如果在这个周期内没有检测到触发条件,告警将不会被触发。数据拉取延迟:Prometheu......
  • 告警架构高可用怎么做
    实现告警架构的高可用性(HighAvailability,HA)是确保监控系统可靠性和稳定性的关键。以下是一些实现Prometheus和Alertmanager高可用性的最佳实践:1.Prometheus高可用性1.1使用多个Prometheus实例部署多个Prometheus实例:可以在不同的服务器上部署多个Prometheus实......
  • 告警抑制怎么做
    告警抑制(AlertSuppression)是Prometheus和Alertmanager中的一种机制,用于防止在特定条件下重复发送相同的告警通知,减少干扰和告警疲劳。以下是如何实现告警抑制的几种方法:1.使用告警抑制规则在Alertmanager中,可以使用告警抑制规则来定义何时应该抑制特定的告警。抑制规则......
  • 如何实现告警的自动化响应
    实现告警的自动化响应可以帮助团队更快地处理问题,减少手动干预,提高系统的可靠性。以下是一些步骤和工具建议,可以帮助你实现告警的自动化响应:1.选择合适的监控工具Prometheus+Alertmanager:使用Prometheus监控指标,结合Alertmanager来管理告警。其他监控工具:可以考虑使用......
  • oem 如何查看告警去向
    一:页面查看找到OEM监控对象的home目录监视>预警历史记录点击:历史记录点击报错消息 看通知二:命令查看selectTARGET_NAME,MESSAGE,ALERT_STATE,COLLECTION_TIMESTAMP,DELIVERY_MESSAGEfromMGMT$ALERT_NOTIF_LOGwhereCOLLECTION_TIMESTAMP>sysdate-1......
  • Zabbix02 Zabbix告警通知, 故障自愈, 主动被动模式, JAVA应用网络设备等的监控及分布
    图形Graphs#点击web端配置下的模板,选择模板对应的图形,点击右上角创建图标#输入名称TCP状态#监控项选择添加,最后点添加#点击监测下关联该模板的主机,点击图形,就能看到添加的图形#仪表盘为图形的组合#配置下模板里,点击仪表盘栏,点击创建仪表盘,构件可把之前画的图添加出......
  • Prometheus Alertmanager设置与告警规则配置详解
    PrometheusAlertmanager设置与告警规则配置详解Prometheus是一个开源的监控和告警系统,其设计理念是通过时间序列数据库存储指标数据,并通过多维数据模型和查询语言进行数据分析。Prometheus的告警系统由两部分组成:Prometheus服务器本身和Alertmanager。Alertmanager......