什么是输入插件

输入插件是 LoongCollector 的核心组件之一,负责从各类数据源高效采集数据。LoongCollector 提供两种类型的输入插件,分别针对不同的使用场景:

  • 原生插件(C++): 高性能、低开销的首选方案

  • 扩展插件(Golang): 灵活可扩展的补充方案

插件类型介绍

原生插件

原生插件采用 C++实现,具有以下显著优势:

  • 卓越的性能表现和极低的资源开销

  • 专注于常见数据源的高效采集

  • 生产环境首选的稳定采集方案

名称
提供方
功能简介

input_file 文本日志

SLS 官方

文本采集。

input_static_file_onetime 一次性文件采集

SLS 官方

一次性文件采集。

input_container_stdio 容器标准输出

SLS 官方

从容器标准输出/标准错误流中采集日志。

input_file_security 文件安全数据

SLS 官方

文件安全数据采集。

input_network_observer 网络可观测数据

SLS 官方

网络可观测数据采集。

input_network_security 网络安全数据

SLS 官方

网络安全数据采集。

input_process_security 进程安全数据

SLS 官方

进程安全数据采集。

input_internal_metrics 自监控指标数据

SLS 官方

导出自监控指标数据。

input_internal_alarms 自监控告警数据

SLS 官方

导出自监控告警数据。

扩展插件

扩展插件基于 Golang 实现,具有以下特点:

  • 性能与资源开销均衡

  • 支持丰富多样的数据源接入

  • 开发门槛低,易于定制与扩展

  • 适用于特定场景的数据采集需求

名称
提供方
功能简介

input_command 脚本执行数据

采集脚本执行数据。

input_docker_stdout 容器标准输出

SLS 官方

从容器标准输出/标准错误流中采集日志。

metric_debug_file 文本日志(debug)

SLS 官方

用于调试的读取文件内容的插件。

metric_input_example MetricInput 示例插件

SLS 官方

MetricInput 示例插件。

metric_meta_host 主机 Meta 数据

SLS 官方

主机 Meta 数据。

metric_mock Mock 数据-Metric

SLS 官方

生成 metric 模拟数据的插件。

metric_system_v2 主机监控数据

SLS 官方

主机监控数据。

service_canal MySQL Binlog

SLS 官方

将 MySQL Binlog 输入到 iLogtail。

service_go_profile GO Profile

SLS 官方

采集 Golang pprof 性能数据。

service_gpu_metric GPU 数据

SLS 官方

支持收集英伟达 GPU 指标。

service_http_server HTTP 数据

SLS 官方

接收来自 unix socket、http/https、tcp 的请求,并支持 sls 协议、otlp 等多种协议。

service_input_example ServiceInput 示例插件

SLS 官方

ServiceInput 示例插件。

service_journal Journal 数据

SLS 官方

从原始的二进制文件中采集 Linux 系统的 Journal(systemd)日志。

service_kafka Kafka

SLS 官方

将 Kafka 数据输入到 iLogtail。

service_mock Mock 数据-Service

SLS 官方

生成 service 模拟数据的插件。

SLS 官方

将 Sql Server 数据输入到 iLogtail。

service_otlp OTLP 数据

通过 http/grpc 协议,接收 OTLP 数据。

SLS 官方

将 PostgresSQL 数据输入到 iLogtail。

SLS 官方

收集 SNMP 协议机器信息.

service_syslog Syslog 数据

SLS 官方

采集 syslog 数据。

插件特性对比

特性
原生插件
扩展插件

实现语言

C++

Golang

性能表现

极致性能

性能适中

资源开销

极低开销

开销适中

功能覆盖

专注常见场景

广泛覆盖

开发难度

中等

较低

选型建议

  1. 推荐使用原生插件的场景:

    • 对性能和资源消耗有严格要求

    • 采集常见标准数据源

    • 部署在资源受限环境

  2. 适合使用扩展插件的场景:

    • 需要采集特殊或自定义数据源

    • 有特定的定制化需求

    • 需要快速开发和迭代

    • 性能要求相对灵活

使用说明

  • 插件组合规则:

    • 原生 Input 插件: 可配合原生/扩展 Processor 插件使用,支持 SPL 插件

    • 扩展 Input 插件: 仅支持扩展 Processor 插件

    • 详细说明请参考处理插件文档

Last updated