Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update developer-guide and fix pure-plugin-start #1950

Merged
merged 2 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 16 additions & 10 deletions docs/cn/README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
# 什么是LoongCollector

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/loongcollector-icon.png>)
![logo](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/loongcollector-icon.png>)

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

[![GitHub stars](https://camo.githubusercontent.com/674a26318ece2d770231086a733bebdbb174c15721f03714f5b79930574a800a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f616c69626162612f696c6f677461696c)](https://github.com/alibaba/loongcollector/stargazers) [![GitHub issues](https://camo.githubusercontent.com/4266ec67b48f666bc0d440f9d1399e4b56ffc4eca3af3764e062731be83b2873/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f616c69626162612f696c6f677461696c)](https://github.com/alibaba/loongcollector/issues) [![GitHub license](https://camo.githubusercontent.com/608afe55a7ca2ed062304f89208d3b929fddcbde8923cd09ef40edb2d2c3bf76/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f616c69626162612f696c6f677461696c)](https://github.com/alibaba/loongcollector/blob/main/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/alibaba/ilogtail)](https://github.com/alibaba/loongcollector/contributors)
[![GitHub stars](https://img.shields.io/github/stars/alibaba/ilogtail)](https://github.com/alibaba/loongcollector/stargazers)
[![GitHub issues](https://img.shields.io/github/issues/alibaba/ilogtail)](https://github.com/alibaba/loongcollector/issues)
[![GitHub license](https://img.shields.io/github/license/alibaba/ilogtail)](https://github.com/alibaba/loongcollector/blob/main/LICENSE)
[![Coverity Scan Build Status](https://img.shields.io/coverity/scan/28764.svg)](https://scan.coverity.com/projects/alibaba-ilogtail)
[![Coverage Status](https://codecov.io/gh/alibaba/ilogtail/branch/main/graph/badge.svg)](https://codecov.io/gh/alibaba/ilogtail)
[![Go Report Card](https://goreportcard.com/badge/github.com/alibaba/loongcollector)](https://goreportcard.com/report/github.com/alibaba/loongcollector)

## 品牌寓意

Expand All @@ -20,11 +26,11 @@ LoongCollector 社区将紧密围绕既定的愿景蓝图,专注于核心价

LoongCollector 始终将追求极致的采集性能和超强可靠性放在首位,坚信这是实践长期主义理念的根基。我们深知,LoongCollector 核心价值在于为大规模分布式系统提供稳固、高效的可观测性数据统一采集 Agent 与端到端 Pipeline。不管在过去、现在、未来,LoongCollector 都将持续通过技术革新与优化,实现资源利用效率的提升与在极端场景下的稳定运行。

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/uncompromised_performance_and_reliability.png>)
![uncompromised_performance_and_reliability](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/uncompromised_performance_and_reliability.png>)

### 遥测数据,无限边界 Unlimited Telemetry Data

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/unlimited_telemetry_data.png>)
![unlimited_telemetry_data](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/unlimited_telemetry_data.png>)

LoongCollector 坚信 All-in-One 的设计理念,致力于所有的采集工作用一个 Agent 实现 Logs、Metric、Traces、Events、Profiles 的采集、处理、路由、发送等功能。展望未来,LoongCollector 将着重强化其 Prometheus 抓取能力,深度融入 eBPF(Extended Berkeley Packet Filter)技术以实现无侵入式采集,提供原生的指标采集功能,做到真正的 OneAgent。

Expand All @@ -39,7 +45,7 @@ LoongCollector 通过 SPL 与多语言 Plugin 双引擎加持,构建完善的
* 不同引擎都可以相互打通,通过灵活的组合实现预期的计算能力。
* 设计通用的 Event 数据模型,可扩展表达 Logs、Metric、Traces、Events、Profiles 等在内的多种可观测类型,为通用计算提供便捷。

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/unrestricted_programmable_pipeline.png>)
![unrestricted_programmable_pipeline](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/unrestricted_programmable_pipeline.png>)

开发者可以根据自身需求灵活选择可编程引擎。如果看重执行效率,可以选择原生插件;如果看重算子全面性,需要处理复杂数据,可以选择 SPL 引擎;如果强调低门槛的自身定制化,可以选择扩展插件,采用 Golang 进行编程。

Expand All @@ -61,15 +67,15 @@ LoongCollector 通过 SPL 与多语言 Plugin 双引擎加持,构建完善的

同时,对于存储适配层进行了抽象,便于开发者对接符合自己环境需求的持久化存储。

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/config_server.png>)
![config_server](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/config_server.png>)

LoongCollector 极大地完善了自身可观测性的建设。不管是 LoongCollector 自身运行状态,还是采集 Pipeline 节点都有完整指标。开发者只需要将这些指标对接到可观测系统,即可体验对 LoongCollector 运行状态的清晰洞察。

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/self_monitor.png>)
![self_monitor](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/self_monitor.png>)

## 核心场景:不仅仅是 Agent

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/not_only_agent.png>)
![not_only_agent](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/not_only_agent.png>)

作为一款高性能的可观测数据采集与处理 Pipeline,LoongCollector 的部署模式在很大程度上能够被灵活定制以满足各种不同的业务需求和技术架构。

Expand Down Expand Up @@ -103,7 +109,7 @@ cd output

未来,LoongCollector 社区将持续围绕长期主义进行建设,打造核心竞争力。同时,也期待更多小伙伴的加入。

![](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/roadmap.png>)
![roadmap](<https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/readme/roadmap.png>)

* 通过框架能力增强,构建高性能、高可靠的基础底座。
* 通用发送重构框架
Expand Down Expand Up @@ -157,4 +163,4 @@ cd output
* 知乎:[iLogtail社区](https://www.zhihu.com/column/c_1533139823409270785)
* 扫描二维码加入微信/钉钉交流群

<img src="https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/chatgroup/chatgroup.png" style="width: 60%; height: 60%" />
![chatgroup](https://ilogtail-community-edition.oss-cn-shanghai.aliyuncs.com/images/chatgroup/chatgroup.png)
10 changes: 5 additions & 5 deletions docs/cn/developer-guide/code-check/check-dependency-license.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 检查依赖包许可证

iLogtail 基于Apache 2.0 协议进行开源,开发者需要保证依赖包协议与Apache 2.0 协议兼容,所有依赖包或源码引入License 说明位于根目录 `licenses` 文件夹。
LoongCollector 基于Apache 2.0 协议进行开源,开发者需要保证依赖包协议与Apache 2.0 协议兼容,所有依赖包或源码引入License 说明位于根目录 `licenses` 文件夹。

## 检查依赖包License

Expand All @@ -16,12 +16,12 @@ make check-dependency-licenses

## Fork 代码库管理

出于某些特性不支持原因,或精简依赖包原因,iLogtail 会存在某些Fork代码库,所有Fork代码库存在于[iLogtail](https://github.com/iLogtail)组织进行管理,出于License风险问题,禁止引入私人Fork版本。
出于某些特性不支持原因,或精简依赖包原因,LoongCollector 会存在某些Fork代码库,所有Fork代码库存在于[iLogtail](https://github.com/iLogtail)组织进行管理,出于License风险问题,禁止引入私人Fork版本。

### go.mod 管理

1. Fork 仓库: 对于Fork代码库,出于尊重原作者,禁止修改go.mod 仓库module地址,如[样例](https://github.com/iLogtail/go-mysql/blob/master/go.mod)所示。
2. iLogtail仓库: iLogtail 仓库对于Fork代码库要求使用replace 方式引入,用以保持代码文件声明的引入包地址保持原作者仓库地址。
2. LoongCollector仓库: LoongCollector 仓库对于Fork代码库要求使用replace 方式引入,用以保持代码文件声明的引入包地址保持原作者仓库地址。

```go
require (
Expand All @@ -38,11 +38,11 @@ replace (
请执行`make check-dependency-licenses` 指令,脚本程序将自动在find_licenses文件夹生成markdown 说明,请将说明放置于[LICENSE_OF_ILOGTAIL_DEPENDENCIES.md](../../../../licenses/LICENSE_OF_ILOGTAIL_DEPENDENCIES.md)文件末端,如下样例。

```go
## iLogtail used or modified source code from these projects
## LoongCollector used or modified source code from these projects
- [github.com/iLogtail/VictoriaMetrics fork from github.com/VictoriaMetrics/VictoriaMetrics](http://github.com/iLogtail/VictoriaMetrics) based on Apache-2.0
- [github.com/iLogtail/metrics fork from github.com/VictoriaMetrics/metrics](http://github.com/iLogtail/metrics) based on MIT
```

### 建议

如Fork 特性为原代码库的能力补充,非特定场景如精简依赖包等因素,建议对原始代码库提出PullRequest, 如原始仓库接受此次PullRequest,请将iLogtail 仓库依赖包地址修改为原始仓库地址,并删除Fork仓库。
如Fork 特性为原代码库的能力补充,非特定场景如精简依赖包等因素,建议对原始代码库提出PullRequest, 如原始仓库接受此次PullRequest,请将 LoongCollector 仓库依赖包地址修改为原始仓库地址,并删除Fork仓库。
2 changes: 1 addition & 1 deletion docs/cn/developer-guide/codestyle.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 代码风格

iLogtail C++遵循基于[Google代码规范](https://google.github.io/styleguide/cppguide.html)的风格,详细格式约束见[.clang-format](https://github.com/alibaba/loongcollector/blob/main/.clang-format)。
LoongCollector C++遵循基于[Google代码规范](https://google.github.io/styleguide/cppguide.html)的风格,详细格式约束见[.clang-format](https://github.com/alibaba/loongcollector/blob/main/.clang-format)。

Go遵循[Effective Go](https://go.dev/doc/effective_go)风格。

Expand Down
4 changes: 2 additions & 2 deletions docs/cn/developer-guide/data-model.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# 数据模型

iLogtail 目前支持 `SLS Log Protocol` 和 `Pipeline Event` 两种数据模型,两种模型的描述和对比如下:
LoongCollector 目前支持 `SLS Log Protocol` 和 `Pipeline Event` 两种数据模型,两种模型的描述和对比如下:
| | SLS Log Protocol | Pipeline Event |
| ---- | ---- | ---- |
| 描述 | SLS 日志的专用处理结构 | 可扩展的可观测性数据模型,支持Metrics、Trace、Logging、Bytes、Profile等 |
Expand Down Expand Up @@ -72,7 +72,7 @@ type MetricEvent struct {
}
```

主流的metrics数据有单值(eg. Prometheus)和多值(eg. influxdb)两种设计,iLogtail 中也需要支持两种不同的设计,基于此设计了 MetricValue 接口和MetricSingleValue 和 MetricMultiValue 两个不同的实现
主流的metrics数据有单值(eg. Prometheus)和多值(eg. influxdb)两种设计,LoongCollector 中也需要支持两种不同的设计,基于此设计了 MetricValue 接口和MetricSingleValue 和 MetricMultiValue 两个不同的实现

```go
type MetricValue interface {
Expand Down
Loading
Loading