使用Prometheus对GitLab Runner监控


配置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文件然后导入。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM