配置GitLab Runner监控
GitLab Runner本地具有Prometheus指标,可以访问嵌入式HTTP服务器,通过/metrics
路径公开。该服务器(如果已启用)可以被Prometheus监视系统抓取,或通过任何其他HTTP客户端进行访问。
公开的信息包括:
- Runner业务逻辑指标(例如,当前正在运行的作业数)
- Go特定的流程指标(垃圾收集统计信息,goroutines,memstats等)
- 常规指标(内存使用情况,CPU使用情况,文件描述符使用情况等)
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查看监听的端口。
# netstat -tulnp|grep 9252
tcp6 0 0 :::9252 :::* LISTEN 26209/gitlab-runner
当9252端口被监听,内容的HTTP服务器就启动了。此时我们可以获取指标数据。
# curl 127.0.0.1:9252/metrics
接下来我们配置Prometheus对数据收集,然后通过Grafana展示。更新Prometheus配置文件。
- job_name: 'gitlab-runner'
metrics_path: '/metrics'
scheme: http
bearer_token: bearer_token
static_configs:
- targets: ['localhost:9252']
最后,我们找一个Grafana模板展示数据。14016或者9631 下载JSON文件,导入。
配置GitLab CI 流水线监控
安装配置:gitlab-ci-pipelines-exporter来实现对GitLabCI流水线状态的展示。
首先我们需要下载chart源码,然后修改values.yaml中的GitLab配置。配置GitLab服务器的地址和Token、需要同步的项目。
# git clone https://github.com/mvisonneau/gitlab-ci-pipelines-exporter.git
# vim chart/values.yaml
# 如下配置部署方式有区别,根据实际情况来修改
##关键配置
## Actual configuration of the exporter
##
config:
# # Full configuration syntax reference available here:
# # https://github.com/mvisonneau/gitlab-ci-pipelines-exporter/blob/master/docs/configuration_syntax.md
gitlab:
url: http://192.168.1.200:30088
# # You can also configure the token using --gitlab-token
# # or the $GCPE_GITLAB_TOKEN environment variable
token: Z-smAyB8pFyttu6D2d_J
# projects:
# - name: foo/project
# - name: bar/project
wildcards:
- owner:
name: cidevops
kind: group
helm install gitlabci-pipline-exporter --namespace gitlab-runner ./chart
配置Prometheus:修改配置文件添加目标。
- job_name: 'gitlab-runner-ci-pipeline'
metrics_path: '/metrics'
scheme: http
bearer_token: bearer_token
static_configs:
- targets: ['localhost:8092'] # 具体端口号根据实际情况来定
添加Grafana面板,10620。下载JSON文件然后导入。