使用Prometheus对GitLab Runner监控
1.1 配置GitLab Runner监控
1.2 配置GitLabCI 流水线监控
本文主要阐述如何配置GitLabRunner和GitLabCI/CD流水线的数据采集与监控。
1.1 配置GitLab Runner监控
GitLab Runner本地具有Prometheus指标,可以访问嵌入式HTTP服务器,通过/metrics
路径公开。该服务器(如果已启用)可以被Prometheus监视系统抓取,或通过任何其他HTTP客户端进行访问。
公开的信息包括:
Runner业务逻辑指标(例如,当前正在运行的作业数)
Go特定的流程指标(垃圾收集统计信息,goroutines,memstats等)
常规指标(内存使用情况,CPU使用情况,文件描述符使用情况等)
这些指标是运维人员监视和了解GitLab Runners的一种方式。例如,您可能会对Runner主机上的平均负载和作业数量感兴趣。
Runner默认是没有开启内置的HTTP服务,可以通过两种方式配置指标HTTP服务器:
在
config.toml
文件中配置全局选项listen_address
。在Runner启动的时候添加
--listen-address
命令选项。
在这里我直接修改的config.toml
文件,内容参考如下:
$ cat config.toml
listen_address = "[::]:9252"
concurrent = 10
check_interval = 30
log_level = "info"
修改Runner配置后需要重启, 随后通过netstat
查看监听的端口。
bash-5.0$ netstat -anlpt | grep 9252
tcp 0 0 :::9252 :::* LISTEN 1/gitlab-runner
tcp 0 0 ::ffff:10.244.0.102:9252 ::ffff:10.244.0.1:35880 ESTABLISHED 1/gitlab-runner
tcp 0 0 ::ffff:10.244.0.102:9252 ::ffff:10.244.0.107:36184 ESTABLISHED 1/gitlab-runner
tcp 0 0 ::ffff:10.244.0.102:9252 ::ffff:10.244.0.103:57404 ESTABLISHED 1/gitlab-runner
当9252
端口被监听,内容的HTTP服务器就启动了。此时我们可以获取指标数据。