Prometheus UI,用于Spring启动应用程序的Grafana设置

时间:2018-04-10 17:56:57

标签: spring spring-boot prometheus spring-boot-actuator micrometer

我正在使用spring boot 2.0并在POM中添加了以下依赖项

     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>io.micrometer</groupId>
        <artifactId>micrometer-registry-prometheus</artifactId>
    </dependency>

我的application.yml看起来像这样

management.endpoints.web.base-path = /manage management.endpoints.web.exposure.include = "*" endpoints.prometheus.enabled = true

当我访问Prometheus时

  

localhost / manage / prometheus

我能够看到所有指标。

接下来,我的目标是在Prometheus UI中查看上述指标。为此,我在我的POM中添加了以下依赖项

   <dependency>  
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_spring_boot</artifactId>
        <version>${prometheus.version}</version>
    </dependency>

    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_hotspot</artifactId>
        <version>${prometheus.version}</version>
    </dependency>

    <dependency>
        <groupId>io.prometheus</groupId>
        <artifactId>simpleclient_servlet</artifactId>
        <version>${prometheus.version}</version>
    </dependency>

我在Prometheus UI中查看指标的后续步骤是什么,最终目标是将Prometheus集成到Grafana。

PS:我在google上搜索并尝试添加prometheus.yml并添加@EnablePrometheusEndpoint等注释没有任何效果,因为所有文章都很旧。

编辑:如果Spring引导jar托管在不同的主机(Azure / AWS)中,并且prometheus服务器位于不同的主机中,如何配置prometheus.yml(metrics_path,targets)。

2 个答案:

答案 0 :(得分:4)

如果您使用的是Spring Boot 2和千分尺,则不需要添加额外的依赖项,而是在添加micrometer-registry-prometheus时导入它们。如果您能够在localhost / manage / prometheus上看到指标,那么您在spring-boot端的配置就可以了。没有必要再配置任何东西了。

要查看您需要的Prometheus中的指标:

  1. 安装Prometheus Server https://prometheus.io/docs/prometheus/latest/installation/
  2. 将Prometheus配置为从服务器中抓取(拉取)指标。为此,您需要通过添加新作业来修改prometheus.yml文件(不要忘记在更改yml文件后重新启动Prometheus)
  3. scrape_configs:
      - job_name: 'mySpringBoot'
        metrics_path: '/manage/prometheus'
        static_configs:
          - targets: ['springBootHost:springBootPort']
    
    1. 配置完成后,转到Prometheus界面,检查目标是否为UP - http://localhost:9090/targets(假设Prometheus在localhost上运行)
    2. 如果您没有看到目标,或者您将其视为DOWN,则会出现配置或网络问题。
    3. 以下步骤很简单,其他地方有很多文档:

      1. 下一步是安装Grafana
      2. 现在将Prometheus配置为Grafana
      3. 中的数据源
      4. 开始绘制指标。

答案 1 :(得分:0)

Spring boot api应用程序在Windows上配置了prometheus和grafana。

  
      
  1. 创建spring boot应用程序并在pom.xml中添加依赖项-
  2.   
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
 <groupId>io.micrometer</groupId>
 <artifactId>micrometer-core</artifactId>
</dependency>
<dependency>
  <groupId>io.micrometer</groupId>
  <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>
  

如果正在运行,请进入浏览器并输入“ http://localhost:8080/actuator/prometheus”,您将获得所有指标。

  1. 下载并安装Prometheus Server https://prometheus.io/download/ 并解压缩zip并运行prometheus exe。

  2. 为此,您将需要通过添加新作业来修改prometheus.yml文件(不要忘记在更改yml文件后重新启动Prometheus)

注意:使用prometheus配置spring应用程序。

scrape_configs:
  - job_name: 'SpringBootApplicationName
    metrics_path: ‘actuator-prometheus'
    static_configs:
      - targets: [‘IPADDRESS:springBootApplicationPort]
  1. 配置完成后,转到Prometheus UI,检查目标是否为UP-http://localhost:9090/targets(假设Prometheus在本地主机上运行)

  2. 转到“ http://localhost:8080/actuator/prometheus”并选择一个指标,然后粘贴-http://localhost:9090/graph,然后单击“执行”。例如,您可以选择一个CPU和HTTP指标,例如-'http_server_request_seconds_max'

以下步骤很简单,其他地方都有很多文档:

  1. 下一步是从-https://grafana.com/grafana/download?platform=windows安装Grafana   并解压缩zip并运行grafana-server.exe并在浏览器上检查“ http://localhost:3000
  2. 现在以默认用户名“ admin”和密码“ admin”登录,然后进行设置以选择仪表板并创建数据源,然后选择普罗米修斯并键入普罗米修斯的网址,例如-普罗米修斯的“ http://ipaddress:pord”。
  3. li>
  4. 转到图形并单击“编辑”,然后选择数据源,然后输入指标查询,例如“ http_server_request_seconds_max” 9.开始绘制指标。