zoukankan      html  css  js  c++  java
  • 基于spring boot admin 做监控的一些问题记录

    • 问题一

      各个健康节点权限问题

      解决方式 

        加入权限模块

        

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

        设置账户

    security:
      user:
        name: admin
        password: qq123123
    management:
      security:
        roles: SUPERUSER

      spring boot admin 配置

    eureka:
      instance:
        lease-renewal-interval-in-seconds: 10
        metadata-map:
          user.name: ${security.user.name}
          user.password: ${security.user.password}

       呵呵  官方给出的解决方式是放入元数据中

    • 问题二

      spring boot admin 排查服务设置问题

        

      boot:
        admin:
          routes:
            endpoints: env,metrics,dump,jolokia,info,configprops,trace,logfile,refresh,flyway,liquibase,heapdump,loggers,auditevents,hystrix.stream,activiti
          turbine:
            location: dj-atliwen-edi-admin
          discovery:
    #        ignored-services: turbine
            ignored-services: ss-erp-*,yjc-zhongjie,*jsp*,admin-discovery

       注意!

         这里是小写!小写!小写!

        

         ignored-services 是 Set<Stirng>  注入使用 ,就可以 。 不是 - ss  
    • 问题三

      spring boot admin 自定义消息触发器

      

    public class DdNotifier extends AbstractStatusChangeNotifier
    {
    
        private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
        private static RestTemplate template = new RestTemplate();
    
        private String url;
        DdNotifier(String url) {
            this.url = url;
        }
    
        @Override
        protected void doNotify(ClientApplicationEvent event) throws JsonProcessingException {
    
            Application a = event.getApplication();
            StatusInfo statusInfo = a.getStatusInfo();
            switch (statusInfo.getStatus()) {
                // 健康检查没通过
                case "DOWN":
                    sendDown(a, statusInfo);
                    break;
                // 服务离线
                case "OFFLINE":
                    offline(a);
                    break;
                //服务上线
                case "UP":
                    up(a);
                    break;
                // 服务未知异常
                case "UNKNOWN":
                    unknown(a);
                    break;
                default:
                    break;
            }
        }

    注意!!  这里是大写!大写!大写! 服务名称也是大写!都是大写!

        @Bean
        @Primary
        public RemindingNotifier remindingNotifier() {
            RemindingNotifier notifier = new RemindingNotifier(filteringNotifier());
            notifier.setReminderPeriod(TimeUnit.SECONDS.toMillis(600));
            String[] reminderStatuses = {"DOWN", "OFFLINE", "UP", "UNKNOWN"};
            notifier.setReminderStatuses(reminderStatuses);
            return notifier;
        }
    
        @Scheduled(fixedRate = 6_000L)
        public void remind() {
            remindingNotifier().sendReminders();
        }

    注意!

        

    setReminderPeriod 设置的不是官方文档上写的分钟! 不是分钟!  是秒!是秒!是秒!

     

    • 问题四

     


      spring boot admin 的  turbine 是在是太慢了!!!! 几分钟都不见得好,害我折腾半天,以为是自己哪里配置没配置好!!!!

     

     

  • 相关阅读:
    iOS最笨的办法实现无限轮播图(网络加载)
    iOS 动画基础总结篇
    ios 深入讲解iOS键盘一:控制键盘隐藏显示
    iOS开发之提交App中断出现:Cannot proceed with delivery: an existing transporter instance is currently uploading this package
    ios -仿微信有多级网页时,显示返回跟关闭按钮
    IOS启动页动画(uiview 淡入淡出效果 )2
    数量加减
    Swift泛型协议的N种用法
    一个swift版简单的用户名和密码输入textField
    Mac电脑上怎么设置环境变量
  • 原文地址:https://www.cnblogs.com/atliwen/p/8945517.html
Copyright © 2011-2022 走看看