日志服务

2021-03-01 11:15:04 浏览数 (1)

本文中整理与阿里云日志服务相关的知识点,主要是包含:

  • 日志相关
    • 日志log
    • 日志组LogGroup
    • 日志主题Topic
    • 项目Project
    • 日志库LogStore
    • 分区shard
  • 产品
    • 产品架构
    • 产品功能

日志相关

日志Log

日志(Log)是系统在运行过程中变化的一种抽象,其内容为指定对象的某些操作和其操作结果按时间的有序集合。日志的不同载体

  • 文件日志LogFile
  • 事件Event
  • 数据库日志BinLog
  • 度量Metric数据

每个文件日志由一条或者多条日志组成,每条日志描述了一次单独的系统事件。

日志是日志服务中处理的最小数据单元

日志组LogGroup

日志组是一组日志的集合,写入与读取的基本单位

日志主题Topic

日志库内的日志可以通过日志主题来进行划分。用户在写入时指定日志主题,查询数据时候也可以指定日志主题

项目Project

项目是日志服务中的资源管理单元。用于资源隔离和控制。

它管理者用户的所有日志库LogStore,采集日志的机器配置等信息,同时也是用户访问日志服务资源的入口。

日志库LogStore

日志库是日志服务中日志数据的收集、存储和查询单元。每个日志库隶属于一个项目,每个项目可以创建多个日志库。

分区shard

每个日志库分为若干个分区shard,每个shard由MD5左闭右开的区间组成。每个区间范围不会被覆盖

日志服务

定义

日志服务Log Service,简称SLS,是针对日志类数据的一站式服务。主要功能是:

  • 完成日志数据收集、消费、投递和查询分析等
  • 提高运维、运营效率
  • 建立DT时代海量日志文件处理能力

阿里产品

产品架构
Logtail

快速收集日志的Agent,特点:

  • 基于日志文件,无侵入式的收集日志
  • 安全、可靠
  • 方便管理:web端操作、可视化配置
  • 完善的自我保护:实时监控进程的CPU、内存消耗等
前端服务器

采用的是LVS Nginx构建的前端机器,特点如下:

  • HTTP、REST协议
  • 水平扩展:流量上涨时可以快速提高处理能力、支持增加前端机
  • 高吞吐、低延时:纯异步处理,内部采用专门针对日志的LS4压缩
后端服务器

后端采用的是分布式进程,部署在多个机器上面,特点如下:

  • 数据安全性高:每条日志数据保存3份;发生宕机、磁盘损坏等情况,数据自动修复
  • 稳定服务:机器宕机时候,LogStore会自动迁移;自动负载均衡,无单机热点;用户之间的行为互不影响
  • 水平扩展:以分区shard为单位进行水平扩展,用户可以根据动态需要增加分区来曾静吞吐量
产品功能
实时采集与消费LogHub

功能:

  1. 通过ECS、容器、移动端、开源软件等接入实时日志数据(Metric、Event、BinLog)
  2. 通过实时消费接口,与实时计算及服务对接

用途:

  • 数据清洗ETL
  • 流计算 Stream Compute
  • 监控与报警
  • 机器学习与迭代计算
查询与实时分析 Search/Analytics

功能:

  1. 查询:关键词、模糊、上下文、范围
  2. 统计:SQL聚合等丰富查询手段
  3. 可视化:Dashboard 报表功能
  4. 对接:Grafana JDBC/SQL92

用途:

  1. devops、线上运维
  2. 日志实时数据分析
  3. 安全诊断数据分析
  4. 运营与客服系统
投递数仓LogShipper

将日志中枢数据投递至存储类服务进行存储

  • 支持压缩
  • 自定义Partition
  • 行列格式等类型

用途:

  • 数据仓库 数据分析
  • 审计
  • 推荐系统 用户画像
产品应用场景
  1. 数据采集与消费

通过日志服务的 日志中枢(LogHub)功能,大规模低成本接入各种实时日志数据

  1. 数据清洗与流计算

日志中枢LogHub支持和各种实时计算及服务进行对接,并且提供完整的进度监控、报警灯功能

  1. 数据仓库对接Data WareHouse

日志投递LogShipper功能可以将日志中枢LogHub中数据投递至存储类服务,过程支持压缩、自定义Partition、行列、TextFile等多种存储格式。

  1. 日志实时查询与分析

实时查询分析LogAnalytics可以实时索引LogHub中的数据,提供关键词、模糊、上下文、范围、SQL聚合等查询手段

0 人点赞