監控異常偵測
功能簡介
- 監控異常偵測幫助您監視和偵測時間序列資料中的異常狀況,而無需知道機器學習。 系統都會自動找出最適合的模型並套用到您的資料。
- 首先您需新增一個監視偵測模型,模型中會設定您的監控資料來源,系統會收集您的監控資料並開始進行分析,判斷異常偵測的界限、預期的值,以及哪些資料點異常。當偵測到異常時,會依據您的訂閱情況寄送通知。
- 現階段資料系統收集的監控資料以容器化管理的 Kubernetes 為主,後續將會再增加新的監控來源。
- 實際在多雲平台 portal 操作功能前需先完成 Prometheus 配置,方能建立好偵測模型並收集偵測歷史紀錄。
整合 Prometheus 的配置說明
本服務的目的
連結 kubenetes 本地端 Prometheus 將指標數據經由代理服務程式 MCloud-Agent,傳送到多雲平台 Mcloud 進行數據分析服務。
安裝部署 MCloud-Agent
先決條件: 網際網路連線是必須的 kubernetes 版本支援 v1.15 +
步驟 1. 為代理服務程式建立專屬命名空間
kubectl create namespace mcloud-logging
步驟 2. 下載代理服務程式 MCloud Agent 部署範本
wget https://mcloud-agent.s3.ap-northeast-1.amazonaws.com/mcloud-agent.yml
步驟 3. 修改部署範本相關環境參數,依據啟用異常偵測服務後所取得的資源資訊填寫下列必要參數
containers:
- env:
- name: STREAM_NAME
value: ""
- name: AWS_REGION
value: "ap-northeast-1"
- name: AWS_ACCESS_KEY_ID
value: ""
- name: AWS_SECRET_ACCESS_KEY
value: ""
- name: AWS_EXTERNAL_ID
value: ""
- name: ASSUME_ROLE_ARN
value: ""
步驟 4. 部署代理服務程式 MCloud Agent
kubectl -n mcloud-logging apply -f mcloud-agent.yml
Prometheus 配置調整
-
依據 Prometheus 官方安裝指引,配置遠端複寫位址,指向前述部署完成的代理服務程式端點位置 remote_write。
-
端點位置預設為
http://mcloud-agent-service.mcloud-logging:9501/receive
-
範例如下:
| Setting | Value | Description |
| ---------------- | ---------------- | ---------------- |
| `remote_write` | http://mcloud-agent-service.mcloud-logging:9501/receive | The URL of the endpoint to send samples to.
配置檢查
執行 kubectl 指令進行查驗代理服務程式是否配置完成並正確運行
kubectl -n mcloud-logging get pod
kubectl -n mcloud-logging logs <pod_name>
實際線上功能說明
偵測模型
新增偵測模型
- AWS 登入帳號選完公雲帳號(Azure 依序選完公雲帳號和訂閱),會取得監控標的包含: (依序選取)
- K8S API server endpoint
- K8S namespace
- K8S workload resources
- container
- 選擇完監控標的後,填寫完要通知的信箱即可完成模型新增。