zoukankan      html  css  js  c++  java
  • 使用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文件然后导入。

  • 相关阅读:
    xCode中怎样保存自己的代码块
    2015-03-13---抽象工厂(附代码),
    java nio 缓冲区(一)
    MFC获取各个窗体(体)之间的指针(对象)
    自己动手写神经网络,自己真的能够动手写神经网络嘛?
    Android招財进宝手势password的实现
    QQ三方登录
    UVA 10561
    Vagi单点登录1.0
    《反脆弱》:软件业现成的鲁棒性(Robust)换了个说法变成了作者的发明,按作者的理论推导出许多可笑愚蠢的原则来
  • 原文地址:https://www.cnblogs.com/sanduzxcvbnm/p/15573168.html
Copyright © 2011-2022 走看看