基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控

这篇具有很好参考价值的文章主要介绍了基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.Prometheus环境搭建

1.1 下载和安装Prometheus

1.2 配置Prometheus

1.3 配置Prometheus抓取Spring Boot应用Metrics

1.4 启动Prometheus

2.Grafana环境搭建

2.1 下载和安装Grafana

2.2 配置Grafana数据源

2.3 创建Dashboard

3、NodeExporter(服务器监控)插件配置安装

3.1 下载和安装Node Exporter 插件

3.2配置prometheus.yml

3.3配置Grafana

3.4遇到的坑及解决方法

4、Spring boot应用的监控配置

4.1 springboot工程pom.xml 配置

4.2 application.properties或application.yml 配置

4.3 定义Prometheus监控任务

4.4 配置Grafana的dashboard


1.Prometheus环境搭建

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

1.1 下载和安装Prometheus

访问Prometheus官方网站(https://prometheus.io/download/),下载适合操作系统的Prometheus版本。解压下载的文件,将包含Prometheus二进制文件和配置文件的目录放在合适的位置。

1.2 配置Prometheus

在Prometheus的安装目录中,找到prometheus.yml配置文件。打开并编辑该文件,以配置Prometheus以抓取Spring Boot应用程序的指标数据。

1.3 配置Prometheus抓取Spring Boot应用Metrics

在prometheus.yml文件中,找到scrape_configs部分,并添加一个新的抓取配置,如下所示:

scrape_configs:​​​​​​​
  - job_name: 'spring_boot_app'​​​​​​​
    metrics_path: '/actuator/prometheus'​​​​​​​
    static_configs:​​​​​​​
      - targets: ['localhost:8080'] # 使用你的Spring Boot应用程序的实际主机和端口替换

在此配置中,我们指定了应用程序的/actuator/prometheus端点作为Prometheus抓取指标数据的路径。确保将targets中的localhost:8080替换为你的Spring Boot应用程序的实际主机名和端口号。

以下是我机器的实际配置:

# my global config

global:

  scrape_interval: 5s # Set the scrape interval to every 15 seconds. Default is every 1 minute.

  evaluation_interval: 5s # Evaluate rules every 15 seconds. The default is every 1 minute.

  # scrape_timeout is set to the global default (10s).



# Alertmanager configuration

alerting:

  alertmanagers:

    - static_configs:

        - targets:

          # - alertmanager:9093



# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.

rule_files:

  # - "first_rules.yml"

  # - "second_rules.yml"



# A scrape configuration containing exactly one endpoint to scrape:

# Here it's Prometheus itself.

# scrape_configs:

  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.

#   - job_name: "prometheus"



    # metrics_path defaults to '/metrics'

    # scheme defaults to 'http'.



#     static_configs:

 #      - targets: ["localhost:9090"]

      

scrape_configs:



  - job_name: 'springboot-69-8084'

    metrics_path: '/actuator/prometheus'

    static_configs:

      - targets: ['localhost:8084'] # 使用你的Spring Boot应用程序的实际主机和端口替换

      

  - job_name: 'springboot-69-8082'

    metrics_path: '/actuator/prometheus'

    static_configs:

      - targets: ['localhost:8082'] # 使用你的Spring Boot应用程序的实际主机和端口替换

      

  - job_name: 'springboot-69-8761'

    metrics_path: '/actuator/prometheus'

    static_configs:

      - targets: ['localhost:8761'] # 使用你的Spring Boot应用程序的实际主机和端口替换

      

  - job_name: "nacos_162_8848"

    metrics_path: '/actuator/prometheus'

    static_configs:

      - targets: ['192.168.3.162:8848']

      

  - job_name: "prometheus_162"

    static_configs:

      - targets: ["192.168.3.162:9090"]

      

  - job_name: "prometheus_69"

    static_configs:

      - targets: ["192.168.3.69:9090"]

      

  - job_name: "linux_exporter_162"

    metrics_path: '/metrics'

    static_configs:

      - targets: ["192.168.3.162:9100"]    





  - job_name: order-jvm  #监控Job名称

    static_configs:

      - targets: ['localhost:8314']  #待监控机器列表,node exporter默认端口9100,多台机器用“,”分隔。

1.4 启动Prometheus

在Prometheus的安装目录中,使用命令行运行以下命令以启动Prometheus:

  • 对于Linux/macOS:
./prometheus --config.file=prometheus.yml
  • 对于Windows:
prometheus.exe --config.file=prometheus.yml

现在,Prometheus已经开始运行并监控你的Spring Boot应用程序的指标数据。接下来,需要安装和配置Grafana,以实现指标数据的可视化。

启动成功日志如下

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

浏览器访问: http://localhost:9090/targets?search=

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

2.Grafana环境搭建

2.1 下载和安装Grafana

访问Grafana官方网站(https://grafana.com/grafana/download/),下载适合你操作系统的Grafana版本。安装完成后,按照Grafana官方文档中的说明启动Grafana服务。

Windows版本,直接安装运行即可

grafana-enterprise-10.0.1.windows-amd64.msi

Linux版本:

sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-10.0.1-1.x86_64.rpm

修改配置文件 /etc/grafana/grafana.ini 中端口为3001,并重启

[root@grafana ~]# systemctl daemon-reload

[root@grafana ~]# systemctl start grafana-server

[root@grafana ~]# systemctl enable grafana-server

[root@grafana ~]# systemctl status grafana-server

浏览器访问:

http://192.168.3.162:3001/    admin / admin

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

2.2 配置Grafana数据源

登录Grafana(默认用户名和密码均为admin),然后转到Configuration > Data Sources。点击Add data source,选择Prometheus作为数据源类型。

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

 在URL字段中,输入Prometheus实例的地址(例如http://localhost:9090),然后将Access设置为Server。点击Save & Test按钮以测试和保存数据源配置。

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

2.3 创建Dashboard

完成数据源配置后,转到Dashboards > Manage,点击New dashboard按钮创建一个新的Dashboard。

在新的Dashboard中,点击Add new panel以添加图表。在图表编辑器中,你可以选择查询Prometheus数据源的指标数据。例如,要查看Spring Boot应用程序的HTTP请求数,可以输入以下PromQL查询:

rate(http_server_requests_seconds_count[1m])

3、NodeExporter(服务器监控)插件配置安装

3.1 下载和安装Node Exporter 插件

Node Exporter 安装及启动运行

https://github.com/prometheus/node_exporter/releases

wget https://github.com/prometheus/node_exporter/releases/download/v1.6.0/node_exporter-1.6.0.linux-amd64.tar.gz

tar zxvf node_exporter-1.6.0.linux-amd64.tar.gz

cd /usr/local/node_exporter-1.3.1.linux-amd64

nohup ./node_exporter  --web.listen-address=":9100" &

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

可见,插件已经抓取到服务器的监控信息。

3.2配置prometheus.yml

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

将192.168.3.162:9100的ip和端口配置到一个新建job

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

配置完后,重启普罗米修斯:

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

可以看到普罗米修斯已经监控到9100的job,点击确认查看监控详情:

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

3.3配置Grafana

这里我们使用官方的模板配置 9276 :

grafana模板下载地址

https://grafana.com/grafana/dashboards

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

数据源选Prometheus:

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

点确定后,进入监控面板:

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

3.4遇到的坑及解决方法

Grafana中监控不到数据

1.Centos上安装ntpdate:命令  yum install ntpdate -y

2.输入命令:ntpdate ntp1.aliyun.com

3.输入命令:hwclock --sysohc

4.输入命令:timedatectl

5.重新查看一下日期,输入命令:date

6.删除原来的Prometheus,重新安装配置一下

7.输入命令:reboot,重启centos

8.先检查一下日期:输入命令date,保证时间与windows监控机一致

9.关闭防火墙,重新启动grafana,prometheus,node_exporter

10.windows登录grafana,进入监控面板,已经可以监控到数据了,问题完美解决

4、Spring boot应用的监控配置

4.1 springboot工程pom.xml 配置

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

4.2 application.properties或application.yml 配置

management.endpoints.web.exposure.include=*
management:

  endpoints:

    web:

      exposure:

        include: *

如下图:

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

4.3 定义Prometheus监控任务

 - job_name: 'springboot-69-8084'

    metrics_path: '/actuator/prometheus'

    static_configs:

      - targets: ['localhost:8084'] # 使用你的Spring Boot应用程序的实际主机和端口替换

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

这里注意 metrics_path 要修改为  '/actuator/prometheus'

4.4 配置Grafana的dashboard

这里我们还是使用官方的模板:

SpringBoot Dashboard 模板ID:  12900

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter

基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控,spring boot,prometheus,grafana,Node Exporter文章来源地址https://www.toymoban.com/news/detail-549476.html

到了这里,关于基于Prometheus 和 Grafana 实现springboot应用监控和服务器监控的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于kafka_exporter&prometheus&grafana的kafka监控实现

    下载kafka_exporter 启动kafka_exporter Error Init Kafka Client: kafka: client has run out of available brokers to talk to (Is your cluster reachable?) 报错原因:kafka_exporter版本太低 !!! 防火墙开放端口(未启动防火墙不需要) kafka_exporter启动脚本 其中,kafka监控账号:user/pwd【md5(pwd)】 监听端口号:–

    2024年01月21日
    浏览(38)
  • prometheus + grafana进行服务器资源监控

    在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有着的分级体系,下面引用:   在以前的工作中,想要实现服务器资

    2024年02月11日
    浏览(42)
  • prometheus+grafana进行服务器资源监控

    在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有着的分级体系,下面引用: 在以前的工作中,想要实现服务器资源

    2024年02月10日
    浏览(53)
  • Prometheus服务器、Prometheus被监控端、Grafana、监控MySQL数据库、自动发现概述、配置自动发现、Alertmanager

    目录 Prometheus概述 部署Prometheus服务器 环境说明: 配置时间 安装Prometheus服务器 添加被监控端 部署通用的监控exporter Grafana 概述 部署Grafana 展示node1的监控信息 监控MySQL数据库 配置MySQL 配置mysql exporter 配置mysql exporter 配置prometheus监控mysql 自动发现机制 概述 基于文件自动发现

    2024年02月21日
    浏览(62)
  • SpringBoot+Prometheus+Grafana 监控面板(项目配置方式【入侵】)

    提示:本文使用SpringBoot 简单样例,介绍基础配置和使用方法 包含内容:Docker、SpringBoot、Maven、 Prometheus、Grafana等 提示:本文包含官网内容介绍,具体更项目的学习,请参照各官网文档,谢谢 官网:https://prometheus.io/ 文档地址:https://prometheus.io/docs/introduction/overview/ 使用领先

    2024年02月16日
    浏览(51)
  • 【经验案例】Springboot微服务搭建JVM监控(Springboot + Prometheus + Grafana)

    由于项目之前在生产环境出现过OOM的问题,并且没有及时发现,导致生产环境出现了在一定时间内不可用的情况,故决定搭建JVM监控对微服务24小时监听,以便于出现问题能够及时通知相关人员进行服务降级或解决问题。 经过可行性分析,得到目前较为适合的微服务监控为

    2024年02月06日
    浏览(43)
  • Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知

    Docker搭建并配置Prometheus Docker拉取并配置Grafana Docker安装并配置Node-Exporter Docker安装并配置cAdvisor Docker安装并运行Alertmanager 新建项目,引入依赖 新建接口,运行程序 Prometheus配置文件中已添加该项目地址,运行后到Prometheus页面中查看连接情况 成功 引入依赖 新增push接口,用于

    2024年02月11日
    浏览(45)
  • 免费开源服务器资源监控系统grafana+prometheus+node_exporter

    有项目做测试的时候需要查询服务器资源利用情况,自己又没写相应的模块,此时就需要一套好用的资源监控系统,,咨询了运维人员给推荐了一套,装完后真的很好用。 就是grafana+prometheus+ node_exporter(linux)或者windows_exporter(wins) 具体介绍不多说: 1、grafana是对数据做展

    2024年02月12日
    浏览(53)
  • Springboot 集成Prometheus 数据采集 使用grafana 监控报告告警 邮件配置

    目录 Springboot 相关 Pom 重点包 如果有需要可以增加安全包-一般内部机房没啥事-(非必选) Application.yml配置文件-(非必选) Application.properties management.endpoints.web.exposure.include介绍 启动类 查看监控信息 Prometheus Prometheus.yml 配置 如果使用类安全包-(非必选) 启动就可以看到了

    2024年02月11日
    浏览(52)
  • 使用Prometheus+Grafana实现监控

    我们用 actuator 暴露应用本身的线程、bean 等信息,但是这些信息还是独立于 Prometheus 之外的。下面我们 将介绍如何将 SpringBoot Actuator 与 Prometheus 结合起来。 我们同样从 Spring Initializr 创建一个名为 spring-web-prometheus-demo 的项目,选取的依赖包括: Spring Web Spring Boot Actuator Prome

    2024年02月12日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包