日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

事件監控

事件監控是Kubernetes中的一種監控方式,可以彌補資源監控在實時性、準確性和場景上的不足。您可以通過使用NPD(node-problem-detector)結合SLS的Kubernetes事件中心、配置NPD集群檢查項以及異常事件離線功能、使用釘釘、使用SLS離線Kubernetes事件及使用EventBridge離線Kubernetes事件,實時監控集群的異常與問題。

費用說明

ACK事件監控功能默認上報集群事件至SLS日志服務,SLS日志服務提供事件數據的存儲、分析能力,默認90天內的ACK集群事件數據免費。詳細信息,請參見創建并使用K8s事件中心

背景信息

Kubernetes的架構設計基于狀態機,不同的狀態之間進行轉換會生成相應的事件,正常的狀態之間轉換會生成Normal等級的事件,正常狀態與異常狀態之間的轉換會生成Warning等級的事件。

ACK提供開箱即用的容器場景事件監控方案,通過ACK維護的NPD以及包含在NPD中的kube-eventer提供容器事件監控能力。

image
  • NPD(node-problem-detector)是Kubernetes節點診斷的工具,可以將節點的異常,例如Docker Engine Hang、Linux Kernel Hang、網絡出網異常、文件描述符異常轉換為Node的事件,結合kube-eventer可以實現節點事件告警的閉環。更多信息,請參見NPD

  • kube-eventer是ACK維護的開源Kubernetes事件離線工具,可以將集群的事件離線到釘釘、SLS、EventBridge等系統,并提供不同等級的過濾條件,實現事件的實時采集、定向告警、異步歸檔。更多信息,請參見kube-eventer

本文通過以下五種場景為您介紹事件監控。

場景一:使用NPD結合SLS的Kubernetes事件中心監控集群事件

NPD根據配置與第三方插件檢測節點的問題或故障、生成相應的集群事件。而Kubernetes集群自身也會因為集群狀態的切換產生各種事件,例如Pod驅逐、鏡像拉取失敗等異常情況。日志服務SLS(Log Service)的Kubernetes事件中心實時匯聚Kubernetes中的所有事件并提供存儲、查詢、分析、可視化、告警等能力。將集群事件接入日志服務的Kubernetes事件中心操作步驟如下。

步驟一:安裝ack-node-problem-detector組件

  • 如果您在創建集群時,已選中安裝node-problem-detector并創建事件中心,可直接按照步驟二查看Kubernetes事件中心。關于如何通過創建集群時安裝NPD組件,請參見創建ACK托管集群

  • 若創建集群時未選中安裝node-problem-detector并創建事件中心,則需手動安裝,具體的操作步驟如下。

    1. 登錄容器服務管理控制臺

    2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

    3. 日志與監控頁簽,查找并安裝ack-node-problem-detector

步驟二:查看事件中心

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 事件中心

  3. 單擊右上角的事件中心管理,在K8s事件中心頁面的左側導航欄,單擊目標集群名稱左邊的展開圖標展開,查看Kubernetes事件中心相關信息。

    您可以查看Kubernetes事件的總覽及詳情、Pod生命周期,還可以進行自定義查詢和告警配置。更多信息,請參見采集Kubernetes事件

場景二:配置NPD集群檢查項以及異常事件離線功能

NPD(node-problem-detector)是Kubernetes節點診斷的工具,可以將節點的異常,例如Docker Engine Hang、Linux Kernel Hang、網絡出網異常、文件描述符異常轉換為Node的事件,結合kube-eventer可以實現節點事件告警的閉環。

操作流程

  1. 安裝ack-node-problem-detector組件,安裝過程請參見安裝ack-node-problem-detector組件

    說明

    若之前已安裝過ack-node-problem-detector組件,請刪除重新安裝。具體操作,請參見如何重新安裝ack-node-problem-detector組件

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 守護進程集

  3. 守護進程集頁面,選擇命名空間為kube-system,查看組件ack-node-problem-detector-daemonset運行正常。

    當node-problem-detector與eventer都正常運行后,可以通過配置的eventer的離線通道進行數據的離線處理或者報警。

NPD支持的問題檢查插件

插件名

功能

說明

fd_check

檢查集群節點系統的已打開的文件描述符是否超過最大上限的80%。

80%為默認值,可通過參數修改。該檢查項消耗資源較多,不建議開啟。

ram_role_check

檢查集群節點是否具有RAM Role以及相應的鑒權密鑰。

ntp_check

檢查集群節點上的NTP時間同步服務是否正常運行。

默認開啟項。

nvidia_gpu_check

檢查集群節點上的NVIDIA GPU計算卡是否具有有效的xid

network_problem_check

檢查集群節點上的conntrack表用量是否超過了總量的90%。

默認開啟項。

inodes_usage_check

檢查集群節點系統盤的inode是否超過了總量的80%。

80%為默認值,可通過參數修改。默認開啟項。

csi_hang_check

檢查集群節點上的CSI存儲插件狀態是否正常。

ps_hang_check

檢查集群節點系統中是否有狀態為D(掛起且無法喚醒)的進程。

public_network_check

檢查集群節點是否可以訪問公網。

irqbalance_check

檢查集群節點系統中的irqbalance服務是否正常。

pid_pressure_check

檢查集群節點系統中的進程pid數與系統內核中允許的pid最大數占比是否超過了85%。

默認開啟項。

docker_offline_check

檢測集群節點上的docker daemon服務是否正常。

默認開啟項。

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

使用釘釘機器人監控并告警Kubernetes的事件是一個非常典型的ChatOps實現。具體的操作步驟如下。

  1. 單擊釘釘群右上角的群設置圖標,進入群設置頁面。

  2. 單擊機器人,然后單擊添加機器人,選擇需要添加的機器人。此處選擇自定義機器人。

    自定義機器人

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

    添加機器人

  4. 根據以下信息配置群機器人后,閱讀并同意服務及免責條款,然后單擊完成

    參數

    說明

    編輯頭像

    (可選)為群機器人設置頭像。

    機器人名字

    添加的機器人名稱。

    添加到群組

    添加機器人的群組。

    安全設置

    安全設置支持3種方式:自定義關鍵詞、加簽和IP地址(段)。

    目前集群的事件監控僅支持第一種方式,即自定義關鍵詞

    選中自定義關鍵詞,填入Warning可接收所有監控報警。如果發現機器人消息發送過于頻繁,可增加關鍵詞進行過濾,最多支持設置10個關鍵詞。ACK發送消息時也會同步此關鍵詞。

  5. 單擊復制,復制webhook地址以備后續使用。

    復制webhook

    說明

    群機器人頁面,選擇目標群機器人,單擊右側設置按鈕圖標可以進行以下操作:

    • 修改群機器人的頭像及機器人名字。

    • 開啟關閉消息推送。

    • 重置webhook地址。

    • 刪除群機器人。

  6. 安裝ack-node-problem-detector組件,安裝過程請參見安裝ack-node-problem-detector組件

    說明

    若之前已安裝過ack-node-problem-detector組件,請刪除重新安裝,具體操作請參見如何重新安裝ack-node-problem-detector組件

  7. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  8. 在Helm頁面,找到ack-node-problem-detector組件,然后在組件對應的操作列單擊更新,修改以下內容,然后單擊確定

    • npd下方的enabled設置為false

    • eventer.sinks.dingtalk.enabled設置為true

    • 通過步驟5創建webhook地址查看Token,填入Token字段。

預期結果:

部署成功后30秒,eventer生效,當事件等級超過閾值等級時,即可在釘釘群收到如下告警。消息提醒

場景四:使用SLS離線Kubernetes事件

阿里云日志服務SLS(Log Service)可以將Kubernetes的事件以更持久的方式進行存儲,從而提供更多的事件歸檔、審計的能力。詳情請參見創建并使用K8s事件中心

  1. 創建Project與Logstore。

    1. 登錄日志服務管理控制臺

    2. Project列表區域,單擊創建Project,填寫Project的基本信息并單擊確認進行創建。

      本示例創建一個名為k8s-log4j的Project,與Kubernetes集群位于同一地域(華東1)。

      說明

      為降低成本并提高效率,通常建議將日志服務與Kubernetes集群配置在同一地域。這樣可以使日志數據通過內網進行傳輸,避免因地域不一致產生的外網數據傳輸費用,并減少傳輸延遲,實現日志的實時采集和快速查詢。

    3. 創建完成后,k8s-log4j出現在Project列表下,單擊該Project名稱,進入Project詳情頁面。

    4. 默認進入日志庫頁面,在頁面左側,單擊加號+,彈出創建Logstore對話框。

    5. 填寫日志庫配置信息并單擊確定

      本示例創建名為k8s-logstore的日志庫。

      image

    6. 創建完畢后,頁面會提示您使用數據接入向導。單擊數據接入向導,彈出接入數據對話框。

    7. 選擇Log4j 1/2,根據頁面引導進行配置。

      本示例使用了默認配置,您可根據日志數據的具體使用場景,進行相應的配置。

      自定義數據

  2. 在Kubernetes集群中配置log4j。

    1. 安裝ack-node-problem-detector組件,安裝過程請參見安裝ack-node-problem-detector組件

    重要
    • 單擊安裝ack-node-problem-detector組件時,在配置項中將步驟1創建好的ProjectLogstore分別填入各字段。

    • 若之前已安裝過ack-node-problem-detector組件,請刪除重新安裝,具體操作請參見如何重新安裝ack-node-problem-detector組件

    1. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

    2. Helm頁面,找到ack-node-problem-detector組件,然后在組件對應的操作列單擊更新,修改以下內容,然后單擊確定

      • npd下方的enabled設置為false

      • eventer.sinks.sls.enabled設置為true

  3. 操作集群(例如,刪除Pod或者創建應用等)產生事件后,登錄日志服務控制臺查看數據采集。請參見通過API消費

    查看采集數據

  4. 設置索引與歸檔。請參見創建索引

    1. 在日志服務控制臺Project列表區域,單擊Project名稱。

    2. 單擊日志庫名稱后的日志庫管理圖標圖標,選擇查詢分析

    3. 單擊右上角的開啟索引

    4. 查詢分析對話框中配置索引,然后單擊確定

      此時會出現日志查詢與分析頁面。日志分析頁面

      說明
      • 索引配置在1分鐘之內生效。

      • 開啟或修改索引后,新的索引配置只對新寫入的數據生效。

    5. (可選)在需要設置離線歸檔與計算的場景下,在Logstore上將數據投遞給MaxCompute或者OSS,請參見創建MaxCompute投遞任務(新版)創建OSS投遞任務(新版)

場景五:使用EventBridge離線Kubernetes事件

事件總線EventBridge是阿里云提供的一款無服務器事件總線服務,支持阿里云服務、自定義應用及SaaS應用以標準化、中心化的方式接入,并能夠以標準化的CloudEvents 1.0協議在這些應用之間路由事件。容器服務事件可支持通過離線到EventBridge實現構建松耦合、分布式的事件驅動架構。關于EventBridge的詳情,請參見什么是事件總線EventBridge

  1. 開通事件總線EventBridge。具體操作,請參見開通事件總線EventBridge并授權

  2. 安裝ack-node-problem-detector組件,安裝過程請參見安裝ack-node-problem-detector組件

    說明

    若之前已安裝過ack-node-problem-detector組件,請刪除重新安裝,具體操作請參見如何重新安裝ack-node-problem-detector組件

  3. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  4. Helm頁面,定位ack-node-problem-detector組件,然后在組件對應的操作列單擊更新,將eventer.sinks.eventbridge.enable修改為true,以配置事件中心并開啟EventBridge事件離線數據鏈路,然后單擊確定

    image

  5. 數據鏈路開啟成功后,在事件總線EventBridge控制臺查看容器事件。

    1. 登錄事件總線EventBridge控制臺
    2. 在左側導航欄,單擊事件總線
    3. 事件總線頁面,單擊目標總線名稱。
    4. 在左側導航欄,單擊事件追蹤
    5. 選擇事件查詢方式,設置查詢條件,單擊查詢

    6. 在事件列表操作列,單擊事件詳情,查看事件詳細內容。

      更多信息,請參見查詢事件

如何重新安裝ack-node-problem-detector組件

  1. 登錄容器服務管理控制臺,在左側導航欄單擊集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇工作負載 > 任務

  3. 任務頁面,單擊kube-eventer-init-v1.7-xxxx右側更多,單擊刪除

  4. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇應用 > Helm

  5. Helm頁面,刪除原有的ack-node-problem-detector組件。

  6. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇運維管理 > 組件管理

  7. 日志與監控頁簽,查找并重新安裝ack-node-problem-detector