当前位置:   article > 正文

Prometheus+Grafana 可视化监控JVM&Tomcat&Widnows服务器_prometheus+grafana+java sdk

prometheus+grafana+java sdk

说明:

Prometheus

是一个服务监控系统。它可以在给定的时间间隔从配置的目标收集监控指标,并在观察到指定条件时触发警报;

Grafana:

一个将监控的各项指标可视化的工具,其中有很多dashbord,即仪表盘,用来展示监控的各项指标数据;

下载地址:

Prometheus:https://prometheus.io/download/

Grafana:https://grafana.com/grafana/download

主要实现:(均已测试)

1:SpringBoot集成Prometheus,监控Java项目运行;

2:Prometheus监控Tomcat;

3:Prometheus监控Windows服务器(开发环境监控Windows10;生成环境监控Windows Server 

      2008均已测试);

一:

SpringBoot集成Prometheus监控Java项目:

准备工作:

自行下载Prometheus及Grafana;

步骤:

1:下载好的Prometheus及Grafana;

2:SpringBoot项目集成监控

依赖:

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.4.0</version>
  5. </parent>
  6. <dependencies>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-web</artifactId>
  10. </dependency>
  11. <!--监控报警-->
  12. <dependency>
  13. <groupId>org.springframework.boot</groupId>
  14. <artifactId>spring-boot-starter-actuator</artifactId>
  15. </dependency>
  16. <dependency>
  17. <groupId>io.micrometer</groupId>
  18. <artifactId>micrometer-registry-prometheus</artifactId>
  19. </dependency>
  20. </dependencies>

application.yml配置:

  1. server:
  2. port: 80
  3. # JVM监控
  4. management:
  5. endpoints:
  6. web:
  7. exposure:
  8. include: '*'
  9. base-path: /actuator # 默认actuator
  10. metrics:
  11. tags:
  12. application: App # 启动类名称

配置文件:

  1. import io.micrometer.core.instrument.MeterRegistry;
  2. import org.springframework.boot.actuate.autoconfigure.metrics.MeterRegistryCustomizer;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. @Configuration
  6. public class MicrometerConfiguration {
  7. @Bean
  8. MeterRegistryCustomizer meterRegistryCustomizer(MeterRegistry meterRegistry) {
  9. return meterRegistry1 -> {
  10. meterRegistry.config() // 注册
  11. .commonTags("application", "App"); // App:为启动类名称
  12. };
  13. }
  14. }

3:修改Prometheus中的prometheus.yml文件,指定监控对象:

  1. # 此处只贴了配置部分,该配置文件其它部分不需要动
  2. scrape_configs:
  3. # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  4. - job_name: "prometheus"
  5. # metrics_path defaults to '/metrics'
  6. # scheme defaults to 'http'.
  7. static_configs:
  8. - targets: ["localhost:9090"]
  9. - job_name: 'manager-api'
  10. scrape_interval: 5s
  11. metrics_path: '/actuator/prometheus' # 指标获取路径
  12. static_configs:
  13. - targets: ["IP地址:80"] # 80 为你Java项目的启动端口

4:启动Prometheus&Grafana&Java项目

        Prometheus(启动时默认读取prometheus.yml文件,默认端口9090)

                安装目录->prometheus.exe

        Grafana(默认端口3000)

                安装目录->bin->grafana-server.exe 

5:查看监控节点启动情况:

 地址: http://IP:9090/targets

6:到Grafana配置数据源及选择合适的dashboard

地址:http://IP:3000/

第一次访问需要你输入账户/密码,默认账户/密码(admin/admin)

 ①:添加数据源

②:选择并配置数据源

 ③:测试通过后选择dashboard

 

完成:

 更多dashboard地址:

 https://grafana.com/grafana/dashboards/

二:

Prometheus监控Tomcat

准备:

        1:tomcat

        2:jmx_prometheus_javaagent-0.3.1.jar(自行下载)

        3:tomcat.yml(自行新建)

步骤:

1:tomcat.yml内容:(不同的dashboard可能略有不同,详情参考官网)

  1. ---
  2. lowercaseOutputLabelNames: true
  3. lowercaseOutputName: true
  4. whitelistObjectNames: ["java.lang:type=OperatingSystem", "Catalina:*"]
  5. blacklistObjectNames: []
  6. rules:
  7. - pattern: 'Catalina<type=Server><>serverInfo: (.+)'
  8. name: tomcat_serverinfo
  9. value: 1
  10. labels:
  11. serverInfo: "$1"
  12. type: COUNTER
  13. - pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+):'
  14. name: tomcat_$3_total
  15. labels:
  16. port: "$2"
  17. protocol: "$1"
  18. help: Tomcat global $3
  19. type: COUNTER
  20. - pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|processingTime|errorCount):'
  21. name: tomcat_servlet_$3_total
  22. labels:
  23. module: "$1"
  24. servlet: "$2"
  25. help: Tomcat servlet $3 total
  26. type: COUNTER
  27. - pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|connectionCount|acceptCount|acceptorThreadCount|pollerThreadCount|maxThreads|minSpareThreads):'
  28. name: tomcat_threadpool_$3
  29. labels:
  30. port: "$2"
  31. protocol: "$1"
  32. help: Tomcat threadpool $3
  33. type: GAUGE
  34. - pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions):'
  35. name: tomcat_session_$3_total
  36. labels:
  37. context: "$2"
  38. host: "$1"
  39. help: Tomcat session $3 total
  40. type: COUNTER

2:将tomcat.yml和jmx_prometheus_javaagent-0.3.1.jar放置于tomcat的bin目录中(无硬性要求只   

     是在配置catalina.bat时更方便一些)

3:修改tomcat的catalina.bat文件

set "JAVA_OPTS=%JAVA_OPTS% -javaagent:.\jmx_prometheus_javaagent-0.3.1.jar=9000:.\tomcat.yml"

4:在Prometheus的安装目录中额外再新增tomcat.yml并修改prometheus.yml文件:

 新增tomcat.yml文件:

  1. - targets:
  2. - localhost:9000 # catalina.bat中配置的指标收集器端口
  3. labels:
  4. idc: js_company
  5. service: tomcat

修改prometheus.yml文件:

在prometheus.yml中添加关于监控的tomcat的配置;

  1. - job_name: 'tomcat'
  2. file_sd_configs:
  3. - files: ['./tomcat.yml']
  4. refresh_interval: 180s

5:启动tomcat&查看Prometheus中关于tomcat节点的情况&在Grafana中配置数据源并选择Tomcat

     的dashboard;

 6:tomcat(dashboard ID:8704)

7:完成:

三:

Prometheus监控Windows服务器

准备:

windows_exporter-0.16.0-amd64.exe(自行安装,默认端口9182) 
 

步骤:

1:启动 windows_exporter-0.16.0-amd64.exe

 查看启动情况:

http://IP:9182/metrics

2:配置prometheus.yml文件,增加对Windows的监听

  1. - job_name: 'windows'
  2. scrape_interval: 10s
  3. scrape_timeout: 10s
  4. static_configs:
  5. - targets: ['localhost:9182']

3:查看该节点状态:

 4:在Grafana中配置数据源&选择合适的dashboard:(Windows dashboardID:10467)

 5:完成

路漫漫其修远兮,吾将上下而求索;

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/445217?site
推荐阅读
相关标签
  

闽ICP备14008679号