Na, kam Ihr Fachbereichsleiter mal wieder um die Ecke, um nach stündlichen Emails zu fragen, die aktuelle Reports und Auswertungen enthalten? Klar, mit einem Shell- oder PowerShell-Script können Sie das recht einfach erledigen. Und in Automic schaffen Sie es mit SEND_MAIL.
Ich will Ihnen aber dafür eine andere elegante Lösung zur Verfügung stellen, die ebenfalls in Automic funktioniert. Und zwar über Benachrichtigungsobjekte.
Die Objekte dafür können Sie einfach am Ende des kurzen Einführungsartikels herunterladen.
Dieser Blogpost ist eine Neuauflage eines Artikels aus dem alten AutomicBlog (Februar 2013). Die Objekte aus der damaligen V9 funktionieren auch heute, auf V11, noch tadellos.
Das Benachrichtigungs-Objekt CALL
Mit einem Benachrichtigungsobjekt kann man externe Dateien einer beliebigen RunID als Attachment verschicken.
Unter meinen bereitgestellten Objekten gibt es dafür das Benachrichtigungs-Objekt CALL_EMAIL_OUTPUTFILES. Es erlaubt, alle Parameter per PromptSet einzugeben.
Wenn Sie im PromptSet auswählen, dass die RunID automatisch erkannt werden soll, wird die angegebene ID ignoriert und CALL_EMAIL_OUTPUTFILES versucht, die RunID automatisch herauszufinden:
- Wird CALL_EMAIL_OUTPUTFILES in einem Workflow verwendet, wählt es die RunID des Vorgängers im Workflow.
- Ansonsten verwendet es den Wert von &UC_CAUSE_NR – beispielsweise wenn es über den “Output-Scan” eines Jobs aktiviert wurde
JOBS zum Versenden anderer Dateien
Manchmal können oder sollen Automic-Jobs Dateien nicht als externer Output registriert werden. Wenn Sie solche Dateien verschicken wollen, kommen die folgenden JOBS zum Einsatz.
Die beiden Jobs JOBS_*_REGISTER_EMAIL_OUTPUTFILES (je einer für Unix und Windows) registrieren das per PromptSet angegebene File als externen Output und versenden es danach per Output-Scan mit CALL_EMAIL_OUTPUTFILES.
Damit versenden Sie auch Dateien, die nicht von Automic-Jobs erstellt werden.
Die Objekte im Überblick
Ich habe die Objekte in vier Bereiche unterteilt. Die vier Dateien können Sie als Archiv am Ende des Artikels herunterladen.
Die vier Bereiche sind: FRONTEND, LIBRARY, EXAMPLES und UC4.RUNBOOK_PART.
FRONTEND
Enthält Objekte, die für den direkten Aufruf gedacht sind.
- CALL_EMAIL_OUTPUTFILES
Siehe Beschreibung weiter oben. Verwendet PRPT_EMAIL_OUTPUTFILES. - JOBS_*_REGISTER_EMAIL_OUTPUTFILES
Siehe Beschreibung weiter oben. Verwendet die PrompSets UC4.RB.PRPT.*.AGENTS, PRPT_FILE, PRPT_EMAIL_OUTPUTFILES.
Ruft im Output-Scan CALL_EMAIL_OUTPUTFILES auf.
LIBRARY
Enthält Objekte, die von den „FRONTEND“ Objekten benötigt werden.
- FILTER_REGISTER_OUTPUTFILE
Output-Filter erkennt, ob im Job das Script-Sprachmittel „:REGISTER_OUTPUTFILE“ ausgeführt wurde. - PRPT_EMAIL_OUTPUTFILES
PromptSet für Mailadressen, Mail-Betreff und RunID. - PRPT_FILE
PromptSet für Filenamen (vollqualifiziert) - VARA_OUTPUTFILES_TASKIDNR_SRCTYPE
Werteliste für “automatically” und “manually”.
EXAMPLES
Drei Beispiele zur Demonstration der diversen Use-Cases.
- EXAMPLE1_JOBP
Zeigt die Verwendung in einem Workflow. Der erste Job im Workflow erstellt und registriert eine externe Datei. Der Aufruf von CALL_EMAIL_OUTPUTFILES danach nimmt automatisch die RunID seines Vorgängers und versendet dessen externe Dateien. - EXAMPLE1_JOBS_CREATES_OUTPUTFILE
Beispiel-Job für Workflow-Beispiel.
Registriert die externe Datei im “Output”-Tab. - EXAMPLE2_JOBS_CREATES_OUTPUTFILE
Erstellt eine externe Datei und registriert sie mittels „:REGISTER_OUTPUTFILE“. Aufruf von CALL_EMAIL_OUTPUTFILES mittels “Output-Scan”. - EXAMPLE3_SCRI_EMAIL_FILE
Versand einer externen Datei per Script.
UC4.RUNBOOK_PART
Diese Objekte sind NICHT von mir, sondern sind Teil der UC4 Runbook Templates von Automic, die mit V9 und V10 der AE als Transportkoffer-Datei “UC4_RB_Functions” im DB-Verzeichnis mit den Initialdaten ausgeliefert wurden. Automic übernimmt dafür keine Haftung, und ich erst recht nicht.
Hinweis: Würde man diese Lösung in V11 oder höher neu bauen, so würde man statt dieser Runbook-Objekte das ITPA_SHARED Actionpack verwenden.
- UC4.RB.PRPT.UNX.AGENTS bzw. UC4.RB.PRPT.WIN.AGENTS
PromptSet mit einer Auswahlliste mit allen Unix bzw. Windows Agents und Login-Objekten des aktuellen Mandanten. - UC4.RB.VARA.UNX.SQLI.AGENT bzw. UC4.RB.VARA.WIN.SQLI.AGENT
SQLI-Variablen zur Ermittlung aller Unix bzw. Windows Agents des aktuellen Mandanten. - UC4.RB.VARA.UNX.SQLI.LOGINS bzw. UC4.RB.VARA.WIN.SQLI.LOGINS
SQLI-Variablen zur Ermittlung aller Unix bzw. Windows Login-Objekte des aktuellen Mandanten.
Ein paar Einschränkungen zur Nutzung
- Der Email-Versand von externen Dateien erfolgt direkt vom Agent. Wenn ein Agent keine Berechtigung dafür hat, funktionieren die Objekte nicht (Firewall, Whitelist am SMTP-Server, o.Ä.).
- Man kann nicht an endlos viele Adressen verschicken. 8 Adressen mit insgesamt 240 Zeichen haben bei mir aber problemlos funktioniert.
- Die Email hat zwar einen Betreff, aber keinen Body. Wenn Sie nette Nachrichten mit Ihren Berichten verschicken wollen, können Sie das PromptSet entsprechend erweitern oder im CALL-Objekt einen Standard-Text einfügen.
- Sie können die Objekte nach Belieben verwenden und modifizieren. Wenn Sie sie weitergeben, erwähnen Sie mich doch bitte – am Besten positiv 😉
- Und zum Schluss noch: Ich übernehme keine Haftung für irgendwelche Probleme oder Fehler, Datenverlust oder sonstigen Schaden, der Ihnen oder Ihrem IT-System durch die Verwendung meiner Dateien/Objekte entsteht. Ich stelle diese Objekte ohne Gewährleistung zur Verfügung.
Probieren Sie es selbst aus
Jetzt können Sie sich die XML-Dateien als Archiv herunterladen und sie selbst testen.
Viel Spaß damit!