Platform_Projectサバイバルモニタリングの監視(2)

データベース監視データのクエリ

ここに写真の説明を挿入

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

ここに写真の説明を挿入

urlの呼び出しを開始し、応答ステータスコードコードを返します。
Redisキャッシュを照会し、サイズ(報告されたエラーの数)を返します

Redisにエラーがない場合、サイズはnullです

応答ステータスコードが失敗しました

redisにサイズエラーレポート時間がなく、プロジェクトアドレスへのアクセスに失敗した場合(アラームステータスが0)、WeChat
送信してredisを1に設定します。
それ以外の場合(redisにエラーレポート時間はありませんが、プロジェクトアドレスにアクセスできます)、設定します。 redisは0です。
ここに写真の説明を挿入

エラーレポートの数がRedisにすでに存在する場合、サイズはnullではありません

ここに写真の説明を挿入

プロジェクトアドレスの応答が失敗しました

(アラーム情報はすでにRedisに存在し、プロジェクトアドレスに到達できません)アラームステータスは0であり、発行され微信通知ます。
(アラームの数が1回または3回未満の場合)、アラームステータスは0であり、発行され短信通知ます。
そうである場合(アラーム数のサイズが33より大きい場合、30分後もエラーが報告されます)、再度発行し短信通知
Redisを1に設定して(つまり、Redisアラームの数のサイズをリセットして)、データを更新します。

そして、プラットフォームのサバイバルステータスステータスを0に設定し、データとRedis + 1で報告されたエラーの数を更新します。

成功した応答

(アラームサイズの数はRedisにすでに存在しますが、今回は応答が成功します。)Redisのアラーム数を0にリセットし、プラットフォームの存続ステータスを1に設定して、データベースを更新します。

(プラットフォームが利用できない限り、WeChatを送信し、最初の3分でテキストメッセージを送信し、30分後に再度テキストメッセージを送信します)

SMSを送信

ここに写真の説明を挿入
パラメータ:MhaqSurvival
アラームステータスが1の
場合、SMSを送信せずに直接戻ります。それ以外の場合は、パラメータMapを作成し
ます。templateParamsMapパラメータ:

String content="平台:"+survival.getEntryName()+":"+survival.getVerUrl()+"失效";

携帯電話番号の取得String getPhones = survival.getPhone();
新しい情報セットを作成します。
取得した携帯電話番号が空かどうかを判断します。空でない場合は、合格し、携帯電話番号の文字列を切り取り、
新しいログエンティティクラスMhaqInfoLog infoLog = new MhaqInfoLog();
レコードを作成してログ情報を送信します。
次にSMSを送信します。パラメータは携帯電話番号です。 templateParamsMap

WeChatを送信する

ここに写真の説明を挿入
アラームステータスが1の場合、発行せずに直接戻ります。
パラメータは次のとおりMhaqSurvival
ですgetOpenId。get、get url getVerUrl
split OpenID ,
ここに写真の説明を挿入
get time time
、OpenId配列をループし、新しい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);	

テンプレートパラメータを作成し、WeChatに送信します。

おすすめ

転載: blog.csdn.net/DreamsArchitects/article/details/108779090