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