Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to realize micro-service monitoring + health check + nail alarm by SpringBoot-Admin

2025-04-06 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

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

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

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

搭建admin-server

pom依赖

4.0.0 org.springframework.boot spring-boot-starter-parent 2.4.11 com.example admin-server 1.0.0 etc-admin-server Spring Boot Admin监控eureka服务实例和健康检查,钉钉告警 1.8 2.4.3 2020.0.4 org.springframework.boot spring-boot-starter-security org.springframework.boot spring-boot-starter-web de.codecentric spring-boot-admin-starter-server org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import de.codecentric spring-boot-admin-dependencies ${spring-boot-admin.version} pom import ${project.name} org.springframework.boot spring-boot-maven-plugin

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;/** * @author xxx */@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;/** * WebSecurity配置 * @author xxxx */@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如何实现微服务监控+健康检查+钉钉告警"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 249

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report