Show HN: rtcollector - 一款模块化、RedisTimeSeries 原生的可观测性 Agent

跳转至内容

xe-nvdk / rtcollector Public

一个模块化、RedisTimeSeries 原生的可观测性 agent。专为希望完全控制指标收集,又不想臃肿的开发者、爱好者和基础设施团队设计。

License

AGPL-3.0 license 0 stars 0 forks Branches Tags Activity

xe-nvdk/rtcollector

main BranchesTags

代码

文件夹和文件

名称 | 名称 | 最后提交信息 | 最后提交日期 ---|---|---|--- core | core | | inputs | inputs | | outputs | outputs | | utils | utils | | .gitignore | .gitignore | | LICENSE | LICENSE | | README.md | README.md | | config.yml | config.yml | | dashboard.json | dashboard.json | | main.py | main.py | | pyvenv.cfg | pyvenv.cfg | | requirements.txt | requirements.txt | |

最新提交

历史

10 Commits

rtcollector

rtcollector

一个模块化的,RedisTimeSeries-native 的可观测性 agent。为开发者,极客和基础设施团队设计,他们想要完全控制指标收集,而又不想有膨胀。

🧠 什么是 rtcollector?

rtcollector 是一个轻量级的,基于插件的 agent,用于收集系统和应用程序指标,并将它们推送到 RedisTimeSeries。 它像 Telegraf 一样工作,但专门为 Redis Stack 生态系统设计。 把它想象成你的 Redis 原生可观测性层:简单、快速、可hack。

🤔 为什么存在?

因为大多数现代可观测性 agent:

为什么不呢?

rtcollector 诞生于以下需求:

✅ 模块化 ✅ 可以用 YAML 文件配置 ✅ 考虑到 RedisStack 构建 ✅ 足够小,可以嵌入到任何地方(VM,Docker,homelabs,边缘设备)

✅ 今天它可以做什么?

🔌 Inputs (WIP)

插件 | 状态 | 说明 ---|---|--- linux_cpu | ✅ | 每个核心和总 CPU 使用率 linux_mem | ✅ | 可用/已用/可用 RAM linux_disk | ✅ | 按挂载点的磁盘使用量 linux_net | ✅ | 传入/传出字节数,数据包错误 linux_io | ✅ | 读取/写入字节数和操作数 macos_cpu | ✅ | 每个核心和总 CPU 使用率 macos_mem | ✅ | 通过 vm_stat 获取内存使用情况 macos_disk | ✅ | 通过 df 获取磁盘使用情况 macos_io | ✅ | 通过 iostat 获取 I/O 统计信息 macos_net | ✅ | 通过 netstat 获取网络统计信息 docker_stats | ✅ | 容器 CPU,内存和网络统计信息;通过配置切换 Docker Swarm;添加了日志记录改进和插件执行持续时间跟踪 mysql | 🧪 | 通过 SHOW STATUS 获取基本服务器统计信息 postgres | 🧪 | 连接数,xact 提交数 redis | 🧪 | INFO 命令 + 可选延迟信息

📤 Outputs

插件 | 说明 ---|--- redistimeseries | ✅ 默认和最稳定的输出;支持使用保留策略和标签自动创建 key;支持动态主机名标记和重复策略处理 (计划中) stdout | 用于本地测试/调试 (计划中) clickhouse | 将指标推送到冷存储/分析引擎 (计划中) mqtt / http_post | 与 IoT 或警报系统集成

🚀 Roadmap

📦 示例 config.yaml

interval: 5
hostname: atila
retention: 86400000
debug: true
once: false
inputs:
 - linux_cpu
 - linux_mem
 - docker:
   endpoint: "unix:///var/run/docker.sock"
   gather_services: false
outputs:
 - redistimeseries:
   host: localhost
   port: 6379

👥 适用于谁?

❤️ 贡献

这个项目才刚刚开始,欢迎贡献,想法和 PR!

开始:

  1. Fork 这个 repo
  2. Clone 你的 fork
  3. 创建一个分支 (git checkout -b my-feature)
  4. 提交你的更改 (git commit -am 'Add feature')
  5. 推送到分支 (git push origin my-feature)
  6. 打开一个 pull request

📜 License

此项目根据 GNU Affero General Public License v3.0 (AGPL-3.0) 授权。

您可以自由使用、修改和分发此代码,只要您开源任何更改,并在将修改后的版本部署为网络服务时提供源代码。

关于

一个模块化,RedisTimeSeries-native 的可观测性 agent。专为希望完全控制指标收集,又不想臃肿的开发者、爱好者和基础设施团队设计。

Resources

Readme

License

AGPL-3.0 license Activity

Stars

0 stars

Watchers

1 watching

Forks

0 forks Report repository

Releases

No releases published

Packages 0

No packages published

Languages