社区
项目治理
Prometheus 项目遵循 Prometheus 治理规范。
社区联系方式
Prometheus 是以公开方式开发的。以下是我们用于交流和贡献的部分渠道:
Slack 频道
CNCF Slack 上的 #prometheus 。
IRC
irc.libera.chat 上的 #prometheus。
Matrix
用户邮件列表
- prometheus-announce (镜像 )
- 用于发布新版本等公告的低流量列表。
- prometheus-users (镜像 )
- 用于讨论 Prometheus 的使用和社区支持。公告通常不会从 prometheus-announce 镜像过来。
Discourse 论坛
基于 Web 的讨论论坛 discuss.prometheus.io ,由 Discourse 托管。
公共活动日历
我们有一个公共的活动日历,您可以使用它来参加我们的会议。
如果您只是想快速概览,可以使用我们的 浏览器时区网页视图 。
如果您正在使用 Google 产品,有一个 自动将日历添加到您自己的 Google 日历的链接 。
如果您使用其他日历,可以通过此 .ics 文件添加到非 Google 日历 。
社交媒体
GitHub
要提交 Bug 和功能请求,请使用相关 Prometheus 仓库 的 GitHub 问题跟踪器。对于问题和讨论,许多仓库都提供了 GitHub Discussions。通常,此处列出的其他社区渠道最适合获取支持或讨论整体性主题。
请不要向项目成员个人寻求支持。请改用上述频道,这样整个社区都能为您提供帮助并从提供的解决方案中受益。如果社区支持不足以解决您的情况,请参阅“支持与培训”页面。
贡献
我们欢迎社区贡献!请参阅各 Prometheus 仓库中的 CONTRIBUTING.md 文件,了解如何提交更改的说明。如果您打算进行更复杂或可能引起争议的更改,请在提交 Pull Request 之前先在开发者 IRC 频道或邮件列表中进行讨论。
我们每周举办公共会议,专注于 Prometheus 的开发和贡献。该会议旨在让开发者和维护者见面、解决障碍、进行结对评审,并讨论 Prometheus 及相关官方项目(例如 node_exporter, alertmanager)的开发方面事宜。下文链接的文档包含所有详细信息,包括如何注册。
Slack 频道
CNCF Slack 上的 #prometheus-dev 。
IRC
irc.libera.chat 上的 #prometheus-dev。
Matrix
开发者邮件列表
- 用于关于 Prometheus 开发的讨论。
办公时间
- 每周举办公共会议,专注于 Prometheus 的开发和贡献。
开发者峰会
开发者峰会是讨论更深入开发主题的公开会议。目前它们每月以在线会议形式举行。(详情请查看上方“社区”部分中链接的公共活动日历。)Prometheus 团队会根据近期在其他渠道进行的讨论来规划议程。如需提议议题,请至少在峰会前 24 小时向 开发者邮件列表 发送邮件。
从 2024 年起,我们维护一份公共的 滚动会议记录文档 。您可以在下方找到我们历年的会议记录。
- 2017 年开发者峰会记录
- 2018 年开发者峰会记录
- 2019 年开发者峰会记录
- 2019 年第二次开发者峰会记录
- 2020 年第一次虚拟开发者峰会记录
- 2020 年第二次虚拟开发者峰会记录
- 2020 年第三次虚拟开发者峰会记录
- 2020 年第四次虚拟开发者峰会记录
- 2020 年第五次虚拟开发者峰会记录
- 2021 年第一次虚拟开发者峰会记录
- 2021-2024 年开发者峰会滚动记录
开发者峰会协调人
设置协调人角色是为了帮助 Prometheus 团队有效地开展开发者峰会。这是一个轮换角色(每次会议更换),其职责分布在峰会的不同阶段。
峰会前
峰会前,协调人的主要目标是帮助 Prometheus 团队确定议程和讨论主题,并确保票数最高的主题的相关方能够参加峰会。我们建议执行以下任务:
- 会议前两三天,在我们的公共社区渠道发送提醒,邀请人们添加议程主题,并邀请 Prometheus 团队成员和维护者对他们想讨论的主题进行投票。
- 会议前一天,联系获得票数最多的“主题负责人”,确保他们能参加峰会。
峰会期间
峰会期间,协调人负责确保会议顺利进行,并在必要时达成共识。我们建议执行以下任务:
- 按时开始会议。使用
@prometheus.io帐户获取会议管理权限。 - 开始录制,并提及《行为准则》适用。
- 根据投票结果和当前出席会议的人员选择要讨论的主题。
- 在共享文档中记录笔记或寻找志愿者进行记录。
- 当讨论停滞不前或偏离主题时,策略性地介入。
- 在需要时呼吁达成共识。
峰会后
会议结束后,协调人的最后一项任务是通过向 Prometheus 团队邮件列表发送电子邮件,寻找下一次峰会的协调人。
指导计划(Mentorship)
Prometheus 项目不定期参与各种周期性的指导计划。
请参阅以上链接获取未来的项目日期、申请详细信息和具体项目。
注意为了让 Prometheus 能够参与指导周期,潜在的导师(包括至少一名 Prometheus 维护者)必须向某个项目周期提出一个“项目”,例如 此 PR 中的操作 。导师的时间有限,因此我们不得不跳过一些周期和项目。以下是一些可以帮助我们更频繁参与的方法:
- 如果您想帮助我们进行指导,请随时通过
#prometheus-devSlack 频道 或 电子邮件 与团队联系。- 如果您想提议将某个开源 Prometheus 生态系统倡议转换为指导项目,请随时在相关工作产物(例如 GitHub issue)上发表评论。
面向受指导者(Mentees)
您已被选中参加 LFX 或 GSoC 的 Prometheus 指导计划?恭喜!以下是一些快速上手的建议!
入职清单
- 请查看并认可我们的 《行为准则》。TL;DR:保持友善,以你希望被对待的方式对待他人。
- 在 CNCF Slack 上创建一个帐户。请添加一张头像,使其更具辨识度。您可以在那里联系任何导师。
- 将您的 Slack 用户名发送给导师,以便我们将您加入私人频道。我们通常会有一个只包含您和主要导师的私人频道,以及第二个包含所有受指导者、已结业受指导者和导师的频道 (
#thanos-prometheus-mentees)。 - 加入主要的 Prometheus Slack 频道
#prometheus和#prometheus-dev,以便与社区进行后续互动。 - 在
#prometheus-devSlack 频道 上做个简短的自我介绍,打个招呼!💜 - 欢迎加入我们的 社交媒体,开始关注他人并吸引属于您自己的关注者!谁知道呢,也许你会着迷?(: 欢迎发布任何与 Prometheus 相关的原创内容,并提及
@prometheus.io。 - 要求导师安排每周一次的 2:1 会议(强烈建议)。
- 阅读我们的 通用贡献准则,以及 Prometheus 仓库 中的具体准则。
- 仔细阅读您的主要 GitHub Issue 并开始构思,但不要感到压力!从较小的任务开始,循序渐进更好。🚀
提示与建议
您可以遵循以下建议,以最大程度地利用您与我们共度的时光!
- 在 PR 上受阻、正在寻找审阅者,或者有关于 CI 失败的快速疑问?请优先使用
公共交流渠道 (#prometheus和#prometheus-dev) 而不是私信。Prometheus 拥有一个庞大的社区,可以快速为您解决任何问题。其他受指导者可能也遇到过类似的问题! - 和同事们打个招呼。我们甚至为此创建了一个专门的频道,以便您可以组队并一起构建更大的东西:建立关系、或许未来的联合项目,或者只是互相帮助!以 2020 年夏季为例。之前的 Thanos 受指导者开始了 周五有趣的聚会 ,效果非常棒!想发起类似的事情吗?询问以前的受指导者获取经验。🤗
- 跳出框架思考。您是否觉得项目开发、功能或社区中有非常令人痛苦的地方?请帮助我们改进并提出建议!
- 参与项目生命周期。我们活跃于许多会议,例如 KubeCon、PromCon、FOSDEM、GoDays 等。我们参与 CNCF SIGs、许多辅助倡议、撰写博客文章和制作视频。请帮助我们!欢迎您提升社交媒体知名度、开始写博客,甚至在会议上发言。对于您热衷的任何事项,随时可以向导师寻求指导!我们非常乐意提供帮助。
- 在实习期间,我们欢迎甚至鼓励您为任何想参与的内容做出贡献。等待 PR 审查需要一些时间(毕竟是开源项目!),所以同时驱动 2 或 3 件事并不罕见。您不必将贡献限制在 Prometheus 项目本身。为我们依赖或有关系的其它项目做出贡献也是完全可以的。同样,我们也鼓励 Prometheus 受指导者为 Prometheus 生态系统项目(如 其他 Prometheus 仓库 ,甚至 Cortex 和 Thanos)做出贡献。这是因为我们是更大的 Prometheus 生态家族的一部分。
- 尝试保持独立并为您想要交付的功能负责。您越早开始主导任务,对您越好!刚开始很难,但尝试从用户体验的角度思考。用户在使用时是否容易犯错?迁移到此功能有多困难?我们有什么可以做来减少数据丢失错误的吗?
- 尝试通过 审阅 其他贡献者、受指导者或导师的 Pull Request 来帮助他人!听起来很吓人,但这实际上是了解编码实践、模式以及如何维护高质量代码库的最佳方式!
- 尝试使用 迭代式开发过程 。从小的简单假设开始,一旦准备好工作示例,就不断改进并与导师讨论。小改动容易审查且容易被接受 😄。
- 尝试制定一个 概念验证 (PoC) ,将其作为基准并加以改进。这些是现实世界的项目,因此不可能每次都有确定性的解决方案,而概念验证是确定可行性的快速方法。
- 表现得像项目的维护者一样行事。理想情况下,成为一个 你希望在贡献项目中遇到的优秀维护者 。虽然听起来很吓人,但这是建立信任、承担更多责任并带来巨大价值(例如,审查他人的工作并帮助他们解除阻塞通常比自己编写代码更重要!)的最佳方式。
- 玩得开心,探索并享受学习的过程(即使是犯错)!
指导计划结束时,并不是终点!欢迎您继续贡献、编码并帮助他人。谁知道呢,也许有一天你会充满热情并成为一名维护者!
面向导师(Mentors)
本节概述了对导师的指导建议。
回顾(Retrospective)
在指导计划的中期和最后一次会议上,最好与受指导者坐下来,为导师和受指导者双方收集可付诸行动的经验教训。由于我们之间的差异以及不同的任务和环境,导师和受指导者的体验总是不同的。无论我们是否达到了最初的目标,我们都希望审视自己的经验。如果目标未实现,那么在诚实且不指责的氛围中讨论这一点尤为重要。如果经验大多是积极的,我们也希望了解什么是有效的,从而加强最佳实践。
回顾流程示例如下:
- 会议前一周,提醒受指导者注意计划的回顾以及回顾的形式(例如链接本指南)。这让每个人都有时间思考一周中有效或无效的事情。
- 会议期间,首先进行回顾。这是会议中最重要的部分,不要让其他事情(例如项目状态)妨碍它。
- 在工作文档中写下两个部分:
我们做得好的地方,我们可以做得更好的地方。 - 给每个人 5-7 分钟的时间(现场)在这两个部分中写下条目。要具体、不指责且诚实。这不是为了冒犯任何人,而是为了寻找导师和受指导者工作中的改进空间。对自己要保持批判性,但也要试图平衡优点和待改进部分。总有一些事情我们可以做得更好(或更糟糕!)。
- 当每个人都完成后,创建一个新部分:
经验教训。 - 浏览列表中的所有元素。讨论细节。尝试寻找减轻问题的想法或应继续执行的操作。将这些内容写入“经验教训”部分。
- 最后,在邮件列表中与团队分享这些经验教训。
- 考虑将所有经验总结成某种形式的 公开内容。
- 在工作文档中写下两个部分:
公众演讲或写作
为了让受指导者分享所学知识并提高公众演讲技能,在指导周期结束时,导师可以鼓励受指导者在相关论坛上创建某种形式的公开内容。过去我们做过的一些想法:
- 鼓励受指导者在下一次相关的会议或聚会(例如 PromCon、KubeCon、本地聚会等)上发言(甚至与他们共同发言!)。
- 查看 Arthur 和 M Viswanath Sai 和 S Ashwin 在 PromCon 会议上的演讲。
- 鼓励受指导者在 Prometheus 博客 或他们个人的博客上撰写博文!
- 如果我们有足够的内容,虚拟的“受指导者聚会”也是一个选择。
行为准则
为了让 Prometheus 成为每个人都受欢迎且免受骚扰的社区,我们遵循 CNCF 行为准则 。
法律保护伞
Prometheus 是一个独立的开源项目,不受任何单一公司的控制。为了强调这一点,我们在 2016 年加入了 云原生计算基金会 (CNCF) ,成为继 Kubernetes 之后的第二个项目。
致谢
Prometheus 由 Matt T. Proud 和 Julius Volz 发起。其初始开发的大部分资金由 SoundCloud 赞助。
我们还要感谢 Docker 和 Boxever 的工程师们所做的早期贡献。
Prometheus 的标志由 Robin Greenwood 贡献。