阿里雲k8s事件監控

事件監控是Kubernetes中的另外一種監控方式,能夠彌補資源監控在實時性、準確性和場景上的缺欠。Kubernetes的架構設計是基於狀態機的,不一樣的狀態之間進行轉換則會生成相應的事件,正常的狀態之間轉換會生成Normal等級的事件,正常狀態與異常狀態之間的轉換會生成Warning等級的事件。開發者能夠經過獲取事件,實時診斷集羣的異常與問題。git

背景信息

kube-eventer是阿里雲容器服務維護的開源Kubernetes事件離線工具,能夠將集羣的事件離線到釘釘、SLS等系統,並提供不一樣等級的過濾條件,實現事件的實時採集、定向告警、異步歸檔。更多內容請參見kube-eventergithub

經過如下三種場景爲您介紹事件監控。web

場景1:使用釘釘實現Kubernetes監控告警

使用釘釘機器人監控並告警Kubernetes的事件是一個很是典型的ChatOps實現。具體的操做步驟以下:api

  1. 單擊釘釘羣右上角羣設置圖標,進入羣設置頁面。
  2. 單擊羣機器人,進入羣機器人頁面,選擇須要添加的機器人。此處選擇自定義機器人。

    自定義機器人
  3. 機器人詳情頁面,單擊添加,進入添加機器人頁面。

    添加機器人
  4. 根據以下信息配置羣機器人後,單擊完成添加。
     
    配置 說明
    編輯頭像 (可選)爲羣機器人設置頭像。
    機器人名字 添加的機器人名稱。
    添加到羣組 添加機器人的羣組。
    是否開啓Outgoing機制 (可選)經過@羣機器人,將消息發送到指定外部服務,還能夠將外部服務的響應結果返回到羣組。
     
    說明 建議不開啓。
    POST 地址 接收消息的HTTP服務地址。
     
    說明 當選擇開啓Outgoing機制時,此項可配置。
    Token 用於驗證請求來自釘釘的密鑰。
     
    說明 當選擇開啓Outgoing機制時,此項可配置。
  5. 單擊複製,複製webhook地址。

    複製webhook
     
    說明 在 羣機器人頁面,選擇目標羣機器人,單擊右側設置按鈕圖標能夠:
    • 修改羣機器人的頭像及機器人名字。
    • 開啓或關閉消息推送。
    • 重置webhook地址。
    • 刪除羣機器人。

    設置機器人
  6. 登陸容器服務管理控制檯
  7. 在Kubernetes菜單下,單擊左側導航欄中的應用 > 無狀態,進入 無狀態(Deployment)頁面。
  8. 選擇目標集羣,命名空間選爲kube-system,單擊右上角使用模板建立。
    建立應用
  9. 根據如下信息配置模板,完成後單擊建立。
     
    配置 說明
    集羣 選擇目標集羣。
    命名空間 選擇資源對象所屬的命名空間,默認是 default。此處選擇kube-system。
    示例模板 阿里雲容器服務提供了多種資源類型的 Kubernetes yaml 示例模板,讓您快速部署資源對象。您能夠根據 Kubernetes Yaml 編排的格式要求自主編寫,來描述您想定義的資源類型。此處選擇自定義。
    模板 填寫如下自定義內容:
     
    apiVersion: extensions/v1beta1 kind: Deployment metadata: name: eventer namespace: kube-system spec: replicas: 1 template: metadata: labels: task: monitoring k8s-app: eventer annotations: scheduler.alpha.kubernetes.io/critical-pod: '' spec: serviceAccount: admin containers: - name: eventer image: registry.cn-hangzhou.aliyuncs.com/acs/eventer:v1.6.0 imagePullPolicy: IfNotPresent command: - /eventer - --source=kubernetes:https://kubernetes.default - --sink=dingtalk:[your_webhook_url]&label=[your_cluster_id]&level=[可選參數:Normal或者Warning,默認值爲:Warning] #level可配置爲:Normal或Warning,默認值爲:Warning。當配置Normal時,會在釘釘羣收到Normal和Warning級別的告警;不配置或配置爲Warning時,釘釘羣僅收到Warning級別的告警。
    集羣列表頁面選擇目標集羣,單擊操做列控制檯,進入Kubernetes 控制檯,選擇命名空間爲kube-system,單擊左側導航欄部署,可查看到eventer已部署成功。
    部署eventer

預期結果:架構

部署成功後30s,eventer生效,當事件等級超過閾值等級時,便可在釘釘羣收到以下告警。
消息提醒
 
相關文章
相關標籤/搜索