-
Notifications
You must be signed in to change notification settings - Fork 399
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
8 changed files
with
181 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# 开源之夏 2024 | ||
|
||
## 活动介绍 | ||
|
||
[开源之夏](https://summer-ospp.ac.cn/)是由中国科学院软件研究所“开源软件供应链点亮计划”发起并长期支持的一项暑期开源活动,旨在鼓励在校学生积极参与开源软件的开发维护,培养和发掘更多优秀的开发者,促进优秀开源软件社区的蓬勃发展,助力开源软件供应链建设。活动联合各大开源社区,针对重要开源软件的开发与维护提供项目开发任务,并向全球高校学生开放报名。 | ||
|
||
开源之夏活动中的 [iLogtail 社区主页](https://summer-ospp.ac.cn/org/orgdetail/6eba80a6-81a9-4999-8c3b-70796665f622?lang=zh)。 | ||
|
||
## 如何参与 | ||
|
||
欢迎 iLogtail 社区学生成员报名参加活动。 | ||
|
||
学生可自主选择感兴趣的项目进行申请,中选后在项目开发者(社区导师)的指导下进行开发。根据项目的难易程度和完成情况,结项者将获取开源之夏活动奖金和结项证书。 | ||
|
||
关于报名、项目选择的说明和建议,参见[学生指南](https://summer-ospp.ac.cn/help/student/)与[项目申请建议](https://summer-ospp.ac.cn/help/proj_apply/)。 | ||
|
||
下面是活动的部分日程安排,请有意愿参加的同学关注: | ||
|
||
* 04/30-06/04 学生报名、挑选项目、与导师沟通并准备项目申请材料、提交申请 | ||
* 06/05-06/25 项目申请审核 | ||
* 06/26 中选公示 | ||
* 06/26-06/30 项目预热 | ||
* 07/01-09/30 项目开发 | ||
* 10/01-10/31 导师结项审核-PR/MR 合并阶段 | ||
* 11/01-11/08 组委会结项审核-成果审核阶段 | ||
* 11/09 结项项目公示 | ||
* 11月 年度优秀学生评选 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# iLogtail 社区项目介绍 | ||
|
||
iLogtail 为本次开源之夏贡献了两个项目。宣传视频:[iLogtail 社区开源之夏宣讲介绍](https://www.bilibili.com/video/BV1JH4y1V7FS/?vd_source=b01dd5670462ce34eca76313ec727f4d) | ||
|
||
* [iLogtail 数据吞吐性能优化](./ilogtail-io.md) | ||
* [ConfigServer 能力升级 + 体验优化(全栈)](./config-server.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
# ConfigServer 能力升级 + 体验优化(全栈) | ||
|
||
## 项目链接 | ||
|
||
<https://summer-ospp.ac.cn/org/prodetail/246eb0236?lang=zh&list=pro> | ||
|
||
## 项目描述 | ||
|
||
### iLogtail介绍 | ||
|
||
iLogtail 为可观测场景而生,拥有轻量级、高性能、自动化配置等诸多生产级别特性,在阿里巴巴以及外部数万家阿里云客户内部广泛应用。你可以将它部署于物理机,虚拟机,Kubernetes等多种环境中来采集可观测数据,例如logs、traces和metrics。目前来自阿里云、石墨文档、同程旅行、小红书、字节跳动、哔哩哔哩、嘀嗒出行的多位同学在参与 iLogtail 社区的共建。iLogtail 代码库:<https://github.com/alibaba/ilogtail> | ||
|
||
### ConfigServer介绍 | ||
|
||
目前可观测采集 Agent,例如 iLogtail 开源版,主要提供了本地采集配置管理模式,当涉及实例数较多时,需要逐个实例进行配置变更,管理比较复杂。此外,多实例场景下 Agent 的版本信息、运行状态等也缺乏统一的监控。为了解决这个问题,我们有了 ConfigServer 项目。 | ||
ConfigServer 是一款用于管控可观测采集 Agent 的工具,目前支持的功能有: | ||
|
||
* 采集 Agent 注册到 ConfigServer | ||
* 以 Agent 组的形式对采集 Agent 进行统一管理 | ||
* 远程批量管理采集 Agent 的采集配置 | ||
* 监控采集 Agent 的运行状态 | ||
* 管控UI | ||
|
||
### 项目具体要求 | ||
|
||
ConfigServer 当前的部署不够灵活、管控能力不够全面,需要优化使用体验。本项目需要进行全栈开发,实现以下需求: | ||
|
||
* 管控能力升级:支持多 Agent 组管控;支持 Agent 上报告警。 | ||
* 部署能力升级:支持容器化部署、开箱即用;支持分布式部署。 | ||
* 管控体验优化:前端适配多Agent组等新功能;前端支持采集 Agent 监控与自监控。 | ||
|
||
## 项目导师 | ||
|
||
玄飏(<[email protected]>) | ||
|
||
## 项目难度 | ||
|
||
进阶 | ||
|
||
## 技术领域标签 | ||
|
||
React,Mysql,Redis,Docker | ||
|
||
## 编程语言标签 | ||
|
||
Go,JavaScript,C++ | ||
|
||
## 项目产出要求 | ||
|
||
1. 管控能力升级 | ||
1. ConfigServer 支持多 Agent 组管控。 | ||
2. ConfigServer 支持 Agent 上报告警信息。 | ||
2. 部署能力升级 | ||
1. 基于 ConfigServer 预留的数据存储层接口,实现分布式部署。 | ||
2. 支持 ConfigServer 容器化部署,做到开箱即用。 | ||
3. 体验优化 | ||
1. ConfigServer UI升级,支持多 Agent 组、Agent 告警查看等新增功能 | ||
2. ConfigServer 提供监控能力,包括监控 ConfigServer 自身状态、监控 Agent 状态,并在UI界面展示。 | ||
4. 编写 ConfigServer 使用与开发文档 | ||
|
||
## 项目技术要求 | ||
|
||
1. 掌握 Golang,熟悉 React 或其他前端开发框架,了解C++ | ||
2. 熟悉分布式应用开发 | ||
3. 熟悉容器化技术 | ||
4. 熟悉Git、GitHub相关操作 | ||
5. 有阿里云日志服务使用经验更优 | ||
|
||
## 参考资料 | ||
|
||
ConfigServer介绍:<https://ilogtail.gitbook.io/ilogtail-docs/config-server/quick-start> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# iLogtail 数据吞吐性能优化 | ||
|
||
## 项目链接 | ||
|
||
<https://summer-ospp.ac.cn/org/prodetail/246eb0231?lang=zh&list=pro> | ||
|
||
## 项目描述 | ||
|
||
### iLogtail介绍 | ||
|
||
iLogtail 为可观测场景而生,拥有轻量级、高性能、自动化配置等诸多生产级别特性,在阿里巴巴以及外部数万家阿里云客户内部广泛应用。你可以将它部署于物理机,虚拟机,Kubernetes等多种环境中来采集可观测数据,例如logs、traces和metrics。目前来自阿里云、石墨文档、同程旅行、小红书、字节跳动、哔哩哔哩、嘀嗒出行的多位同学在参与 iLogtail 社区的共建。iLogtail 代码库:<https://github.com/alibaba/ilogtail> | ||
|
||
### iLogtail 数据接入介绍 | ||
|
||
iLogtail作为阿里云SLS提供的可观测数据采集器,可以运行在服务器、容器、K8s、嵌入式等多种环境,支持采集数百种可观测数据(日志、监控、Trace、事件等),已经有千万级的安装量。为了能够更好地实现与开源生态的融合并满足用户不断丰富的接入需求,我们为 iLogtail 引入了 Golang 实现的数据接入系统,目前,我们已通过该系统支持了若干数据源,包括 Kafka、OTLP、HTTP、MySQL Query、MySQL Binlog 等。 | ||
|
||
### 项目具体要求 | ||
|
||
Golang 实现的数据接入、处理、发送能力,效率上还是与 C++ 有差距。在 iLogtail 2.0 中,我们实现了 C++ 版本的数据处理流水线,希望将一些高频的数据源输出、解析、输出模块,升级到 C++ 版本,来提升 iLogtail 在这些场景的输入输出速率。 | ||
|
||
本次项目,我们旨在实现 Syslog 输入、Nginx 解析、Kafka 输出等高频使用模块的更高性能的 C++ 版本,来提升 iLogtail 的数据吞吐能力。升级后的版本需要满足下面的条件: | ||
|
||
* 性能更优: | ||
* Syslog 输入、Kafka 输出,相较于升级前的 Golang 版本,支持更高的读取/发送速率 | ||
* Nginx 解析速率需要高于 C++ 正则解析 | ||
* 内存优化:相同处理速率时,内存开销小于升级前的 Golang 版本 | ||
* 数据Tag管理:iLogtail内部的tag与输入/输出源的tag格式不一致,需要能够管理好tag间的转换。 | ||
* 数据完整性:满足“at least once”原则,保证不丢失数据 | ||
|
||
## 项目导师 | ||
|
||
阿柄(<[email protected]>) | ||
|
||
## 项目难度 | ||
|
||
进阶 | ||
|
||
## 技术领域标签 | ||
|
||
Kafka,TCP/IP,DataOps | ||
|
||
## 编程语言标签 | ||
|
||
C++,Go | ||
|
||
## 项目产出要求 | ||
|
||
1. 实现 C++ 版本的 Syslog 输入、Nginx 解析、Kafka 输出模块 | ||
2. 为实现的功能模块提供完善的说明文档和使用案例 | ||
3. 为实现的功能模块添加完善的测试 | ||
4. 编写实现的功能模块与 Golang 版本的性能对比测试报告 | ||
|
||
## 项目技术要求 | ||
|
||
1. 掌握C++,了解Golang | ||
2. 了解 Kafka 客户端 API 和集群架构 | ||
3. 了解 syslog 协议及相关库函数 | ||
4. 了解 Git、GitHub 相关操作 | ||
5. 有开发高性能网络服务/插件经验更优 | ||
|
||
## 参考资料 | ||
|
||
什么是iLogtail:<https://ilogtail.gitbook.io/ilogtail-docs> | ||
|
||
你好,iLogtail 2.0!:<https://developer.aliyun.com/article/1441630> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters