SpringBoot使用SOFA-Lookout监控的方法

 更新时间:2019年03月12日 16:22:28   作者:阿里云云栖社区  
本文介绍SpringBoot使用蚂蚁金服SOFA-Lookout配合Prometheus进行监控,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

本文介绍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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java 中通过 key 获取锁的方法

    Java 中通过 key 获取锁的方法

    这篇文章主要介绍了Java 中通过 key 获取锁,本文演示如何对某个 key 加锁,以保证对该 key 的并发操作限制,可以实现同一个 key 一个或者多个线程同时执行,需要的朋友可以参考下
    2022-11-11
  • Mybatis-plus数据权限DataPermissionInterceptor实现

    Mybatis-plus数据权限DataPermissionInterceptor实现

    本文主要介绍了Mybatis-plus数据权限DataPermissionInterceptor实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • SpringBoot时区问题解决以及彻底解决时差问题

    SpringBoot时区问题解决以及彻底解决时差问题

    这篇文章主要给大家介绍了关于SpringBoot时区问题解决以及彻底解决时差问题的相关资料,spring boot作为微服务简易架构,拥有其自身的特点,快速搭建架构,简单快捷,需要的朋友可以参考下
    2023-08-08
  • springboot中设置定时任务的三种方法小结

    springboot中设置定时任务的三种方法小结

    在我们开发项目过程中,经常需要定时任务来帮助我们来做一些内容,本文介绍了springboot中设置定时任务的三种方法,主要包括@Scheduled注解,Quartz框架和xxl-job框架的实现,感兴趣的可以了解一下
    2023-12-12
  • Golang Protocol Buffer案例详解

    Golang Protocol Buffer案例详解

    这篇文章主要介绍了Golang Protocol Buffer案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Java实现前缀树详解

    Java实现前缀树详解

    Java实现前缀树(Trie树)是一种树形数据结构,用于字符串的存储和查找,适用于大量字符串的快速匹配。通过将字符串拆分为字符序列,依次构建树形结构,将每个字符串的字符依次存储在树的节点上,实现高效的字符串匹配
    2023-04-04
  • Java CAS与Atomic原子操作核心原理详解

    Java CAS与Atomic原子操作核心原理详解

    CAS(Compare and Swap)和Atomic原子操作是保证多线程并发安全的常用机制,能够高效地实现对共享变量的安全访问和修改,避免线程竞争导致的数据不一致和死锁等问题。它们的应用可以提高程序的并发性能和可维护性,是多线程编程中的重要工具
    2023-04-04
  • JavaWeb-WebSocket浏览器服务器双向通信方式

    JavaWeb-WebSocket浏览器服务器双向通信方式

    文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配置类、服务编写和前端页面的实现
    2025-02-02
  • 基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    基于java ssm springboot+mybatis酒庄内部管理系统设计和实现

    这篇文章主要为大家详细介绍了java ssm springboot+mybatis实现酒店管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Mybatis 传参与排序模糊查询功能实现

    Mybatis 传参与排序模糊查询功能实现

    这篇文章主要介绍了Mybatis 传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2025-04-04

最新评论