首页 理论教育 使用Docker和Prometheus监控GitHub库

使用Docker和Prometheus监控GitHub库

时间:2023-11-06 理论教育 版权反馈
【摘要】:Monitor Your GitHub Repos with Docker and PrometheusBy Brian ChristnerGitHub到处都是很好的代码、信息和有趣的统计数据。当然,绘制这些数据的最佳方法是使用Docker和Prometheus。它们还可以与Prometheus和Grafana集成,生成一些漂亮的图形。A.1Docker、Prometheus和Grafana Docker,Prometheus,and Grafana对于任何监控,基本配置都是Docker、Prometheus和Grafana栈。这会使我们避免达到GitHub对未经身份验证的流量所规定的API限制。Docker Compose自动并神奇地创建了整个Grafana和Prometheus栈。A.4后续配置 Post configuration现在需要创建Prometheus数据源,将Grafana和Prometheus连接起来。GitHub Exporter是Prometheus众多令人惊叹的Exporter之一。

使用Docker和Prometheus监控GitHub库

Monitor Your GitHub Repos with Docker and Prometheus

By Brian Christner

GitHub到处都是很好的代码、信息和有趣的统计数据。GitHub存储库有很多统计数据,这些统计数据是使用Grafana绘制图形的完美选项。当然,绘制这些数据的最佳方法是使用Docker和Prometheus。

Prometheus有一份令人印象深刻的Exporter名单(https://prometheus.io/docs/ instrumenting/exporters/)。这些Exporter涉及从API到IoT。它们还可以与Prometheus和Grafana集成,生成一些漂亮的图形。

A.1 Docker、Prometheus和Grafana Docker,Prometheus,and Grafana

对于任何监控,基本配置都是Docker、Prometheus和Grafana栈。这是我工作的基础,并添加了像Exporter这样的组件。我已经创建了GitHub-Monitoring库(https://github.com/vegasbrianc/github-monitoring)。它包含一个Docker compose文件,简化了这个栈并易于启动。

A.2 入门 Getting Started

前提条件是确保你有一个运行最新版本Docker engine和compose的Docker主机。接下来,在你的Docker机器上克隆GitHub-Monitoring项目(https://github.com/ vegasbrianc/github-monitoring)。

可以根据你的需求开始配置项目。如果你需要跟踪更多的Exporter或target,请编辑Prometheus Targets(https://github.com/vegasbrianc/github-monitoring/blob/ master/prometheus/prometheus.yml)。它们位于文件末尾的静态配置部分。Exporter使用名字metrics和端口9171:

A.3 配置 Configuration

创建用于此项目的GitHub令牌。这会使我们避免达到GitHub对未经身份验证的流量所规定的API限制。

移步到Create GitHub Token页面(https://github.com/settings/tokens)。在这里将为该项目创建一个令牌。

请执行以下步骤。

● 提供令牌的说明。

● 选择作用域(我们的项目只需要repo权限)。

● 单击“generate token”按钮

● 复制令牌ID,并将其保存在安全的地方。这相当于一个密码,因此不要把它放在公开的地方。

使用你最喜欢的编辑器编辑docker-compose.yml文件(https://github.com/ vegasbrianc/github-monitoring/blob/master/docker-compose.yml)。滚动到文件的末尾,你将在其中找到metrics service部分。

首先,使用前面生成的令牌替换GITHUB_TOKEN=<GitHub API Token see README>。接下来,使用你想要跟踪的存储库替换REPOS。在我的例子中,我选择了Docker和freeCodeCamp的存储库,因为它们提供了大量的活动和统计数据。(www.xing528.com)

配置如下:

一旦配置完成,就可以启动它。在github-monitoring项目目录运行下面的命令:

就是这样。Docker Compose自动并神奇地创建了整个Grafana和Prometheus栈。Compose文件还将新的GitHub Exporter连接到基础栈。开始的时候我们会选择在没有-d参数的情况下运行docker-compose。这让故障排除变得更容易,因为日志条目直接打印到终端。

现在可以通过http://<Host IP Address>3000访问Grafana看板(例如:http://localhost:3000)。

请使用admin作为用户名,使用foobar作为密码(它是在config.monitoring文件中定义的,其中设置了一些环境变量)。

A.4 后续配置 Post configuration

现在需要创建Prometheus数据源,将Grafana和Prometheus连接起来。

● 单击左上角的Grafana菜单(看起来像一个火球)。

● 单击“Data Source”按钮。

● 单击“Add Data Source”绿色按钮。

添加Grafana数据源,如图A-1所示。

图A-1 添加Grafana数据源

A.5 安装dashboard Install dashboard

我创建了一个Dashboard模板,可以在GitHub Stats Dashboard上找到(https:// grafana.net/dashboards/1559)。下载dashboard并从Grafana菜单中选择Dashboard→Import。

这个看板是帮助你开始绘制GitHub Repos图形的起点。如果你想在看板上看到任何修改,请告诉我,这样也可以更新Grafana站点,如图A-2所示。

图A-2 GitHub Grafana看板

A.6 结论 Conclusion

Prometheus与Docker相结合,是监视不同数据源的一种强大而简单的方法。GitHub Exporter是Prometheus众多令人惊叹的Exporter之一。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈