本文介绍springboot如何使用prometheus配合grafana监控。

1.关于prometheus

prometheus是一个根据应用的metrics来进行监控的开源工具。相信很多工程都在使用它来进行监控,有关详细介绍可以查看官网:。

2.有关grafana

grafana是一个开源监控利器,如图所示。

从图中就可以看出来,使用grafana监控很高大上,提供了很多可视化的图标。

官网地址:

3.springboot使用prometheus

3.1 依赖内容

在springboot中使用prometheus其实很简单,不需要配置太多的东西,在pom文件中加入依赖,完整内容如下所示。

<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
	xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelversion>4.0.0</modelversion>
	<parent>
		<groupid>org.springframework.boot</groupid>
		<artifactid>spring-boot-starter-parent</artifactid>
		<version>2.1.3.release</version>
		<relativepath/> <!-- lookup parent from repository -->
	</parent>
	<groupid>com.dalaoyang</groupid>
	<artifactid>springboot2_prometheus</artifactid>
	<version>0.0.1-snapshot</version>
	<name>springboot2_prometheus</name>
	<description>springboot2_prometheus</description>

	<properties>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupid>org.springframework.boot</groupid>
			<artifactid>spring-boot-starter-actuator</artifactid>
		</dependency>
		<dependency>
			<groupid>org.springframework.boot</groupid>
			<artifactid>spring-boot-starter-web</artifactid>
		</dependency>
		<dependency>
			<groupid>org.springframework.boot</groupid>
			<artifactid>spring-boot-starter-test</artifactid>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupid>io.micrometer</groupid>
			<artifactid>micrometer-registry-prometheus</artifactid>
			<version>1.1.3</version>
		</dependency>
	</dependencies>


	<build>
		<plugins>
			<plugin>
				<groupid>org.springframework.boot</groupid>
				<artifactid>spring-boot-maven-plugin</artifactid>
			</plugin>
		</plugins>
	</build>

</project>

3.2 配置文件

配置文件中加入配置,这里就只进行一些简单配置,management.metrics.tags.application属性是本文配合grafana的dashboard设置的,如下所示:

spring.application.name=springboot_prometheus
management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}

3.3 设置application

修改启动类,如下所示.

@springbootapplication
public class springboot2prometheusapplication {

	public static void main(string[] args) {
		springapplication.run(springboot2prometheusapplication.class, args);
	}
	@bean
	meterregistrycustomizer<meterregistry> configurer(
			@value("${spring.application.name}") string applicationname) {
		return (registry) -> registry.config().commontags("application", applicationname);
	}
}

springboot项目到这里就配置完成了,启动项目,访问http://localhost:8080/actuator/prometheus,如图所示,可以看到一些度量指标。

4.prometheus配置

4.1 配置应用

在prometheus配置监控我们的springboot应用,完整配置如下所示。

# my global config
global:
 scrape_interval:  15s # set the scrape interval to every 15 seconds. default is every 1 minute.
 evaluation_interval: 15s # 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:
 - job_name: 'prometheus'
 static_configs:
 - targets: ['127.0.0.1:9090']
###以下内容为springboot应用配置
 - job_name: 'springboot_prometheus'
 scrape_interval: 5s
 metrics_path: '/actuator/prometheus'
 static_configs:
  - targets: ['127.0.0.1:8080']

4.2 启动prometheus

启动prometheus,浏览器访问,查看prometheus页面,如图所示。

点击如图所示位置,可以查看prometheus监控的应用。

列表中up的页面为存活的实例,如图所示。

也可以查看很多指数,如下所示。

5.grafana配置

启动grafana,配置prometheus数据源,这里以id是4701的doshboard为例(地址:)如图。

在grafana内点击如图所示import按钮

在如图所示位置填写4701,然后点击load。

接下来导入doshboard。

导入后就可以看到我们的springboot项目对应的指标图表了,如图。

6.源码

源码地址:

到此这篇关于springboot使用prometheus监控的示例代码的文章就介绍到这了,更多相关springboot prometheus监控内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!