Eurekaサービス上下線監視
マイクロサービスアーキテクチャの下で、サービスの数が少なければ数十、多ければ百、サービスに対する監視は少なくない.以前の単体プロジェクトであれば、いくつかのプロジェクトを起動して固定されており、サードパーティのモニタリングツールでモニタリングし、リアルタイムで警告することができます.マイクロサービスでは、サービス数が多すぎて、いつでも拡張できます.このとき、サードパーティの監視機能は適用されません.Spring Boot Admin接続登録センターでサービスステータスを表示することができます.これはページでしか表示できません.多くの場合、自動的に監視し、メールで警告し、○○サービスがラインオフしたという機能を望んでいる.Spring Boot Adminではすでにこのような機能があり、メールの情報を構成するだけで使用できます.まず、メールに必要な依存度を導入します.
次に、プロファイルにメールサーバの情報を追加します.
構成が完了すると、サービスがオフラインになると、メールボックスにメールが届きます.次に、Eurekaサービスで検出通知を行い、Eurekaではイベントリスニングをサポートする方法を紹介します.E urekaInstanceCanceledEventサービスダウンリンクイベント E urekaInstanceRegisteredEventサービス登録イベント E urekaInstanceRenewedEventサービス継続イベント E urekaRegistryAvailableEvent Eurekaレジストリセンター起動イベント EurekaServerStartedEvent Eureka ServerStartイベント }
org.springframework.boot
spring-boot-starter-mail
次に、プロファイルにメールサーバの情報を追加します.
spring.mail.host=smtp.qq.com
[email protected]
spring.mail.password=qq
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
#
[email protected]
#
[email protected]
構成が完了すると、サービスがオフラインになると、メールボックスにメールが届きます.次に、Eurekaサービスで検出通知を行い、Eurekaではイベントリスニングをサポートする方法を紹介します.
import com.netflix.appinfo.InstanceInfo;
import org.springframework.cloud.netflix.eureka.server.event.*;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
/**
* Eureka
*
* @author yinjihuan
* @create 2018-03-09 13:45
**/
@Component
public class EurekaStateChangeListener {
@EventListener
public void listen(EurekaInstanceCanceledEvent event) {
System.err.println(event.getServerId() + "\t" + event.getAppName() + " ");
}
@EventListener
public void listen(EurekaInstanceRegisteredEvent event) {
InstanceInfo instanceInfo = event.getInstanceInfo();
System.err.println(instanceInfo.getAppName() + " ");
}
@EventListener
public void listen(EurekaInstanceRenewedEvent event) {
System.err.println(event.getServerId() + "\t" + event.getAppName() + " ");
}
@EventListener
public void listen(EurekaRegistryAvailableEvent event) {
System.err.println(" ");
}
@EventListener
public void listen(EurekaServerStartedEvent event) {
System.err.println("Eureka Server ");
}
, , , 。
: Eureka , , , 。
, :
![](https://s4.51cto.com/images/blog/202008/04/7b193479d669779dfbfd65ba03af4166.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)