什么是输入插件
输入插件
输入插件是 LoongCollector 的核心组件之一,负责从各类数据源高效采集数据。LoongCollector 提供两种类型的输入插件,分别针对不同的使用场景:
- 原生插件(C++): 高性能、低开销的首选方案
- 扩展插件(Golang): 灵活可扩展的补充方案
插件类型介绍
原生插件
原生插件采用 C++实现,具有以下显著优势:
- 卓越的性能表现和极低的资源开销
- 专注于常见数据源的高效采集
- 生产环境首选的稳定采集方案
名称 | 提供方 | 功能简介 |
---|---|---|
input_file 文本日志 | 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 脚本执行数据 | 社区 didachuxing | 采集脚本执行数据。 |
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 模拟数据的插件。 |
service_mssql SqlServer 查询数据 | SLS 官方 | 将 Sql Server 数据输入到 iLogtail。 |
service_otlp OTLP 数据 | 社区 Zhu Shunjia | 通过 http/grpc 协议,接收 OTLP 数据。 |
service_pgsql PostgreSQL 查询数据 | SLS 官方 | 将 PostgresSQL 数据输入到 iLogtail。 |
service_snmp 收集 SNMP 协议机器信息 | SLS 官方 | 收集 SNMP 协议机器信息. |
service_syslog Syslog 数据 | SLS 官方 | 采集 syslog 数据。 |
插件特性对比
特性 | 原生插件 | 扩展插件 |
---|---|---|
实现语言 | C++ | Golang |
性能表现 | 极致性能 | 性能适中 |
资源开销 | 极低开销 | 开销适中 |
功能覆盖 | 专注常见场景 | 广泛覆盖 |
开发难度 | 中等 | 较低 |
选型建议
-
推荐使用原生插件的场景:
- 对性能和资源消耗有严格要求
- 采集常见标准数据源
- 部署在资源受限环境
-
适合使用扩展插件的场景:
- 需要采集特殊或自定义数据源
- 有特定的定制化需求
- 需要快速开发和迭代
- 性能要求相对灵活
使用说明
- 插件组合规则:
- 原生 Input 插件: 可配合原生/扩展 Processor 插件使用,支持 SPL 插件
- 扩展 Input 插件: 仅支持扩展 Processor 插件
- 详细说明请参考处理插件文档