• gitlab有哪些metrics


    默认有哪些指标收集job

    prometheus.yml文件中定义了默认的job。配置文件在prometheus数据目录下 ,gitlab.rb配置文件中有定义位置:

    prometheus['home'] = ''

    默认job;访问方式:

    • gitaly;访问方式:ip:9236/metrics
    • gitlab sidekiq;访问方式:ip:8082/metrics
    • gitlab workhorse;访问方式:ip:9229/metrics
    • gitlab rails(puma);访问方式:127.0.0.1:8080/-/metrics,ip:(80/443)/-/metrics
    • gitlab_exporter;访问方式:ip:9168/metrics
    • nginx;访问方式:ip:8060/metrics
    • prometheus;访问方式:ip:9090/metrics
    • node_exporter;访问方式:ip:9100/metrics
    • redis_exporter;访问方式:ip:9121/metrics
    • postgres_exporter;访问方式:ip:9187/metrics
    • kubernetes相关

    gitlab.rb配置文件修改监听

    gitlab配置文件,prometheus、所有的监控exporter都是监听在127.0.0.1的无法直接访问到。如果需要迁移到外部prometheus,可以通过修改配置文件,将指标采集器监听到0.0.0.0上。

    1. #gitlay,/metrcis访问监控指标
    2. gitaly['prometheus_listen_addr'] = "0.0.0.0:9236"
    3. #sidekiq_exporter,/metrics访问监控指标
    4. sidekiq['listen_address'] = '0.0.0.0'
    5. sidekiq['listen_port'] = 8082
    6. #gitlab workhorse,/metrics访问监控指标
    7. gitlab_workhorse['prometheus_listen_addr'] = "0.0.0.0:9229"
    8. #puma(gitlab_rails),/metrcis访问监控指标
    9. puma['listen'] = '0.0.0.0'
    10. puma['port'] = 8080
    11. #nginx,监控8060端口/metrcis
    12. #默认在/var/opt/gitlab/nginx/conf/nginx-status.conf配置文件中配置监听
    13. #prometheus服务,/metrics访问监控指标
    14. prometheus['listen_address'] = '0.0.0.0:9090'
    15. #node_exporter(_database/sidekiq/ruby)
    16. node_exporter['listen_address'] = '0.0.0.0:9100'
    17. #gitlab_exporter
    18. gitlab_exporter['listen_address'] = '0.0.0.0'
    19. gitlab_exporter['listen_port'] = '9168'
    20. #redis_exporter
    21. redis_exporter['listen_address'] = '0.0.0.0:9121'
    22. #postgres_exporter
    23. postgres_exporter['listen_address'] = '0.0.0.0:9187'
    24. #可以使用true/false控制是否需要获取k8s监控指标
    25. prometheus['monitor_kubernetes'] = false

    外部获取指标的权限配置

    gitlab内嵌prometheus不需要配置下述权限。内嵌prometheus通过8080端口/-/metrcis获取rails指标;通过127.0.0.1:8060/metrics获取nginx指标。

    prometheus服务器白名单配置(不配置不能通过80/443端口/-/metrics获取Rails指标)

    gitlab_rails['monitoring_whitelist'] = ['127.0.0.0/8', '192.168.0.1']

    nginx指标权限(不配置不能通过8060端口/metrics获取nginx指标)

    1. nginx['status']['options'] = {
    2. "server_tokens" => "off",
    3. "access_log" => "off",
    4. "allow" => "192.168.0.1",
    5. "deny" => "all",
    6. }

    使用外部prometheus的job配置示例

    1. scrape_configs:
    2. - job_name: nginx
    3. static_configs:
    4. - targets:
    5. - 1.1.1.1:8060
    6. - job_name: redis
    7. static_configs:
    8. - targets:
    9. - 1.1.1.1:9121
    10. - job_name: postgres
    11. static_configs:
    12. - targets:
    13. - 1.1.1.1:9187
    14. - job_name: node
    15. static_configs:
    16. - targets:
    17. - 1.1.1.1:9100
    18. - job_name: gitlab-workhorse
    19. static_configs:
    20. - targets:
    21. - 1.1.1.1:9229
    22. - job_name: gitlab-rails
    23. metrics_path: "/-/metrics"
    24. scheme: https
    25. static_configs:
    26. - targets:
    27. - 1.1.1.1
    28. - job_name: gitlab-sidekiq
    29. static_configs:
    30. - targets:
    31. - 1.1.1.1:8082
    32. - job_name: gitlab_exporter_database
    33. metrics_path: "/database"
    34. static_configs:
    35. - targets:
    36. - 1.1.1.1:9168
    37. - job_name: gitlab_exporter_sidekiq
    38. metrics_path: "/sidekiq"
    39. static_configs:
    40. - targets:
    41. - 1.1.1.1:9168
    42. - job_name: gitlab_exporter_process
    43. metrics_path: "/process"
    44. static_configs:
    45. - targets:
    46. - 1.1.1.1:9168
    47. - job_name: gitaly
    48. static_configs:
    49. - targets:
    50. - 1.1.1.1:9236

    gitlab-rails job,在示例中默认是可以使用https协议获取指标。如果不支持https协议,则将scheme: https改为scheme: http,则会通过80端口获取metrics。

    参考文档

    Monitoring GitLab with Prometheus | GitLabDocumentation for GitLab Community Edition, GitLab Enterprise Edition, Omnibus GitLab, and GitLab Runner.https://docs.gitlab.com/15.3/ee/administration/monitoring/prometheus/index.html#gitlab-metrics

  • 相关阅读:
    python基于PHP+MySQL的综合排课系统
    简单个人静态HTML网页设计作品 基于HTML+CSS+JavaScript仿小米手机网站 html静态在线购物商城网页制作
    【动态规划】647. 回文子串、516. 最长回文子序列
    [Handbook] 一行shell命令进入VENV环境并执行Python源文件
    YOLOX-PAI: An Improved YOLOX, Stronger and Faster than YOLOv6
    Docker容器网络配置
    Spring Boot项目学习之通用权限管理项目02
    剑指offer专项突击版第36天
    分享一款spring渗透测试工具-支持springboot敏感路径扫描和spring漏洞扫描
    redis优化与一些问题
  • 原文地址:https://blog.csdn.net/qq522044637/article/details/127647248