Monitoring von MailStore Server mithilfe der MailStore API und ConnectWise Automate

In diesem Artikel zeigen wir Ihnen, wie Sie mithilfe der MailStore API und ConnectWise Automate Ihre MailStore-Installation überwachen können. 
MailStore bietet von sich aus eine API, die mit der beliebten Programmiersprache Python angesprochen werden kann. Bevor die API für die Überwachung in ConnectWise Automate genutzt werden kann, sind ein paar Vorbereitungen zu treffen. 

1. Aktivierung der API in der MailStore-Dienstkonfiguration.

Hierfür öffnen Sie die MailStore-Dienstkonfiguration und navigieren in den Bereich "Netzwerkeinstellungen". Hier aktivieren Sie die Option "MailStore Administration API (HTTPS)". Der Standardport lautet 8463, nach einem Dienstneustart wird die Änderung aktiv. 


2. Ansteurung via Python

Nun kann die Ansteurung via Python beginnen. Hierfür wird mindestens die Python Version 3.2 benötigt, die neueste Version kann hier heruntergeladen werden. Nach der Installation muss die MailStore Python API Wrapper Bibliothek in den Ordner "site-packages" im Installationsverzeichnis eingebettet werden. Wichtig ist, dass Sie die Dateien in einen weiteren Unterordner des "site-packages" Verzeichnis ablegen, beispielsweise in den Ordner "MailStore". Sie können mit dem folgenden CMD-Befehl den Ordner ausfindig machen: 
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

Für UNIX-Systeme lautet der Befehl folgendermaßen: 

python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"

Nachdem Sie das Verzeichnis ausfindig gemacht haben, können Sie die MailStore API Wrapper Bibliothek für Python hier herunterladen. Diese müssen Sie nun in das genannte Verzeichnis entpacken. 


Nun können Sie mit der Entwicklung Ihrer eigenen Python-Skripte beginnen. MailStore bietet dafür eine Fülle an Funktionen, welche mit Python ausgeführt werden können. Eine vollständige Liste finden Sie hier. Ein Paket mit vorgefertigten Skripten, beispielsweise für die Abfrage des noch vorhandenen Lizenzplatzes, können Sie hier herunterladen. Nachfolgend finden Sie ein Beispiel für ein Python-Skript:

#Import der Bibliothek
import mailstore.mgmt
#Verbindungsaufbau mit dem MailStore Server
client = mailstore.mgmt.ServerClient(username="admin", password="XXXXXXX", host="localhost", port=8463, ignoreInvalidSSLCerts=True)
#Abrufen der in MailStore eingerichteten Benutzer
usedLicenses = len(client.GetUsers()["result"]) - 1
#Ausgabe der eingerichteten Benutzer
print(usedLicenses)

Dieses Skript liest die Anzahl der aktuell eingerichteten Benutzer des MailStore Server mithilfe der API aus. Für die Überwachung des Servers via ConnectWise Automate müssen Python und die entsprechende Bibliothek auf dem Server installiert sein, da wir die gewünschten Informationen mithilfe des Skripts und eines Remote Monitors auf dem Server auslesen möchten. 

3. Überwachung des MailStore Servers durch ConnectWise Automate.

Da wir nun ein API-Skript entwickelt haben, können wir dies via Remote Monitor auf dem MailStore Server ausführen lassen. Hierfür öffnen Sie das Control Center und anschließend den Agent mit der MailStore-Installation durch einen Doppelklick. Danach gehen Sie auf "Automation" → "Monitors". Es öffnet sich die Übersicht der Monitore, die auf dem Agent eingerichtet sind. Jetzt wählen Sie "Create Monitor" für die Erstellung eines neuen Monitors aus.

Nun erfolgt die Namensvergabe, die Client- und Target-Auswahl bleibt unverändert.



Im Bereich "Alerting" wählen wir nun das gewünschte "Alert Template" und weitere "Alert Properties" aus, falls benötigt. 
 

Bei "Configuration" wird nun festgelegt, welcher Monitor Typ genutzt werden soll. Da wir einen Befehl in der Kommandozeile ausführen möchten, wählen wir "External EXE Check". 
Den Befehl zum Start des Python Skriptes können wir ganz einfach via CMD auslösen. Wir geben nun den nachfolgenden Befehl ein: 

C:\windows\system32\cmd.exe /c C:\MailStore.py
Damit wird das MailStore-Skript auf dem Server ausgeführt. Den zu verwendenden CMD-Befehl testen Sie bestenfalls in der lokalen CMD auf dem Server, dann können Sie sicherstellen, dass das Skript aufgerufen werden kann. Mit der Schaltfläche "Test" können wir überprüfen, ob die Abfrage erfolgreich war: 

Mit diesem Monitor werden nun erfolgreich die aktuell eingerichteten MailStore-Benutzer überprüft und es können weitere Monitore angelegt werden.