Saltar al contenido

Implementar la aplicación de notificación para monitorear aplicaciones Java

En este tutorial, implementas una aplicación de notificación que solicita las métricas de las siguientes aplicaciones Java (que se ejecutan en el entorno SAP BTP, Neo):

Debido a que las solicitudes no se envían solo a dos solicitudes, el proyecto Maven que importa en Eclipse solo tiene dos vertientes. Sin embargo, puede cambiar este número en el MetricsWatcher clase, donde el ScheduledThreadPoolExecutor(2) se da el método. Además, si decide cambiar la lista de aplicaciones, necesita la lista en el Demo clase de proyecto de importación.

Cuando la aplicación recibe una notificación de métricas de la aplicación Java, comprueba las métricas críticas. Luego, la aplicación envía un correo electrónico o SMS, dependiendo de si las métricas se reciben como críticas una o tres veces. Además, la aplicación de notificación reinicia la aplicación Java cuando se detecta que las métricas son críticas tres veces.

Para obtener más información sobre todo el caso, lea el Caso de notificación de publicación de blog.

Si una aplicación Java aún no se ha iniciado, la aplicación de notificación activa automáticamente el proceso de inicialización.


Paso 1: descarga el proyecto

Paso 2: importar a Eclipse

Extraiga los archivos en una carpeta local e importe la carpeta en Eclipse como un proyecto Maven existente.

También puede cargar su proyecto copiando la URL de GitHub y pegándola como una ruta de repositorio de Git o URI después de cambiar a la perspectiva de Git. Recuerde volver a la perspectiva de Java más tarde.

Paso 3: Actualiza Demo.java

Abre el Demo.java class y actualice la siguiente información:

String mail_to = "my_email@email.com";
String mail_to_sms = "my_email@sms-service.com";


private final String auth_user = "my_user";
private final String auth_pass = "my_password";


String landscapeFqdn1 = "api.hana.ondemand.com";
String account1 = "a1";
String application1 = "app1";

String landscapeFqdn2 = "api.us1.hana.ondemand.com";
String account2 = "a2";
String application2 = "app2";

Paso 4: Actualice `Mailsender.java`

Abre el Mailsender.java clasifique y actualice la configuración de su cuenta de correo electrónico.

private static final String FROM = "my_email_account@email.com";
final String userName = "my_email_account";
final String password = "my_email_password";

public static void sendEmail(String to, String subject, String body) throws AddressException, MessagingException {
            // Set up the mail server
            Properties properties = new Properties();
            properties.setProperty("mail.transport.protocol", "smtp");
            properties.setProperty("mail.smtp.auth", "true");
            properties.setProperty("mail.smtp.starttls.enable", "true");
            properties.setProperty("mail.smtp.port", "587");
            properties.setProperty("mail.smtp.host", "smtp.email.com");
            properties.setProperty("mail.smtp.host", "mail.email.com");

}

Paso 5: prueba tu caso

  1. Abra la cabina de SAP BTP y obtenga sus aplicaciones Java.

  2. Configure sus aplicaciones Java para devolver métricas críticas.

    Para hacer esto, puede crear una verificación JMX con un umbral crítico bajo para HeapMemoryUsage para que el cheque se reciba siempre en estado crítico.

    Para más información, ver crear-jmx-comprobar.

    Ejemplo:

    neo create-jmx-check -a mysubaccount -b demo -u p1234567 -n "JMX Check Test - Heap Memory" -O java.lang:type=Memory -A HeapMemoryUsage -K used -U B -C 20000000 -h hana.ondemand.com
    

    Para utilizar los comandos de la consola, debe configurar el cliente de la consola. Para más información, ver Configurar el cliente de la consola.

  3. Ejecute su aplicación de notificación en Eclipse y verifique lo siguiente:

    • Recibe un correo electrónico con el asunto A metric has reached a critical state. y corp Metric HeapMemoryUsage for application app1 has reached а critical state. cuando se obtienen métricas críticas.

    • Recibes un SMS con texto Metric HeapMemoryUsage for application app1 has reached critical state 3 times. The application will be restarted. cuando las métricas críticas se obtienen tres veces.

    • Su aplicación Java se reinicia una vez que su métrica crítica se recibe tres veces.

Puede verificar el estado de sus aplicaciones Java en SAP BTP cockpit.