使用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

logtail采集

配置方案见 链接

MongoDB

logtail采集

配置方案见 链接

Redis

logtail采集

配置方案见 链接

ClickHouse

logtail采集

配置方案见 链接

Kafka

logtail采集

配置方案见 链接

Nginx

logtail采集

配置方案见 链接

ElasticSearch

logtail采集

配置方案见 链接

阿里云云产品

配置即可接入

支持常见的云产品(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数据加工/SLS ScheduleSQL

业务日志中的日志,通过计算转换为指标

  • 使用SLS数据加工转换日志为指标 链接



部分监控效果展示

k8s 接入Prometheus后指标查询展示

使用SLS构建企业级监控

k8s 接入Prometheus后使用Grafana查询

使用SLS构建企业级监控

k8s事件中心

使用SLS构建企业级监控


Redis监控

使用SLS构建企业级监控

云产品 - ecs指标导入

使用SLS构建企业级监控

SLB日志中心

使用SLS构建企业级监控

应用JVM监控

使用SLS构建企业级监控

应用Trace接入

使用SLS构建企业级监控

上一篇:Nginx日志加工分析


下一篇:[paper reading][ESWC 2005] Temporal RDF