Alertmanager Configuration File
從前面介紹可以知道,我們其實是有兩個應用程式
並且各自有各自的設定檔:
Prometheus的設定檔前面看過了:
接著就要來看看Alertmanager的設定檔,首先它本身也有簡單UI
#查找Alertmanager的service:
kubectl get svc -n monitoring
#將Alertmanager的服務進行forward:
kubectl port-forward svc/monitoring-kube-prometheus-alertmanager 9093:9093 -n monitoring &
就可以進入到127.0.0.1:9093
進到Status頁面:
預設的Alertmanager設定檔內容:
如上圖,基本上三大塊(global,route,receivers
)
其中reveivers是Alertmanager內最重要的
裡面掌管了接到什麼Alert進行通知的相關設定
而目前看到就是:
所以現在就要來設置接收到什麼Alert後要通知給什麼
所以過程會有一些Routing的設置
如上alertname要符合後面的條件,然後
另外在有matchers的routes外面
也就是如下:
其中global的設定意義如下:
repeat_interval:多久發送一次訊息
group_wait與group_interval:是指一群Alert
但是不論Route區塊怎麼定義,我們都得先設置可以通知的媒體
才能在Route區塊內設置可以通知的媒體對象,所以要先著手以下這部分:
而最上方的global區塊則是global設定
提供後面設定取用當作變數在route,receivers區塊內使用:
原本的cpu-test的pod跑一跑就會crash,無法起pod
而我們在Prometheus中有設置了重啟pod超過5次的Alert
剛到第5次,Prometheus還沒發現
等待一點時間後就會觸發:
在來就是要把這個Alert做到可以發送eamil通知