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