How prometheus13-k8s deploys alertmanager
This article will explain in detail how to deploy alertmanager in prometheus13-k8s. The editor thinks it is very practical, so I share it with you as a reference. I hope you can get something after reading this article.
1. Four Profil
[root@kubemaster01 alertmanager] # root root Oct 28 15:43 alertmanager-configmap.yaml-rw-r--r-- 1 root root 2183 Oct 28 15:36 alertmanager-deployment.yaml-rw-r--r-- 1 root root 331 Oct 28 15:36 alertmanager-pvc.yaml-rw-r--r-- 1 root root 372 Oct 28 15:36 alertmanager-service.yaml
two。 Modify the address of pv and config
[root@kubemaster01 alertmanager] # cat alertmanager-pvc.yaml apiVersion: v1kind: PersistentVolumeClaimmetadata: name: alertmanager namespace: kube-system labels: kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: EnsureExistsspec: storageClassName: managed-nfs-storage accessModes:-ReadWriteOnce resources: requests: storage: "2Gi" [root@kubemaster01 alertmanager] # cat alertmanager-configmap.yaml apiVersion: v1kind: ConfigMapmetadata: name: alertmanager-config namespace: kube-system labels: Kubernetes.io/cluster-service: "true" addonmanager.kubernetes.io/mode: EnsureExistsdata: alertmanager.yml: | global: resolve_timeout: 5m smtp_smarthost: 'smtp.163.com:25' smtp_from:' ww763004768@163.com' smtp_auth_username: 'ww763004768@163.com' smtp_auth_password:' 123456' smtp_require_tls: false receivers:-name: Default-receiver email_configs:-to: "w673004768@163.com" route: group_interval: 1m group_wait: 10s receiver: default-receiver repeat_interval: 1m [root@kubemaster01 alertmanager] #
3. Deployment
Kubectl apply-f alertmanager-configmap.yamlkubectl apply-f alertmanager-pvc.yamlkubectl apply-f alertmanager-deployment.yamlkubectl apply-f alertmanager-service.yaml
4.Prometheus and alertmanager communication configuration
Modify the configuration of prometheus config-map and then re-apply it
5. Check to see if it is effective
6. Modify configmap to modify the alarm rules of prometheus
(kubectl apply-f prometheus-configmap.yaml)
Create configmap
Kubectl apply-f prometheus-rules.yaml
[root@kubemaster01 prometheus] # cat prometheus-rules.yaml apiVersion: v1kind: ConfigMapmetadata: name: prometheus-rules namespace: kube-systemdata: general.rules: | groups:-name: general.rules rules:-alert: InstanceDown expr: up = = 0 for: 1m labels: severity: error annotations: summary: "Instance {{$labels.instance}} stop working" Description: "{{$labels.instance}} job {{$labels.job}} has been stopped for more than 5 minutes." Node.rules: | groups:-name: node.rules rules:-alert: NodeFilesystemUsage expr: 100-(node_filesystem_free_bytes {fstype=~ "ext4 | xfs"} / node_filesystem_size_bytes {fstype=~ "ext4 | xfs"} * 100) > 80 for: 1m labels: severity: warning annotations: summary: "Instance {{$labels.instance}}: {{$labels. Mountpoint}} partition usage is too high "description:" {{$labels.instance}}: {{$labels.mountpoint}} partition usage is greater than 80% (current value: {{$value}}) "- alert: NodeMemoryUsage expr: 100-(node_memory_MemFree_bytes+node_memory_Cached_bytes+node_memory_Buffers_bytes) / node_memory_MemTotal_bytes * 100 > 80 for: 1m labels: Severity: warning annotations: summary: "Instance {{$labels.instance}} memory usage is too high" description: "{{$labels.instance}} memory usage is greater than 80% (current value: {{$value}})"-alert: NodeCPUUsage expr: 100-(avg (irate (node_cpu_seconds_total {mode= "idle"} [5m])) by (instance) ) * 100) > 60 for: 1m labels: severity: warning annotations: summary: "Instance {{$labels.instance}} CPU utilization is too high" description: "{{$labels.instance}} CPU usage greater than 60% (current value: {{$value}})" [root@kubemaster01 prometheus] #
Prometheus service mounts configmap
This is the end of the article on "how prometheus13-k8s deploys alertmanager". I hope the above content can be helpful to you, so that you can learn more knowledge. if you think the article is good, please share it for more people to see.