【问题标题】:Working with jenkins prometheus plugin使用詹金斯普罗米修斯插件
【发布时间】:2018-01-29 14:18:39
【问题描述】:

我在https://jenkins.example.com 中有 Jenkins。 插件在 2 环境中工作。变量:

PROMETHEUS_ENDPOINT Configures rest endpoint. Defaults to "prometheus" PROMETHEUS_NAMESPACE Configure prometheus metric namespace. Defaults to "default"

我需要将指标发送到https://jenkins.example.com/metrics

PROMETHEUS_ENDPOINTPROMETHEUS_NAMESPACE 的值是什么?

Plugin documentation

【问题讨论】:

  • 我阅读了文档,但是当我替换环境变量的值时,我在这些端点上收到错误 404...我是初级,对此我的理解很少。你能帮我描述一下它是如何工作的吗?

标签: java jenkins monitoring metrics prometheus


【解决方案1】:

很快:您实际上不需要编辑这些值。如果你愿意,你可以配置它们:

Jenkins -> 管理 Jenkins -> 配置系统 -> Promethues(部分)

简而言之 PROMETHEUS_ENDPOINT 使用 GET Http 请求以获取 jenkins 指标的索引页面 - https://<your-jenkins-path>/prometheus

使用 jenkins prometheus 插件的有用/黄金提示:

  1. 将参数 Enable authentication for prometheus end-point 设置为 true,您将能够获取有关在您的 jenkins 端点上运行的内部进程和作业的信息

  2. 在jenkins上创建用户账号,专门用于prometheus监控,创建一个token进行身份验证。

  3. 为该用户设置查看jenkins指标的屏幕权限权限:

启用指标权限:

管理 jenkins -> 管理和分配角色 -> 管理角色 -> 指标 (将视图和健康检查设置为 true)。

对于将此权限分配给特定用户:(您的 prometheus 用户)-

管理 jenkins -> 管理和分配角色 -> 分配角色 -> 查找 您的用户并添加屏幕权限。

  1. 在 prometheus 堆栈中的 prometheus.yml 上配置此凭据。我附上了这个例子,这个模式适合我
- job_name: 'jenkins'
metrics_path: /prometheus
scheme: http
tls_config:
  insecure_skip_verify: true
static_configs:
  - targets: ['company.jenkins.com:8080']
basic_auth:
  username: 'JohnDoe@gmail.com'
  password: 'abc123'
  1. 为了测试这是实际作品,使用 curl 执行 http 请求插件 api 和 jenkins 集成。 curl -u user:token jenkinsURL:port/prometheus/

例如:

curl -u JohnDoe@gmail.com:abc123 company.jenkins.com:8080/prometheus/
  1. 测试您与 prometheus 的集成,请转到您的 http://yourPrometheusURL.com:9090/targets 并确保您的端点已启动。您应该获取指标并开始使用它。祝你好运。

【讨论】:

    【解决方案2】:

    PROMETHEUS_ENDPOINT - 配置路径。默认为 prometheus,因此您的指标可以通过 URI /prometheus/ 访问。

    您想要的是将PROMETHEUS_ENDPOINT 配置为metrics。您仍然需要将变量 metrics_path 添加到 prometheux.xml 并将其设置为 /metrics/

    PROMETHEUS_NAMESPACE - 为每个指标添加前缀。

    【讨论】:

      【解决方案3】:

      http://jenkins.example.com/metrics 更改 http://jenkins.example.com/prometheus

      通过使用 prometheus.yml

      更改 prometheus.yml 文件

      job_name:詹金斯 scrape_interval: 5s metrics_path: '/prometheus' 方案:http。 tls_config:
      不安全跳过验证:真 静态配置: - 目标:['jenkins.example.com:8080']

      【讨论】:

        【解决方案4】:

        对我来说,它在 prometheus.xml 文件中起作用

        • job_name: '詹金斯'

          metrics_path: '/jenkins/prometheus'

          方案:http

          静态配置:

          • 目标:['域名:端口']

          基本身份验证:

          用户名:'xxxxxx'

          密码:'xxxxxxxxxxxxxxxxxxxx'

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-22
          • 2017-09-03
          • 1970-01-01
          • 2022-10-17
          • 2022-12-02
          • 2022-12-17
          • 2020-01-10
          • 2020-11-12
          相关资源
          最近更新 更多