spring cloud 项目增加 spring boot admin 监控

前言

目前有一个 spring cloud 项目,查看日志需要到服务器上去反复拉取下来查看,多个服务之间查看起来非常不方便,所以想使 日志查看起来更加方便一点,原本想 搭建 ELK ,但是对服务器资源要求更多一点,所以选择使用个简单版的集成 spring boot admin 的方式来实现,既可看到日志,又可监控服务的信息。

实现步骤

adminServer 服务

首先在当前项目下新建一个 adminServer 模块

POM 文件中增加配置

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
        </dependency>

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-server</artifactId>
            <version>2.0.4</version>
        </dependency>

AdminServerApplication 代码

import de.codecentric.boot.admin.server.config.EnableAdminServer;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
@EnableAdminServer
@EnableDiscoveryClient
public class AdminServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }
}

application.yml 配置
```yaml
spring:
  profiles:
    active: dev
    include: zSba,zLog

# 配置访问信息
---
spring:
  security:
    user:
      name: admin
      password: tzkj@wx...
eureka:
  # 配置 spring security 的用户名和密码,这时需要在服务注册时带上 metadata-map 的信息。
  metadata-map:
    user:
      name: ${spring.security.user.name}
      password: ${spring.security.user.password}

</code></pre>

<pre><code class="line-numbers">application-dev.yml 配置
```yaml
spring:
  application:
    name: admin-server
server:
  port: 8999
  servlet:
    context-path: /adminServer
# 注册中心地址
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8661/eureka/
  instance:
    instance-id: ${spring.application.name}:${server.port}
    # 配置使用主机名注册服务
    hostname: localhost
    # 优先使用IP地址方式进行注册服务
    prefer-ip-address: true
    # 配置使用指定IP
    ip-address: localhost

application-zSba.yml 配置

############################## Spring boot admin start ##############################
eureka:
  instance:
    # admin 配置
    home-page-url-path: ${server.servlet.context-path}
    health-check-url-path: ${server.servlet.context-path}/actuator/health
    status-page-url-path: ${server.servlet.context-path}/actuator/info
    metadata-map:
      management:
        context-path: ${server.servlet.context-path}/actuator

# 开启和暴露所有端点
management:
  endpoints:
    web:
      exposure:
        include: "*"
  endpoint:
    health:
      show-details: ALWAYS
    logfile:
      enabled: true

需要被监控的服务

POM 文件增加依赖

        <dependency>
            <groupId>de.codecentric</groupId>
            <artifactId>spring-boot-admin-starter-client</artifactId>
            <version>2.2.4</version>
        </dependency>

application-zSba.yml 配置 同上

即可

绿色六边形则为已连接上服务,点击进入后进入控制页面,即可看到 服务的信息 以及 日志等。
以上

相关文章

转载请注明: 转载自 浮生一程
本文链接地址 spring cloud 项目增加 spring boot admin 监控
上一篇
下一篇