社区
项目治理
Prometheus 项目遵循 Prometheus 治理。
社区联系方式
Prometheus 是在开放环境中开发的。以下是我们用于沟通和贡献的一些渠道
Slack 频道
CNCF Slack 上的 #prometheus 频道。
IRC
Libera.chat 上的 #prometheus 频道:irc.libera.chat 。
Matrix
用户邮件列表
- prometheus-announce (镜像 )
- 关于新版本发布的低流量列表。
- prometheus-users (镜像 )
- 用于讨论 Prometheus 的使用和社区支持。通常,公告 **不会** 从 prometheus-announce 镜像。
Discourse 论坛
基于 Web 的讨论论坛,位于 discuss.prometheus.io ,由 Discourse 提供支持。
公开活动日历
我们有一个公开的活动日历,您可以借此加入我们。
如果您只想概览,只需使用我们 浏览器时区中的网页视图 。
如果您使用 Google 产品,有一个 自动链接,可将其添加到您自己的 Google 日历中 。
如果您使用的是其他日历,有一个 .ics 文件,可添加到非 Google 日历中 。
社交媒体
- Bluesky 上的 @prometheus.io (Bluesky )。
- Mastodon (chaos.social) 上的 @Prometheus (Mastodon (chaos.social) )。
GitHub
要报告错误和功能请求,请使用相关 Prometheus 仓库 的 GitHub issue 跟踪器。关于问题和讨论,许多仓库都提供了 GitHub discussions。通常,此处列出的其他社区渠道最适合获取支持或讨论总体话题。
请不要向项目成员个人寻求支持。请使用上述渠道,以便整个社区都能帮助您并从提供的解决方案中受益。如果社区支持不足以解决您的情况,请参考 支持与培训 页面。
贡献
我们欢迎社区贡献!请参阅相关 Prometheus 仓库中的 CONTRIBUTING.md 文件,了解如何提交更改的说明。如果您计划进行更详细或可能有争议的更改,请在发送 pull request 之前,在开发者的 IRC 频道或邮件列表中进行讨论。
我们每月举办一次关于 Prometheus 开发和贡献的公开会议。旨在让开发人员和维护者会面并解决阻碍,进行配对审查,并讨论 Prometheus 和相关官方项目(例如 node_exporter、alertmanager)的开发方面。下面链接的文档包含所有详细信息,包括如何注册。
Slack 频道
CNCF Slack 上的 #prometheus-dev 频道。
IRC
Libera.chat 上的 #prometheus-dev 频道:irc.libera.chat 。
Matrix
开发邮件列表
- 用于讨论 Prometheus 的开发。
办公时间
- 关于 Prometheus 开发和贡献的公开每周会议。
开发者峰会
开发者峰会是讨论更深入开发主题的公开会议。它们目前每月以在线会议的形式举行。(有关详细信息,请查看社区部分上方链接的公开活动日历。)Prometheus 团队根据其他渠道最近的讨论情况来策划议程。要提议一个主题,请至少在峰会开始前 24 小时发送邮件至 开发邮件列表 。
截至 2024 年,我们维护着一个公开的 滚动会议记录文档 。您可以在下方找到我们过去的会议记录。
- 2017 年开发者峰会记录
- 2018 年开发者峰会记录
- 2019 年开发者峰会记录
- 2019 年开发者峰会 2 记录
- 2020 年虚拟开发者峰会 1 记录
- 2020 年虚拟开发者峰会 2 记录
- 2020 年虚拟开发者峰会 3 记录
- 2020 年虚拟开发者峰会 4 记录
- 2020 年虚拟开发者峰会 5 记录
- 2021 年虚拟开发者峰会 1 记录
- 2021-2024 年开发者峰会滚动记录
开发者峰会协调员
协调员角色是为了帮助 Prometheus 团队有效地运行开发者峰会而设立的。这是一个轮换角色(每次会议更换),其职责分布在峰会的不同阶段。
峰会前
在峰会之前,协调员的主要目标是帮助 Prometheus 团队确定议程和要讨论的主题,同时确保那些得票最多的主题的利益相关者能够参加峰会。我们建议以下任务:
- 会议开始前两到三天,在我们的公开社区频道发送提醒,邀请人们添加议程主题,并邀请 Prometheus 团队成员和维护者对他们想讨论的主题进行投票。
- 会议前一天,联系那些获得最多票数的“主题负责人”,以确保他们能够参加峰会。
峰会期间
在峰会期间,协调员将确保会议顺利进行,并在需要时达成共识。我们建议以下任务:
- 准时开始会议。使用
@prometheus.io账户进行管理员会议权限设置。 - 开始录制并提及适用行为准则。
- 根据投票结果和当前在会议中的人员选择要讨论的主题。
- 在共享文档中做笔记或寻找志愿者代为记录。
- 当讨论停滞不前或偏离主题时,进行策略性介入。
- 在需要时呼吁达成共识。
峰会后
会议结束后,协调员的最后一项任务是通过发送电子邮件给 Prometheus 团队邮件列表来为下一次峰会寻找新的协调员。
指导
Prometheus 项目偶尔会参与各种定期的指导计划。
请参阅以上链接,了解未来的项目日期、申请详情和项目。
注意为了让 Prometheus 参与指导周期,潜在的导师(包括至少一名 Prometheus 维护者)必须向项目周期提交一个“项目”,例如,如在此 PR 中 。导师的时间有限,所以我们有时会跳过一些周期和项目。有几种方法可以帮助我们更频繁地参与:
- 如果您想帮助我们指导,请随时通过
#prometheus-devSlack 频道 或 电子邮件 联系团队。- 如果您想建议将某个开源 Prometheus 生态系统倡议转换为指导项目,请随时在相关工作产物(例如 GitHub issue)上发表评论。
给学员
您已被选为 LFX 或 GSoc 下的 Prometheus 指导学员?恭喜!这里有一些快速入门信息!
入职清单
- 请查看并确认我们的 行为准则。简而言之:请友善待人,像对待自己一样对待他人。
- 请在 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 拥有一个庞大的社区,可以快速帮助您解决任何问题。还有一些受训者可能已经遇到过类似的问题! - 向 fellow 受训者和前受训者打个招呼。我们甚至为此创建了一个专用频道,以便您可以组队并共同构建更宏伟的事业:建立关系,也许共同开展未来的项目,或者仅仅是互相帮助!可以参考 2020 年夏季的例子。之前的 Thanos 受训者发起了 周五趣味聚会 ,效果非常棒!想开始类似的事情吗?向以前的受训者询问他们的经验。🤗
- 跳出固有思维。您是否觉得项目开发、功能或社区方面有什么令人痛苦之处?帮助我们改进事物并提出改进建议!
- 参与项目生命周期。我们活跃在许多会议上,例如 KubeCon、PromCon、FOSDEM、GoDays。我们参与 CNCF SIG、许多附属项目、博客文章和视频。请帮助我们!欢迎您提高您的社交媒体影响力,开始写博客,甚至在会议上发表演讲。随时向您的导师寻求您热衷的任何方面的指导!我们很乐意提供帮助。
- 在您的实习期间,您随时可以(甚至鼓励您)为任何您想做的事情做出贡献。等待 PR 被审查可能需要一些时间(毕竟这是开源的!),因此同时处理 2 到 3 个项目是很常见的。您也不必将贡献仅限于 Prometheus 项目。为我们依赖或与之有关联的其他项目做出贡献是完全可以的。对于 Prometheus 的受训者来说,为 Prometheus 生态系统项目(如 其他 Prometheus 仓库 )或 Cortex 和 Thanos 做出贡献也是受鼓励的。这是因为我们是一个更大的 **Prometheus 生态系统大家庭** 的一部分。
- 尝试独立负责您想要交付的功能。您越早开始领导您的任务,对您就越好!一开始会很困难,但请尝试从用户体验的角度思考。使用它是否容易出错?迁移到此功能有多困难?我们能做些什么来减少数据丢失错误?
- 尝试通过**审查**其他贡献者、受训者或导师的拉取请求来帮助他人!这听起来可能令人望而生畏,但这实际上是了解编码实践、模式以及如何维护高质量代码库的最佳方式!
- 尝试使用 迭代开发过程 。从简单的小假设开始,一旦您有了一个可行的示例,就继续改进并与导师讨论。小的更改易于审查和接受😄。
- 尝试制作一个 概念验证 ,它可以作为基础并加以改进。这些都是真实的项目,所以不可能每次都有一个确定的解决方案,而概念验证是确定可行性的一种快速方法。
- 举止和行为要像您是项目的维护者一样。理想情况下,要成为您希望为您贡献的项目拥有的优秀维护者 。虽然这听起来令人望而生畏,但这是建立信任、承担更多责任并带来巨大价值的最佳方式(例如,审查他人的工作和解除他们的障碍通常比您自己编写代码更重要!)。
- 玩得开心,探索和享受学习(即使是错误!)!
在指导期结束时,并不是真正的结束!欢迎您继续贡献、编码并帮助他人。谁知道呢,也许您会足够热情,有一天会成为一名维护者!
致导师
本节概述了导师的指导建议。
回顾
在指导的中期和最后一次会议上,最好与受训者坐下来,收集导师和受训者的“可操作学习”。由于我们之间的差异,以及不同的任务和情况,导师和受训者的经验总是不同的。我们总是想检查我们的经验,无论我们是否达到了最初的目标。如果目标没有达到,那么在诚实和无责备的氛围中讨论这一点就格外重要。如果经验主要是积极的,我们也想知道哪些方面行之有效,以加强最佳实践。
示例回顾过程如下:
- 在会议前一周,提醒受训者有关计划的回顾以及它的样子(例如,链接此指南)。这使得每个人都可以花一周的时间思考哪些方面做得好,哪些方面做得不好。
- 在会议期间,首先进行回顾。这是会议最重要的部分,不要让其他事情(例如项目状态)碍事。
- 在工作文档中创建两个部分:
我们做得好的地方,我们可以做得更好的地方。 - 给每个人 5-7 分钟的时间写下(例如,实时)这两个部分的内容。要具体、无责备和诚实。这并非为了冒犯任何人,而是为了寻找导师和受训者工作的改进之处。对自己要严苛,但也要努力平衡好的部分和需要改进的部分。总有我们可以做得更好的地方(或者做得更糟!)。
- 当所有人都完成后,创建一个新部分:
学习心得。 - 逐一审阅列表中的所有元素。讨论细节。尝试找到缓解问题的方法或继续做下去的事情。将这些内容写在
学习心得部分。 - 最后,通过邮件列表将学习心得分享给团队。
- 考虑将所有学习心得整理成某种形式的 公开内容。
- 在工作文档中创建两个部分:
公开演讲或写作
为了让受训者能够分享他们学到的知识并提高公开演讲技能,在指导周期结束时,导师可以鼓励受训者在相关论坛上创建某种形式的公开内容。我们过去的一些想法:
- 鼓励受训者在下一次相关的会议或聚会(例如 PromCon、KubeCon、本地聚会等)上发表演讲(甚至与您一起共同演讲!)!
- 请看 Arthur 和 M Viswanath Sai 和 S Ashwin 在 PromCon 会议上的指导期后演讲:Arthur 和 M Viswanath Sai and S Ashwin 。
- 鼓励受训者在 Prometheus 博客 或在个人博客上撰写博文!
- 如果我们有足够的内容,还可以举办一个虚拟的“受训者聚会”。
行为准则
为了让 Prometheus 成为一个对每个人都友好且无骚扰的体验,我们遵循 CNCF 行为准则 。
法律保护伞
Prometheus 是一个独立的开源项目,不受任何单一公司的控制。为了强调这一点,我们在 2016 年加入了 云原生计算基金会 ,成为继 Kubernetes 之后的第二个项目。
致谢
Prometheus 由 Matt T. Proud 和 Julius Volz 启动的。其初始开发的大部分由 SoundCloud 赞助。
我们还要感谢来自 Docker 和 Boxever 的工程师们的早期贡献。
Prometheus 的 logo 由 Robin Greenwood 贡献。