2017-05-20 1 views

Antwort

1

Es ist nichts in Essbase integriert, das dies für Sie tun wird. Sie müssen wirklich auf diese in Bezug auf zwei verschiedene Dinge suchen Sie versuchen zu erreichen:

  1. Wie kann man sagen, wenn ein Essbase Würfel
  2. läuft Wie eine E-Mail von einem Batch/geplanten Prozess senden

Wie für Punkt 1 gibt es mindestens ein paar Wege zu gehen. Ich glaube, dass Sie MaxL (die Automatisierungssprache für Essbase) verwenden können, um festzustellen, ob eine Anwendung/ein Cube ausgeführt wird. Sie könnten beispielsweise MaxL verwenden, um den Status des Cubes zu überprüfen, das Skript in eine Textdatei auszugeben und dann diese Textdatei nach der richtigen Zeile/dem richtigen Indikator zu durchsuchen, in dem der Cube ausgeführt wird. Dies könnte technisch funktionieren, aber es wäre nicht meine bevorzugte Option. Sie müssten dies auch so entwickeln, dass, falls der Server selbst nicht läuft, die gewünschte Aktion ausgelöst wird.

Ein anderer Weg zu gehen (und das ist meine bevorzugte Option) ist die Essbase Java API zu verwenden, um festzustellen, ob die Anwendung/Cube ausgeführt wird. Obwohl Sie mit Java vielleicht nicht vertraut sind, ist dies für mich der sauberste Weg, diese Funktionalität zu implementieren. Sie würden die API verwenden, um eine Verbindung mit dem Server herzustellen, und wenn die Verbindung zum Server erfolgreich war, können Sie den Status der Anwendung/des Cubes überprüfen. Falls der Cube oder Server heruntergefahren oder gestoppt ist, können Sie die entsprechende Aktion ausführen. Sie können die E-Mail auch von Java selbst senden, indem Sie eine der Java-E-Mail-Bibliotheken verwenden.

Sie können E-Mails auch über die Befehlszeile senden. Es variiert in den Besonderheiten zwischen Unix/Windows, aber im Allgemeinen, wenn Sie einen SMTP-Server, E-Mail-Adresse, Betreff, Körper und andere Parameter angeben können, funktioniert es gut. Es gibt frei verfügbare E-Mail-Clients, die ich gesehen und verwendet habe, die vollständig auf der Kommandozeile arbeiten und diesen Anwendungsfall ziemlich gut handhaben.

Sobald alles alles entwickelt und getestet ist, ist es nur eine einfache Angelegenheit, es so zu planen, dass es alle 15 Minuten läuft oder wie oft Sie es auch ausführen möchten.

Wie bereits erwähnt, MaxL ist die Skriptsprache für Essbase. Es gibt ein Programm auf dem Essbase-Server, das MaxL-Skripts interpretiert. Die Sprache MaxL ist ausführlich in der EPM-Dokumentation dokumentiert. Als einfaches Beispiel, könnten Sie ein MaxL Skript wie das schreiben folgendes:

login "admin" "password" on "localhost"; 
display application "Sample"; 

Wenn Sie auf einem Linux/Unix-Server ausgeführt werden dann könnten Sie dann das Skript ausführen wie folgt:

startMaxl.sh your_script.msh 

Dieses Skript würde dann ein textbasiertes Raster mit verschiedenen Anwendungseigenschaften an die Konsole ausgeben.

Eine der Spalten, die der Befehl display application anzeigt, bezieht sich auf den Anwendungsstatus, wenn die App geladen/gestartet wird oder was auch immer. Theoretisch, um diese Lösung zum Laufen zu bringen, müssten Sie MaxLs Skript-Ausgabe in eine Datei senden und dann die Datei nach dem richtigen Text scannen und entscheiden, ob Maßnahmen ergriffen werden müssen. Dieser Ansatz kann zwar funktionieren, birgt jedoch Risiken. Deshalb denke ich, Java (die bevorzugte API für Essbase) ist viel besser geeignet, um dies zu lösen.

+0

Könnten Sie bitte ein wenig erklären, wie man es mit MaxL macht? Ich bin neu in EPM. – Amit

+0

Bearbeiten der ursprünglichen Antwort, um weitere Details hinzuzufügen. – jwj

+0

@jwj "Anwendungen anzeigen" gibt viele Informationen über die spezifische App aus. Seine Art von chaotisch und es ist schwer, Informationen nur auf application_status zu extrahieren. Können wir nur Informationen zu application_status extrahieren? –

Verwandte Themen