(一)背景
随着企業資訊化的發展,面向雲的IT基礎設施越來越普遍,如何解決跑大的軟體系統的監控問題,成為IT穩定性保障的關鍵環節。 本方案主要介紹如何使用SLS 對阿裡雲、專有IDC以及第三方雲場景下,進行企業級的監控方案。
(二)架構
依托于MetricStore/Logstore存儲能力,SLS提供了從底向上全棧的監控能力
(三)前序工作
- 在阿裡雲官網已經開通 SLS服務
- 確定現有的網絡環境,可以連通到阿裡雲網絡。
網絡聯通說明:
本方案要求現有的需要采集名額或日志的裝置能夠聯通阿裡雲的網絡環境,目前SLS支援的Region 參考
連結 對于IDC或者其他雲廠商的場景,如果是進行POC的話可以優先使用SLS的公網位址進行日志收集;如果是生産使用建議搭建相應的專線接入阿裡雲網絡,以保障資料傳輸的可靠性
(四)步驟
配置步驟彙總
監控層次 | 監控類型 | 接入方式 | 接入說明 |
IAAS層 | k8s名額監控 | 配置即可接入(Promethues Remote Write) | 支援Pod、Deployment、SatefulSet、k8s核心元件名額監控,具體配置方法 |
k8s事件監控 | 配置即可接入(需部署k8s npd元件) | 容器的重新開機、Crash、OOM等監控,關鍵元件異常監控 |
主機監控 | logtail采集 | 支援CPU、Mem、Disk、Net、System等相關名額采集 |
PAAS層 | MySQL | | 配置方案見 |
MongoDB | | |
Redis | | |
ClickHouse | | |
Kafka | | |
Nginx | | |
ElasticSearch | | |
阿裡雲雲産品 | 配置即可接入 | 支援常見的雲産品(ecs、rds等)名額接入 |
應用層 | 應用Trace | 業務代碼內建(部分支援無侵入) | 支援常見語言SDK |
現有Trace內建 | | - Zipkin Trace資料接入 參考
- SkyWalking Trace資料接入 參考
- Jaeger Trace資料接入 參考
|
JVM名額監控 | | 配置方式參考 |
自定義名額 | 開發接入/SLS資料加工/SLS ScheduleSQL | 支援使用Python、Java、Go等語言,向SLS MetricStore寫入自定義的監控資料。 參考 |
業務層 | 業務接入層分析 | | - Nginx通路日志分析
- ALB通路日志分析
- SLB通路日志分析
- Kubernetes Ingress日志分析
|
| | 業務日志中的日志,通過計算轉換為名額 |
部分監控效果展示
k8s 接入Prometheus後名額查詢展示
k8s 接入Prometheus後使用Grafana查詢
k8s事件中心
Redis監控
雲産品 - ecs名額導入
SLB日志中心
應用JVM監控
應用Trace接入