LoongCollector

1758
下载
LoongCollector 源自阿里云可观测性团队所开源的 iLogtail 项目,在继承了 iLogtail 强大的日志采集与处理能力的基础上,进行了全面的功能升级与扩展。从原来单一日志场景,逐步扩展为可观测数据采集、本地计算、服务发现的统一体。 LoongCollector 是一款集卓越性能、超强稳定性和灵活可编程性于一身的数据采集器,专为构建下一代可观测 Pipeline 设计。愿景是:打造业界领先的“统一可观测 Agent(Unified Observability Agent)”与“端到端可观

什么是处理插件


概述

处理插件用于对采集到的数据进行解析、过滤和加工。LoongCollector 提供了三种处理模式,以满足不同场景的数据处理需求:

  • 原生插件(C++)
  • 扩展插件(Golang)
  • SPL处理

这三种处理模式可以灵活组合使用,通过统一的 Event 数据模型,支持处理包括日志、指标、追踪、事件、性能剖析等多种可观测数据。

介绍

原生插件

  • 采用C++实现,性能最优,资源开销极低
  • 提供常用的数据处理算子
  • 适用于大部分标准的数据处理场景
  • 推荐作为首选的处理方案

扩展插件

  • 采用Golang实现,性能和资源开销适中
  • 支持更丰富的处理功能
  • 开发门槛低,易于定制开发
  • 适用于复杂的数据处理场景

SPL处理

  • 基于C++实现的列式计算
  • 采用向量化执行,性能优异
  • 提供全面的数据处理算子
  • 支持管道式处理,可以灵活组合处理逻辑
  • 通过配置即可完成复杂数据处理,无需编码

特性对比

类型实现语言性能特点功能特点开发难度
原生插件C++性能最优 资源开销极低常用算子 标准处理场景中等 需要C++开发能力
扩展插件Golang性能适中 资源开销较低丰富算子 支持复杂处理较低 Golang开发门槛低
SPL处理C++性能优异 向量化执行算子全面 管道式处理 配置驱动极低 仅需编写SPL语句

使用约束与限制

原生处理插件支持的输入插件

下表列出了可以与原生处理插件组合使用的输入插件:

输入插件说明
input_file文本日志输入插件
input_container_stdio容器标准输出插件
input_observer_networkeBPF网络观测插件
input_file_security文件安全监控插件
input_network_observer网络观测插件
input_network_security网络安全监控插件
input_process_security进程安全监控插件

更多输入插件说明请参考输入插件文档

插件组合规则

LoongCollector支持以下两种处理插件组合方式:

1. 单一插件模式

  • 原生插件模式
    • 组合方式:仅使用原生处理插件
    • 限制: 仅支持原生输入插件
  • 扩展插件模式
    • 组合方式:仅使用扩展处理插件
    • 支持所有类型输入插件

2. 级联模式

  • 组合方式: 原生处理插件后接扩展处理插件
  • 限制条件
    • 仅支持原生输入插件
    • 原生处理插件必须位于扩展处理插件之前

选型建议

  • 追求性能: 优先使用原生插件
  • 处理复杂数据: 选择SPL处理
  • 需要定制开发: 使用扩展插件
  • 混合处理场景: 采用级联模式

observability.cn Authors 2024 | Documentation Distributed under CC-BY-4.0
Copyright © 2017-2024, Alibaba. All rights reserved. Alibaba has registered trademarks and uses trademarks.
浙ICP备2021005855号-32