天天看点

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

(一)背景

随着企业信息化的发展,面向云的IT基础设施越来越普遍,如何解决跑大的软件系统的监控问题,成为IT稳定性保障的关键环节。 本方案主要介绍如何使用SLS 对阿里云、专有IDC以及第三方云场景下,进行企业级的监控方案。

(二)架构

依托于MetricStore/Logstore存储能力,SLS提供了从底向上全栈的监控能力

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

(三)前序工作

  1. 在阿里云官网已经开通 SLS服务
  2. 确保现有的网络环境,可以连通到阿里云网络。

网络联通说明:

本方案要求现有的需要采集指标或日志的设备能够联通阿里云的网络环境,目前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集成
  • OpenCensus Trace 数据接入 参考 
  • Zipkin Trace数据接入 参考 
  • SkyWalking Trace数据接入 参考 
  • Jaeger Trace数据接入 参考 
JVM指标监控 配置方式参考 
自定义指标 开发接入/SLS数据加工/SLS ScheduleSQL 支持使用Python、Java、Go等语言,向SLS MetricStore写入自定义的监控数据。 参考 
业务层 业务接入层分析
  • Nginx访问日志分析 
  • ALB访问日志分析 
  • SLB访问日志分析 
  • Kubernetes Ingress日志分析 
业务日志中的日志,通过计算转换为指标
  • 使用SLS数据加工转换日志为指标 

部分监控效果展示

k8s 接入Prometheus后指标查询展示

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

k8s 接入Prometheus后使用Grafana查询

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

k8s事件中心

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

Redis监控

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

云产品 - ecs指标导入

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

SLB日志中心

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

应用JVM监控

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤

应用Trace接入

使用SLS构建企业级监控(一)背景(二)架构(三)前序工作(四)步骤