diff --git a/altermanager/alertmanager-config.yaml b/altermanager/alertmanager-config.yaml new file mode 100644 index 00000000..3d712acb --- /dev/null +++ b/altermanager/alertmanager-config.yaml @@ -0,0 +1,52 @@ +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: altermanager-email-credentials + namespace: freeleaps-monitoring-system +data: + password: cHducGNya3d0aXp5Z2RoZQ== +--- +apiVersion: monitoring.coreos.com/v1alpha1 +kind: AlertmanagerConfig +metadata: + name: alertmanager-config + namespace: freeleaps-monitoring-system +spec: + receivers: + # - msteamsConfigs: + # - sendResolved: true + # text: '{{ template "msteams.default.text" . }}' + # title: >- + # {{ if eq .Status "firing" }}🚨 [FIRING] πŸ”₯{{- else -}}πŸ™Œ [RESOLVED] + # 🍻{{- end -}} + # webhookUrl: + # key: webhook-url + # name: freeleaps-teams-webhook + # name: ms-teams + - emailConfigs: + - to: "1535145760@qq.com,icecheng@mathmast.com" + from: "1535145760@qq.com" + smarthost: "smtp.qq.com:465" + authUsername: "1535145760@qq.com" + authPassword: + name: "altermanager-email-credentials" + key: "password" + authIdentity: "1535145760@qq.com" + requireTLS: false + sendResolved: true + headers: + - key: Subject + value: '🚨Freeleaps Alert: {{ .CommonAnnotations.summary }}' + html: |- +

πŸ“ Description: {{ .CommonAnnotations.description }}

+

{{ if eq .Status "firing" }}πŸ”΄ Status: {{ .Status | toUpper }}{{ else }}🟒 Status: {{ .Status | toUpper }}{{ end }}

+

πŸ“– Runbook: {{ .CommonAnnotations.runbook_url }}

+ name: email + route: + groupBy: + - severity + groupInterval: 30s + receiver: email + groupWait: 30s + repeatInterval: 1m diff --git a/altermanager/ms-team-altermanager.yaml.back b/altermanager/ms-team-altermanager.yaml.back new file mode 100644 index 00000000..ae922e97 --- /dev/null +++ b/altermanager/ms-team-altermanager.yaml.back @@ -0,0 +1,38 @@ +apiVersion: monitoring.coreos.com/v1alpha1 +kind: AlertmanagerConfig +metadata: + annotations: + kubectl.kubernetes.io/last-applied-configuration: > + {"apiVersion":"monitoring.coreos.com/v1alpha1","kind":"AlertmanagerConfig","metadata":{"annotations":{},"name":"alertmanager-config","namespace":"freeleaps-monitoring-system"},"spec":{"receivers":[{"msteamsConfigs":[{"sendResolved":true,"text":"{{ + template \"msteams.default.text\" . }}","title":"{{ if eq .Status + \"firing\" }}🚨 [FIRING] πŸ”₯{{- else -}}πŸ™Œ [RESOLVED] 🍻{{- end + -}}","webhookUrl":{"key":"webhook-url","name":"freeleaps-teams-webhook"}}],"name":"ms-teams"}],"route":{"groupBy":["severity","namespace"],"groupInterval":"5m","groupWait":"30s","receiver":"ms-teams","repeatInterval":"12h"}}} + creationTimestamp: '2025-01-13T12:26:29Z' + generation: 5 + labels: + k8slens-edit-resource-version: v1alpha1 + name: alertmanager-config + namespace: freeleaps-monitoring-system + resourceVersion: '134986306' + uid: d97e574f-e781-4747-9f3a-1b25e02c7670 + selfLink: >- + /apis/monitoring.coreos.com/v1alpha1/namespaces/freeleaps-monitoring-system/alertmanagerconfigs/alertmanager-config +spec: + receivers: + - msteamsConfigs: + - sendResolved: true + text: '{{ template "msteams.default.text" . }}' + title: >- + {{ if eq .Status "firing" }}🚨 [FIRING] πŸ”₯{{- else -}}πŸ™Œ [RESOLVED] + 🍻{{- end -}} + webhookUrl: + key: webhook-url + name: freeleaps-teams-webhook + name: ms-teams + route: + groupBy: + - severity + groupInterval: 1s + groupWait: 1s + receiver: ms-teams + repeatInterval: 12h diff --git a/freeleaps/helm-pkg/metrics/values.prod.yaml b/freeleaps/helm-pkg/metrics/values.prod.yaml index d94a16b0..6c46e8d3 100644 --- a/freeleaps/helm-pkg/metrics/values.prod.yaml +++ b/freeleaps/helm-pkg/metrics/values.prod.yaml @@ -94,6 +94,7 @@ metrics: labels: severity: critical service: metrics-service + namespace: freeleaps-monitoring-system annotations: summary: Freeleaps Metrics service is down (instance {{ $labels.instance }}) description: Freeleaps Metrics service has been down for more than 1 minutes. @@ -104,6 +105,7 @@ metrics: labels: severity: warning service: metrics-service + namespace: freeleaps-monitoring-system annotations: summary: High error rate in freeleaps metrics service (instance {{ $labels.instance }}) description: Freeleaps Metrics service error rate is {{ $value }} errors per second.