prometheus+grafana监控springboot集群项目

在此是自己调研prometheus的监控项目,利用grafana当做展示页面,对应的我们自己的项目是springboot的集群项目。

首先下载prometheus和grafana,我下的版本prometheus是2.6.0,grafana是5.4.2

下载prometheus

https://prometheus.io/download/

下载grafana

https://grafana.com/grafana/download?platform=linux

配置监控可以分成两种模式,一种是利用spring-security来配置,分开了访问端口,利用spring-security的用户名密码配置好进行访问,另外一种就是普通的配置,利用正常的访问端口进行配置。

一.springboot项目配置

spring-security方式,采用两个端口号配置

1.在项目中配置引入jar包

org.springframework.boot

spring-boot-starter-security

io.prometheus

simpleclient_spring_boot

0.5.0

io.prometheus

simpleclient_hotspot

0.5.0

io.prometheus

simpleclient_logback

0.5.0

普通配置,不需要配置spring-security

去掉spring-boot-starter-security

2.springboot启动文件中加入配置

@EnablePrometheusEndpoint

@EnableSpringBootMetricsCollector

/**

* 避免增加自定义metrics时覆盖默认metrics

*

* @param strings

* @throws Exception

*/

@Override

public void run(String... strings) throws Exception {

DefaultExports.initialize();

}

普通配置,不需要配置run的方法

例:

prometheus+grafana监控springboot集群项目_第1张图片

3.在properties配置文件中指定

# performance monitor actuator

endpoints:

health:

enabled: true

metrics:

enabled: true

security:

basic:

enabled: true

path: /metrics,/prometheus

user:

name: tal_admin

password: Brandy100tal

management:

security:

enabled: false

port: 10003

 

management.port需要和server.port区分开

 

普通配置

management:

# actuator暴露接口使用的端口,为了和api接口使用的端口进行分离

#port: 7778

# actuator暴露接口的前缀

context-path: /

security:

# actuator是否需要安全保证

enabled: false

# 可以访问管理端点的用户角色列表,逗号分隔

roles: SUPERUSER

endpoints:

metrics:

# actuator的metrics接口是否开启

enabled: true

# actuator的metrics接口是否需要安全保证

sensitive: false

health:

# actuator的health接口是否开启

enabled: true

# actuator的health接口是否需要安全保证

sensitive: false

#启用shutdown

shutdown:

enabled: true

4.springboot在1.5配置需要加入tomcat配置,2.0不需要

prometheus+grafana监控springboot集群项目_第2张图片

 

5.需要加入每个请求的时间,需要加入拦截器配置

prometheus+grafana监控springboot集群项目_第3张图片

prometheus+grafana监控springboot集群项目_第4张图片

6.aop可以加入判断是否返回为200

prometheus+grafana监控springboot集群项目_第5张图片

二.linux下prometheus配置

1.下载解压

2.添加并修改配置文件

spring-security配置:

 

scrape_configs:

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

- job_name: 'spring-boot'

basic_auth:

username: tal_admin

password: Brandy100tal

metrics_path: '/prometheus'

scrape_interval: 5s

scrape_timeout: 5s

# metrics_path defaults to '/metrics'

# scheme defaults to 'http'.

static_configs:

- targets:

- 172.17.0.112:10003

- 172.17.0.108:10003

主要确定basic_auth的用户名密码和项目一致

确定target下的ip及地址一致

 

普通配置:

scrape_configs:

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

#- job_name: 'spring-boot'

#metrics_path: '/prometheus'

# static_configs:

# - targets:

# - localhost:9090

- job_name: 'spring-boot-jackl'

metrics_path: '/prometheus'

static_configs:

- targets:

- 172.17.0.108:9003

3.启动命令

指定端口号:./prometheus --config.file=prometheus.yml --web.listen-address=0.0.0.0:8090 &

如需要定制化配置:

nginx访问配置:https://www.cnblogs.com/aguncn/p/10002366.html

三.linux下grafana配置

1.下载解压

2.添加配置文件

只添加了需要改动的地方

[server]

# Protocol (http, https, socket) 访问方式

protocol = http

# The http port to use 指定的端口号

http_port = 8094

# The public facing domain name used to access grafana from a browser 访问的地址在浏览器上

domain = pxtest.facethink.com

#################################### Database ############################

[database]

# You can configure the database connection by specifying type, host, name, user and password

# as separate properties or as on string using the url property.

# Either "mysql", "postgres" or "sqlite3", it's your choice 提前制定好数据库地址信息

type = mysql

host = 192.168.0.27:3306

name = grafana

user = root

# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""

password = password

3.启动命令

./grafana-server --config ../conf/config.ini &

4.初次启动用户名密码为

admin/admin 会提示重置密码

5.添加数据源

 

prometheus+grafana监控springboot集群项目_第6张图片

 

prometheus+grafana监控springboot集群项目_第7张图片

6.添加数据看板

可以选择导入,填写名称,添加刚才配置的数据源

prometheus+grafana监控springboot集群项目_第8张图片

提供一个demo的test.json

https://download.csdn.net/download/zero_no1/10923285

修改json中的title属性以上传多个json配置多个项目

以上为我们自用的配置~

 

你可能感兴趣的:(java,linux)