81 lines
3.4 KiB
YAML
81 lines
3.4 KiB
YAML
apiVersion: monitoring.coreos.com/v1alpha1
|
|
kind: AlertmanagerConfig
|
|
metadata:
|
|
name: platform-alertmanager
|
|
namespace: observability
|
|
labels:
|
|
observability.hyeonworks.com/instance: home
|
|
spec:
|
|
route:
|
|
receiver: platform-slack
|
|
groupBy:
|
|
- cluster
|
|
- namespace
|
|
- alertname
|
|
- severity
|
|
groupWait: 30s
|
|
groupInterval: 5m
|
|
repeatInterval: 4h
|
|
routes:
|
|
- receiver: platform-null
|
|
matchers:
|
|
- name: alertname
|
|
matchType: "="
|
|
value: InfoInhibitor
|
|
inhibitRules:
|
|
- sourceMatch:
|
|
- name: alertname
|
|
matchType: "="
|
|
value: InfoInhibitor
|
|
targetMatch:
|
|
- name: severity
|
|
matchType: "="
|
|
value: info
|
|
equal:
|
|
- namespace
|
|
receivers:
|
|
- name: platform-null
|
|
- name: platform-slack
|
|
slackConfigs:
|
|
- apiURL:
|
|
name: alertmanager-slack-webhook
|
|
key: url
|
|
sendResolved: true
|
|
linkNames: false
|
|
mrkdwnIn:
|
|
- text
|
|
- fields
|
|
fallback: >-
|
|
{{ if eq .Status "firing" }}FIRING{{ else }}RESOLVED{{ end }}: {{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toUpper }}{{ else }}UNKNOWN{{ end }} · {{ .CommonLabels.alertname }}
|
|
title: >-
|
|
{{ if eq .Status "firing" }}[FIRING:{{ .Alerts.Firing | len }}]{{ else }}[RESOLVED]{{ end }} {{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toUpper }}{{ else }}UNKNOWN{{ end }} · {{ .CommonLabels.alertname }}
|
|
titleLink: https://grafana.learn.hyeonworks.com/
|
|
color: >-
|
|
{{ if eq .Status "resolved" }}good{{ else if or (eq .CommonLabels.severity "emergency") (eq .CommonLabels.severity "critical") }}danger{{ else if eq .CommonLabels.severity "warning" }}warning{{ else }}#439FE0{{ end }}
|
|
fields:
|
|
- title: Status
|
|
value: '{{ .Status | toUpper }}'
|
|
short: true
|
|
- title: Severity
|
|
value: '{{ if .CommonLabels.severity }}{{ .CommonLabels.severity | toUpper }}{{ else }}UNKNOWN{{ end }}'
|
|
short: true
|
|
- title: Location
|
|
value: '{{ if .CommonLabels.cluster }}{{ .CommonLabels.cluster }}{{ else }}unknown-cluster{{ end }} / {{ if .CommonLabels.namespace }}{{ .CommonLabels.namespace }}{{ else }}cluster-scoped{{ end }}'
|
|
short: true
|
|
- title: Alert count
|
|
value: '{{ len .Alerts }}'
|
|
short: true
|
|
text: |-
|
|
{{ range .Alerts }}
|
|
*Alert status:* {{ .Status | toUpper }}
|
|
*Target:* {{ $target := .Labels.Remove $.GroupLabels.Names }}{{ if $target }}{{ range $target.SortedPairs }}{{ .Name }}={{ .Value }} {{ end }}{{ else }}unknown{{ end }}
|
|
*Summary:* {{ with .Annotations.summary }}{{ . }}{{ else }}No summary provided{{ end }}
|
|
*Details:* {{ with .Annotations.description }}{{ . }}{{ else }}No description provided{{ end }}
|
|
*Started:* {{ .StartsAt.Format "2006-01-02T15:04:05Z07:00" }}
|
|
{{ if eq .Status "resolved" }}*Ended:* {{ .EndsAt.Format "2006-01-02T15:04:05Z07:00" }}{{ end }}
|
|
{{ with .Annotations.runbook_url }}*Runbook:* <{{ . }}|대응 절차 열기>{{ end }}
|
|
|
|
{{ end }}
|
|
<https://grafana.learn.hyeonworks.com/|Grafana> · <https://grafana.learn.hyeonworks.com/explore|Explore>
|
|
footer: hyeonworks observability · Alertmanager
|