Seguimiento de la supervivencia del proyecto
Consultar datos de seguimiento de la base de datos
select
id, entry_name, ip,port, ver_url, phone,open_id,alarm_state ,state,release_start_time,release_end_time, create_Time, update_Time, delete_Time, flag
from mhaqjk.mhaq_survival
where flag = 0 and NOW() NOT BETWEEN release_start_time AND release_end_time
Inicie una llamada a la URL y devuelva el código de estado de respuesta.
Consultar el caché de Redis y el tamaño de retorno (número de errores)
Si no hay errores en Redis, el tamaño es nulo
La respuesta con el código de estado falló
Si no hay tiempos de informe de error de tamaño en redis y el acceso a la dirección del proyecto falla, (el estado de la alarma es 0), envíe WeChat
y establezca redis en 1; de lo
contrario (no hay tiempos de informe de error en redis, pero la dirección del proyecto es accesible) configúrelo redis es 0;
Si el número de informes de errores ya existe en Redis, el tamaño no es nulo
La respuesta a la dirección del proyecto no se ha realizado correctamente
(La información de alarma ya existe en Redis y la dirección del proyecto es inalcanzable) El estado de la alarma es 0 y se emite 微信通知
.
Si (el número de alarmas es igual a 1 vez o menos de 3 veces), el estado de alarma es 0 y se emite 短信通知
.
Si es así (el tamaño de la cantidad de alarmas es mayor que 33, aún informa un error después de media hora), emita nuevamente 短信通知
,
configure Redis en 1 (es decir, restablezca el tamaño de la cantidad de alarmas de Redis) y actualice los datos.
Y establezca el estado de supervivencia de la plataforma en 0, actualice los datos y el número de errores informados en Redis +1;
Respuesta exitosa
(El tamaño de la cantidad de alarmas ya existe en Redis, pero la respuesta es exitosa esta vez) Restablezca la cantidad de alarmas en redis a 0, establezca el estado de supervivencia de la plataforma en 1 y actualice la base de datos.
(Siempre que la plataforma no esté disponible, envíe WeChat, envíe mensajes de texto en los primeros tres minutos y vuelva a enviar mensajes de texto después de 30 minutos)
Enviar SMS
Parámetros: MhaqSurvival
Si el estado de la alarma es 1, regrese directamente sin enviar SMS; de lo
contrario, construya un parámetro Map: templateParamsMap
parámetro:
String content="平台:"+survival.getEntryName()+":"+survival.getVerUrl()+"失效";
Obtenga el número de teléfono móvil String getPhones = survival.getPhone();
Cree un nuevo conjunto de información;
determine si el número de teléfono móvil obtenido está vacío, si no está vacío, pase ,
, corte la cadena del número de teléfono móvil,
cree un nuevo registro de clase de entidad de MhaqInfoLog infoLog = new MhaqInfoLog();
registro y envíe la información de registro;
luego envíe el SMS, el parámetro es el número de teléfono móvil, templateParamsMap
Enviar WeChat
Si el estado de la alarma es 1, regresará directamente sin emitir.
Los parámetros son: MhaqSurvival
get getOpenId
, get url getVerUrl
,
split OpenID ,
,
get time time;
recorrer la matriz OpenId, crear una nueva colección de paras,
List<TemplateParam> paras=new ArrayList<TemplateParam>();
paras.add(new TemplateParam("first","百事通加盟平台存活预警:","#930093"));
paras.add(new TemplateParam("time",time,"#0044BB"));
paras.add(new TemplateParam("ip_list",verUrl,"#0044BB"));
paras.add(new TemplateParam("sec_type",content,"#0044BB"));
monitorService.sendMsgByWeiXing(paras, openId, time);
Cree parámetros de plantilla y envíelos a WeChat.