本文介紹SpringBoot使用螞蟻金服SOFA-Lookout配合Prometheus進(jìn)行監(jiān)控就谜。
1.SOFA-Lookout介紹
上一篇已經(jīng)介紹使用Prometheus進(jìn)行暴露SpringBoot的一些指標(biāo)進(jìn)行監(jiān)控布隔,傳送門(mén)类垫,這一篇介紹如何使用SOFA-Lookout配合Prometheus。
SOFA-Lookout是螞蟻金服開(kāi)源的一款解決系統(tǒng)的度量和監(jiān)控問(wèn)題的輕量級(jí)中間件服務(wù)磺送。它提供的服務(wù)包括:Metrics 的埋點(diǎn)逊笆、收集、加工安聘、存儲(chǔ)與查詢(xún)等。
正如介紹的瓢棒,SOFA-Lookout提供了一些常用的監(jiān)控指標(biāo)浴韭,比如JVM線(xiàn)程,JVM類(lèi)加載脯宿,JVM內(nèi)存念颈,JVM垃圾回收,機(jī)器文件系統(tǒng)信息和機(jī)器信息连霉。在1.5.0版本之后默認(rèn)也提供了一些Linux操作系統(tǒng)的信息榴芳。具體可以查看:https://www.sofastack.tech/sofa-lookout/docs/client-ext-metrics
2.SpringBoot使用SOFA-Lookout
2.1 配置依賴(lài)
新建項(xiàng)目,在項(xiàng)目中加入SOFA依賴(lài)跺撼,完整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端口
這里需要配置一個(gè)SOFA-Lookout的端口,生產(chǎn)環(huán)境使用的話(huà)一定要查看這個(gè)端口是不是被占用了歉井。配置如下柿祈,這里配置的端口是8081。
spring.application.name=springboot2_sofa_lookout
com.alipay.sofa.lookout.prometheus-exporter-server-port=8081
其實(shí)到這里哩至,SpringBoot項(xiàng)目已經(jīng)配置完成了躏嚎,當(dāng)然還可以自定義一些指標(biāo),這里不做介紹菩貌。
3.Prometheus配置
Prometheus需要配置一下剛剛SOFA-Lookout的端口卢佣,如下:
- job_name: 'springboot2_sofa_lookout'
scrape_interval: 5s
static_configs:
- targets: ['localhost:8081']
4.Grafana
這里也可以將Prometheus展示給Grafana,我也查詢(xún)了很多菜谣,但是貌似目前Grafana還沒(méi)有默認(rèn)推薦的Dashboard珠漂,大家可以根據(jù)情況自行構(gòu)建晚缩,當(dāng)然尾膊,如果有好的也希望可以推薦一下。
5.測(cè)試
啟動(dòng)SpringBoot應(yīng)用荞彼,控制臺(tái)如下所示冈敛。
看到紅框部分就是啟動(dòng)成功了。接下來(lái)查看Prometheus界面鸣皂,如下抓谴。
這里Grafana在看一下Grafana界面暮蹂,如圖。
6.源碼
源碼地址:https://gitee.com/dalaoyang/springboot_learn/tree/master/springboot2_sofa_lookout