#!/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的就绪探针和存活探针