前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >如何监视所有 Spring Boot 微服务?

如何监视所有 Spring Boot 微服务?

原创
作者头像
代码小李
发布于 2025-02-02 10:52:31
发布于 2025-02-02 10:52:31
680
举报

1. 使用 Actuator

Spring Boot Actuator 是一个非常强大的工具,可以提供生产就绪的特性,如健康检查、度量指标、审计等。

添加依赖

pom.xml 文件中添加 Actuator 依赖:

代码语言:xml
AI代码解释
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</version>{Spring Boot 版本}</version>
</dependency>
配置 Actuator

application.propertiesapplication.yml 文件中配置 Actuator:

代码语言:properties
AI代码解释
复制
# application.properties
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
访问端点

启动应用后,可以通过以下 URL 访问 Actuator 端点:

  • 健康检查:http://localhost:8080/actuator/health
  • 度量指标:http://localhost:8080/actuator/metrics
  • 环境信息:http://localhost:8080/actuator/env
  • 线程池信息:http://localhost:8080/actuator/threaddump

2. 使用 Prometheus 和 Grafana

Prometheus 是一个开源的监控系统,Grafana 是一个开源的可视化工具,两者结合可以提供强大的监控和可视化功能。

添加 Prometheus 依赖

pom.xml 文件中添加 Prometheus 依赖:

代码语言:xml
AI代码解释
复制
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
    <version>{Micrometer 版本}</version>
</dependency>
配置 Prometheus

application.properties 文件中配置 Prometheus:

代码语言:properties
AI代码解释
复制
management.metrics.export.prometheus.enabled=true
management.endpoints.web.exposure.include=prometheus
配置 Prometheus 服务器

在 Prometheus 配置文件 prometheus.yml 中添加目标:

代码语言:yaml
AI代码解释
复制
scrape_configs:
  - job_name: 'spring-boot'
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['localhost:8080']
配置 Grafana

在 Grafana 中创建数据源并配置仪表盘,使用 Prometheus 作为数据源。

3. 使用 ELK Stack

ELK Stack(Elasticsearch, Logstash, Kibana)是一个流行的日志管理和分析工具。

添加 Logback 依赖

pom.xml 文件中添加 Logback 依赖:

代码语言:xml
AI代码解释
复制
<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>{Logstash Logback Encoder 版本}</version>
</dependency>
配置 Logback

logback-spring.xml 文件中配置 Logback:

代码语言:xml
AI代码解释
复制
<configuration>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>localhost:5000</destination>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <root level="info">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="LOGSTASH" />
    </root>
</configuration>
配置 Logstash

logstash.conf 文件中配置 Logstash:

代码语言:apacheconf
AI代码解释
复制
input {
    tcp {
        port => 5000
        codec => json
    }
}

output {
    elasticsearch {
        hosts => ["localhost:9200"]
        index => "spring-boot-logs-%{+YYYY.MM.dd}"
    }
    stdout { codec => rubydebug }
}
配置 Kibana

在 Kibana 中创建索引模式并配置仪表盘,使用 Elasticsearch 作为数据源。

4. 使用 Micrometer 和其他监控系统

Micrometer 是一个用于监控指标的库,支持多种监控系统,如 Prometheus、Graphite、InfluxDB 等。

添加 Micrometer 依赖

pom.xml 文件中添加 Micrometer 依赖:

代码语言:xml
AI代码解释
复制
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-core</artifactId>
    <version>{Micrometer 版本}</version>
</dependency>
配置 Micrometer

application.properties 文件中配置 Micrometer:

代码语言:properties
AI代码解释
复制
management.metrics.export.prometheus.enabled=true
management.endpoints.web.exposure.include=prometheus

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 使用 Actuator
    • 添加依赖
    • 配置 Actuator
    • 访问端点
  • 2. 使用 Prometheus 和 Grafana
    • 添加 Prometheus 依赖
    • 配置 Prometheus
    • 配置 Prometheus 服务器
    • 配置 Grafana
  • 3. 使用 ELK Stack
    • 添加 Logback 依赖
    • 配置 Logback
    • 配置 Logstash
    • 配置 Kibana
  • 4. 使用 Micrometer 和其他监控系统
    • 添加 Micrometer 依赖
    • 配置 Micrometer
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档