반응형
Prometheus와 Alertmanager를 연결한뒤 Prometheus Rule에 의해 Alert가 발생하는 구조인데, 특정 Alert는 운영에 영향을 주는 오알람(false alarm)으로 보여져서 alert을 무시하는 작업을 하려고함.
보통 알람이 발생하면 Alertmanager에서 아래와같이 Alert에 할당된 라벨들을 볼수가 있음
AlertmanagerConfig에서 아래와같이 설정하면 특정 라벨을 가진 Alert는 무시할수있게됨
아래 설정은 다음과같은 설정을 하게됨
- severity = "info" 라벨을 가진 Alert은 무시됨
- severity = "warning" 라벨을 가진 Alert은 무시됨
- namespace = "group-member" 라벨을 가진 Alert은 무시됨
정확히는 무시되는건 아니고 해당 라벨들을 가지면 아무행동을 안하는 ignore라는 receiver에 할당됨.
resource "kubernetes_manifest" "alertmanager_config" {
manifest = {
apiVersion = "monitoring.coreos.com/v1alpha1"
kind = "AlertmanagerConfig"
metadata = {
name = "alertmanager-config"
namespace = var.prometheus_stack_namespace
}
spec = {
route = {
repeatInterval = "12h"
receiver = "slack"
routes = [
{
matchers = [
{
name = "severity"
value = "info"
matchType = "="
}
]
receiver = "ignore"
},
{
matchers = [
{
name = "namespace"
value = "group-member"
matchType = "="
}
]
receiver = "ignore"
},
{
matchers = [
{
name = "severity"
value = "warning"
matchType = "="
}
]
receiver = "ignore"
}
]
}
# https://prometheus-operator.dev/docs/api-reference/api/#monitoring.coreos.com/v1alpha1.Receiver
receivers = [
{
name = "slack"
slackConfigs = [
{
apiURL = {
key = "url"
name = kubernetes_secret_v1.slack_api_url.metadata[0].name
}
sendResolved = true
# message format from https://grafana.com/blog/2020/02/25/step-by-step-guide-to-setting-up-prometheus-alertmanager-with-slack-pagerduty-and-gmail/?utm_source=chatgpt.com
title = ...
text = ...
mrkdwnIn = ["text", "title"]
}
]
},
{
name = "ignore"
slackConfigs = []
}
]
}
}
}
해당 작업을 하면서 알게된것
- matchers가 아닌 match로 하게되면 정상작동을 안함...
- alertmanager API에 storage를 연결해두었지만 silence는 저장이 안됨.
silences rule disappeared when restart alertmanager · Issue #1673 · prometheus/alertmanager
when i restart alertmanager, the silence rule disappeared,. how to make rules persistence. what's the effect of parameters as follow. --storage.path="data/" Base path for data storage. --data.reten...
github.com
반응형
'Develop > DevOps' 카테고리의 다른 글
[Prometheus] ServiceMonitor 정리 및 AlertManger 관련 (0) | 2025.04.10 |
---|---|
[Prometheus] Prometheus HA를 위한 Thanos 배포 (0) | 2025.03.27 |
[helm] local-path-provisioner helm chart 작업 (0) | 2025.03.25 |
[istio] terraform istio 설치 및 Gateway & VirtualService 사용 정리 (0) | 2025.02.26 |
[k8s] offline-kubespray 사용 방법 (0) | 2025.02.20 |