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应用,控制台如下所示。

image

看到红框部分就是启动成功了。接下来查看Prometheus界面,如下。

image

这里Grafana在看一下Grafana界面,如图。

image

6.源码

源码地址:https://gitee.com/dalaoyang/springboot_learn/tree/master/springboot2_sofa_lookout

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文章目的: 1、向没听过或者刚听过但是还对这个监控系统没有任何概念的开发者介绍Prometheus的应用场景。2、...
    whaike阅读 39,690评论 15 59
  • 前提 最近公司在联合运维做一套全方位监控的系统,应用集群的技术栈是SpringCloud体系。虽然本人没有参与具体...
    zhrowable阅读 7,226评论 0 22
  • “我还不太明白怎么选择低估值指数基金。” 在可儿的第四节基金课上,我如此发问。 “这是第三节课的重点呀,你还没有爬...
    俪璇阅读 214评论 0 1
  • 初一抒怀 深深祝福门上添, 红红灯笼拴一线。 山清水秀庭院前, 鸡鸣犬吠抒新篇。 除夕 蓝天阔白云裳, 鸟儿语鲜花...
    金赛月阅读 161评论 3 11
  • 李先生回家,看到我这本书,直呼:家怎么会伤人呢? 是啊,为何家会伤人?武志红老师分别从夫妻关系,分离,孩子和中国式...
    春娟Jane阅读 303评论 0 0