iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警
  • 272
分享到

SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

2023-06-25 11:06:13 272人浏览 八月长安
摘要

小编给大家分享一下SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka

小编给大家分享一下SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka,springBoot提供了很好的组件SpringBoot Admin,2.X版本直接可以配置钉钉机器人告警。

效果:可以实现eureka注册的实例上线、下线触发钉钉告警。监控我们的服务实例健康检查。

搭建admin-server

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 https://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.4.11</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>admin-server</artifactId><version>1.0.0</version><name>etc-admin-server</name><description>Spring Boot Admin监控eureka服务实例和健康检查,钉钉告警</description><properties><java.version>1.8</java.version><spring-boot-admin.version>2.4.3</spring-boot-admin.version><spring-cloud.version>2020.0.4</spring-cloud.version></properties><dependencies>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-security</artifactId>        </dependency>        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-WEB</artifactId>        </dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</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-test</artifactId><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-dependencies</artifactId><version>${spring-boot-admin.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build>        <finalName>${project.name}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

application.yml配置

spring:  application:    name: admin-server  security:    user:      name: "admin"      passWord: "pwd"  boot:    admin:      notify:        dingtalk:          enabled: true          webhookUrl: 'https://oapi.dingtalk.com/robot/send?access_token=钉钉机器人access_token'          secret: '钉钉机器人secret'          message: '服务告警: #{instance.reGIStration.name} #{instance.id} is #{event.statusInfo.status}'server:  port: 9002eureka:  client:    registryFetchIntervalSeconds: 5    service-url:      defaultZone: 'http://127.0.0.1:8020/eureka/'  instance:    hostname: ${spring.cloud.client.ip-address}    instance-id: ${spring.cloud.client.ip-address}:${server.port}    prefer-ip-address: true    ip-address: ${spring.cloud.client.ip-address}    leaseRenewalIntervalInSeconds: 10    health-check-url-path: /actuator/health    metadata-map:      user.name: ${spring.security.user.name}      user.password: ${spring.security.user.password}management:  endpoints:    web:      exposure:        include: "*"  endpoint:    health:      show-details: ALWAYS

启动类

package com.example;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;@EnableAdminServer@EnableDiscoveryClient@SpringBootApplicationpublic class AdminServerApplication {public static void main(String[] args) {SpringApplication.run(AdminServerApplication.class, args);}}

config类

package com.example;import de.codecentric.boot.admin.server.config.AdminServerProperties;import org.springframework.context.annotation.Configuration;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccesshandler;import org.springframework.security.web.csrf.CookieCsrfTokenRepository;@Configurationpublic class WebSecurityConfigure extends WebSecurityConfigurerAdapter {    private final String adminContextPath;    public WebSecurityConfigure(AdminServerProperties adminServerProperties) {        this.adminContextPath = adminServerProperties.getContextPath();    }    @Override    protected void configure(HttpSecurity http) throws Exception {        // @fORMatter:off        SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();        successHandler.setTargetUrlParameter("redirectTo");        successHandler.setDefaultTargetUrl(adminContextPath + "/");        http.authorizeRequests()                .antMatchers(adminContextPath + "/assets/**").permitAll()                .antMatchers(adminContextPath + "/login").permitAll()                .anyRequest().authenticated()                .and()                .formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()                .loGout().logoutUrl(adminContextPath + "/logout").and()                .httpBasic().and()                .csrf()                .csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())                .ignoringAntMatchers(                        adminContextPath + "/instances",                        adminContextPath + "/actuator/**"                );        // @formatter:on    }}

启动后效果

SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

看完了这篇文章,相信你对“SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网精选频道,感谢各位的阅读!

--结束END--

本文标题: SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警

本文链接: https://www.lsjlt.com/news/304375.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringBoot-Admin实现微服务监控+健康检查+钉钉告警
    基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka,SpringBoot提供了很好的组件SpringBoot Admin,2.X版本直接可以配置...
    99+
    2024-04-02
  • SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警
    小编给大家分享一下SpringBoot-Admin如何实现微服务监控+健康检查+钉钉告警,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!基于SpringCloud微服务平台,进行服务实例监控及健康检查,注册中心为eureka...
    99+
    2023-06-25
  • 如何使用PHP微服务实现分布式监控和报警功能
    随着互联网的快速发展,应用系统的规模和复杂性也逐渐增加。为了确保系统的稳定性和可用性,分布式监控和报警功能成为了每个开发人员都需要关注的重要问题。本文将介绍如何使用PHP微服务来实现分布式监控和报警功能,并提供具体的代码示例。一、概述分布式...
    99+
    2023-10-21
    分布式监控 PHP微服务 报警功能
  • 如何实现用Shell脚本监控服务器在线状态和邮件报警
    本篇内容主要讲解“如何实现用Shell脚本监控服务器在线状态和邮件报警”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现用Shell脚本监控服务器在线状态和邮件报警”吧!对于服务器来说在线率...
    99+
    2023-06-09
  • 如何解决基于Pinpoint对SpringCloud微服务项目实现全链路监控的问题
    这篇文章主要为大家展示了“如何解决基于Pinpoint对SpringCloud微服务项目实现全链路监控的问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决基于Pinpoint对Sprin...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作