1. 环境
springboot 1.5.4
Grafana 5.2.3
Prometheus 2.3.2
jdk 1.8
2.为springboot添加endpoint
在项目pom.xml中添加如下依赖
org.springframework.boot
spring-boot-starter-actuator
1.5.4.RELEASE
io.micrometer
micrometer-registry-prometheus
1.0.3
io.micrometer
micrometer-spring-legacy
1.0.3
在 application.yml中添加如下配置(因为是测试,所以我把所有端点都暴露了,生产环境自行选择打开端点)
management:
endpoints:
web:
exposure:
include: '*'
jmx:
exposure:
include: '*'
shutdown:
enabled: true
metrics:
distribution:
percentiles-histogram[http.server.requests]: true
security:
enabled: false
项目中新建一个配置类如下
import io.micrometer.core.instrument.MeterRegistry;
import io.micrometer.spring.autoconfigure.MeterRegistryCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MicrometerConfiguration {
@Bean
MeterRegistryCustomizer meterRegistryCustomizer(MeterRegistry meterRegistry) {
return meterRegistry1 -> {
meterRegistry.config()
.commonTags("application", "micrometer-youtube-example");
};
}
}
启动项目,在idea中可以看到接口 /prometheus 如下图
代码地址:https://github.com/liufei198613/spring-boot-1.5-micrometer-prometheus-example
3.安装prometheus
在某目录创建 prometheus.yml文件内容如下
global:
scrape_interval: 10s
scrape_timeout: 10s
evaluation_interval: 10m
scrape_configs:
- job_name: simple
scrape_interval: 5s
scrape_timeout: 5s
metrics_path: /prometheus
scheme: http
basic_auth:
username: user
password: user
static_configs:
- targets:
- 10.0.116.13:8080 #此处填写 Spring Boot 应用的 IP + 端口号
在当前目录输入如下命令,启动docker ,也可以先用docker pull prom/prometheus先下载镜像
docker run -d --name prometheus -p 9090:9090 -m 500M -v /opt/soft/prometheus/prometheus.yml:/prometheus.yml -v /opt/soft/prometheus/data:/data prom/prometheus --config.file=/prometheus.yml --log.level=info
访问 http://ip:9090 如下图
在Status
->Targets
页面下,我们可以看到我们配置的Target,它们的State
为UP ,如下图
4.安装Grafana
docker run --name grafana -d -p 3000:3000 -v /opt/soft/grafana:/var/lib/grafana -e "GF_SMTP_ENABLED=true" grafana/grafana
注意: 一定要将/opt/soft/grafana 这个目录授权为777 否则会报没有权限错误,这个目录是为了存储相关配置信息,防止镜像删除后,配置信息也丢失
我们可通过http://ip:3000
访问Grafana网页界面(缺省的帐号/密码为admin/admin)
5.grafana添加数据源,配置如下
6.创建看板
grafana支持很多种看板,你可以根据不同的指标生成图表,
因为图表的配置比较复杂,这里没有深入的研究,而是选用了大神 们做好的模板,对接数据源进行展示
https://grafana.com/dashboards 在这里可以搜索不同的模板
选择一个你想要的点击去,然后复制id
打开下图页面,并将id粘贴进去,光标离开输入框,会自动加载模板配置
然后选取数据源,点击import按钮,完成模板添加
可以看到如下图
完成。