Plataforma de monitoreo_Monitoreo de supervivencia del proyecto (2)

Consultar datos de seguimiento de la base de datos

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí

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;
Inserte la descripción de la imagen aquí

Si el número de informes de errores ya existe en Redis, el tamaño no es nulo

Inserte la descripción de la imagen aquí

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

Inserte la descripción de la imagen aquí
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

Inserte la descripción de la imagen aquí
Si el estado de la alarma es 1, regresará directamente sin emitir.
Los parámetros son: MhaqSurvival
get getOpenId, get url getVerUrl,
split OpenID ,,
Inserte la descripción de la imagen aquí
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.

Supongo que te gusta

Origin blog.csdn.net/DreamsArchitects/article/details/108779090
Recomendado
Clasificación