#!/bin/bash
declare -A dic
#dic=([4000]="ruigecloud-upms-biz" [3000]="ruigecloud-auth" [6062]="ruigecloud-biz-consult-biz" [6070]="ruigecloud-biz-es-biz" [8002]="ruigecloud-biz-form-biz" [6066]="ruigecloud-biz-mq-biz" [6004]="ruigecloud-biz-plantest-biz" [6011]="ruigecloud-biz-scale-biz" [6060]="ruigecloud-biz-tag-biz" [6003]="ruigecloud-tenant-admin-biz" [6002]="ruigecloud-super-admin-biz" [6080]="ruigecloud-biz-job" [8889]="ruigecloud-gateway" [5003]="ruigecloud-biz-setting" [5001]="ruigecloud-biz-act-biz" [6061]="ruigecloud-biz-msg-biz" [5002]="ruigecloud-mobile-admin" [6074]="ruigecloud-biz-popularization-biz" [6075]="ruigecloud-biz-log-biz"  [6072]="ruigecloud-biz-crisis-biz" [6073]="ruigecloud-biz-download-biz")
dic=([4000]="ruigecloud-upms-biz")

#打印所有value
echo ${dic[*]}
#---gateway健康检查-----------------------------
for key in $(echo ${!dic[*]})
do
hpcode=`curl -o /dev/null -s -w %{http_code} http://xxx.xxx.xxx.xxx:${key}/actuator/health `
if [[ ${hpcode} == '200' ]];
then
hlcode=`curl -s http://xxx.xxx.xxx.xxx:${key}/actuator/health|awk -F ',' '{print $1}'|awk -F '"' '{print $4}'`
#echo $hlcode
if [[ ${hlcode} = 'UP' ]];
then
echo "${dic[$key]} is up"
else
echo "${dic[$key]} is down"

fi
else
echo "${dic[$key]} is down"
#nohup
fi
done
#if [[ ${hpcode} == '200' ]];

#then
#   hlcode=`curl -s http://xxx.xxx.xxx.xxx:8889/actuator/health|awk -F ',' '{print $1}'|awk -F '"' '{print $4}'`
#echo $hlcode
#   if [[ ${hlcode} = 'UP' ]];
#   then
#       echo "ruigecloud-gateway up"
#   else
#       echo "ruigecloud-gateway down"
#   fi
#else
#   echo "ruigecloud-gateway down"
#fi

5、Database Network Service信息; 6、Oracle Database Details 信息; 7、DB Alert log and Trace files 告警和追踪信息; 8、AWR Reports 在学习 Java 基础的过程中,泛型绝对算得上是一个比较难理解的知识点,尤其对于初学者而言,而且就算是已经有基础的 Java 程序员,可能对泛型的理解也不是那么透彻,属于那种看了明白,时间长了就忘的那种,究其根本,还是对泛型不够理解。 大部分人对泛型的认识:“基础知识,但是比较模糊” 华为 Java 一面· 1H 闲聊偏多,问的技术性问题比较基础 ·简单说说面向对象的特征以及六大原则 ·谈谈final、finally、finalize的区别 · Java 中==、equals与hashCode的区别和 watcherwatcher(守望者)提供监控系统/jvm的能力。应用使用它,可以把相关的指标暴露出来,目前支持http和dubbo两种方式暴露监控指标。1. showcase1.1 http首页:例如查看thread,访问http://127.0.0.1:11111/watcher/q.do?action=thread返回:{"success":true,"appName":"test","da... 通过80端口访问的池的节点的里的 java 容器的 健康 检测。本地的 java 容器提供了8019和7777两个端口的 服务 。(这里就要求需要检测80,8019,7777三个端口的 服务 都是好的)apache下的rewrite有如下的定义:RewriteRule /(\S+)\.jsp$ ajp://127.0.0.1:8019/$1\.jsp [P]所以就可以添加8019端口的 服务 下的jsp内容如下(如果77... 相信看完之前文章的同学都知道了SpringBoot自动装配的套路了,直接看spring.factories文件,当我们使用的时候只需要引入如下依赖org.springframework.bootspring-boot-starter-actuator然后在org.springframework.boot.spring-boot-actuator-autoconfigure包下去就可以找到这个文件自... 1、ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带) 官网地址:http://nginx.org/cn/docs/http/ng ... proxy_next_upstream2、nginx_upstream_check_module模块 官网网址:https://github.com/yaoweibi... Spring Boot 最主要的特性就是AutoConfig(自动配置),而对于我们这些使用者来说也就是各种starter,Spring Boot-Actuator 也提供了starter,为我们自动配置,在使用上我们只需要添加starter到我们的依赖中,然后启动项目即可。org.springframework.bootspring-boot-starter-actuator常用Endpoint... 第一,提供 健康 检测接口。传统采用 ping 的方式对应用进行探活检测并不准确。有的时候,应用的关键内部或外部依赖已经离线,导致其根本无法正常工作,但其对外的 Web 端口或管理端口是可以 ping 通的。我们应该提供一个专有的监控检测接口,并尽可能触达一些内部组件。 第二,暴露应用内部信息。应用内部诸如线程池、内存队列等组件,往往在应用内部扮演了重要的角色,如果应用或应用框架可以对外暴露这些重要信息,并加以监控,那么就有可能在诸如 OOM 等重大问题暴露之前发现蛛丝马迹,避免出现更大的问题。 SpringBoot自动装配的套路,直接看 spring.factories文件,当我们使用的时候只需要引入如下依赖org.springframework.bootspring-boot-starter-actuator然后在 org.springframework.boot.spring-boot-actuator-autoconfigure包下去就可以找到这个文件自动装配查看这个文件发现引入了... 健康检查 就是 检查 服务 是否是存活 状态 ,但远不止此,下面会说到首先要在父类gradle.build加入必要的依赖:// 健康检查 compile 'org.springframework.boot:spring-boot-starter-actuator'启动该 服务 在控制台可以看到:这时候看到了/health,我们在浏览器运行一下:可以看到status:UP代表 服务 健康 存活的,反之当status:do... 无论在测试中还是在线上,我们都会发现在 java 服务 刚开始启动之后,第一个请求会比正常的请求响应时间慢很多,一般会到达几百ms乃至1秒。 在微 服务 架构中,实例与实例之间存在依赖关系,当A实例依赖B实例,两个实例同时启动时,A实例必需要等B实例就绪并可用后,才可对外提供 服务 。 k8s的就绪探针和存活探针