SpringBoot使用SOFA-Lookout监控
本文介绍SpringBoot使用蚂蚁金服SOFA-Lookout配合Prometheus进行监控。
1.SOFA-Lookout介绍
上一篇已经介绍使用Prometheus进行暴露SpringBoot的一些指标进行监控,传送门,这一篇介绍如何使用SOFA-Lookout配合Prometheus。
SOFA-Lookout是蚂蚁金服开源的一款解决系统的度量和监控问题的轻量级中间件服务。它提供的服务包括:Metrics 的埋点、收集、加工、存储与查询等。
正如介绍的,SOFA-Lookout提供了一些常用的监控指标,比如JVM线程,JVM类加载,JVM内存,JVM垃圾回收,机器文件系统信息和机器信息。在1.5.0版本之后默认也提供了一些Linux操作系统的信息。具体可以查看:https://www.sofastack.tech/sofa-lookout/docs/client-ext-metrics
2.SpringBoot使用SOFA-Lookout
2.1 配置依赖
新建项目,在项目中加入SOFA依赖,完整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_sofa_lookout</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot2_sofa_lookout</name>
<description>springboot2_sofa_lookout</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<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>com.alipay.sofa.lookout</groupId>
<artifactId>lookout-sofa-boot-starter</artifactId>
<version>1.5.2</version>
</dependency>
<dependency>
<groupId>com.alipay.sofa.lookout</groupId>
<artifactId>lookout-reg-prometheus</artifactId>
<version>1.5.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.2 配置SOFA-Lookout端口
这里需要配置一个SOFA-Lookout的端口,生产环境使用的话一定要查看这个端口是不是被占用了。配置如下,这里配置的端口是8081。
spring.application.name=springboot2_sofa_lookout
com.alipay.sofa.lookout.prometheus-exporter-server-port=8081
其实到这里,SpringBoot项目已经配置完成了,当然还可以自定义一些指标,这里不做介绍。
3.Prometheus配置
Prometheus需要配置一下刚刚SOFA-Lookout的端口,如下:
- job_name: 'springboot2_sofa_lookout'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8081']
4.Grafana
这里也可以将Prometheus展示给Grafana,我也查询了很多,但是貌似目前Grafana还没有默认推荐的Dashboard,大家可以根据情况自行构建,当然,如果有好的也希望可以推荐一下。
5.测试
启动SpringBoot应用,控制台如下所示。
看到红框部分就是启动成功了。接下来查看Prometheus界面,如下。
这里Grafana在看一下Grafana界面,如图。
6.源码
源码地址:https://gitee.com/dalaoyang/springboot_learn/tree/master/springboot2_sofa_lookout