https://github.com/aliyuncontainerservice/kube-eventer
kube-event是一個事件發射器,将kubernetes事件發送到sink (或者dingtalk,sls,kafka 企業微信等)。
kubernetes的核心設計理念是狀态機。是以,當轉換到所需狀态時将出現normal事件,而當轉換到意外狀态時将出現warning事件。kube-event可以幫助診斷、分析和報警問題。
我下面是是私人的dingtalk機器人的token擷取方法如下圖:
cat aliyun-kube-eventer.deploy.yaml 内容如下:
> kubectl apply -f aliyun-kube-eventer.deploy.yaml
> kubectl get pods -n kube-system| grep kube-event
> kubectl logs -n kube-system kube-eventer-5dbcb78f59-wsjld
然後,我們執行一個暴力删除的操作(delete pod -n default web-0 --force --grace-period 0), 模拟一個異常事件出來。
稍等片刻,釘釘就會收到提示如下:
當然,我們的event消息也可以配置讓它落到kafka中,後續通過自定義的程式去消費做各種各樣的操作,也便于通過logstash消費kafka将資料入到es中,便于做統計彙總。
如果要接到企業微信,可以使用這樣配置:
--sink=wechat:?corp_id=wwxxxxxxxxxx1a&corp_secret=xxxxxxxxxxxxxxxxxxxxxxxxxxx4u&agent_id=10xxxxxx7&to_user=&level=warning&label=k8s-alert-prod&msg_type=markdown
參考:
https://www.imooc.com/article/301284