Zum Inhalt springen

MDaemon Email Server

Die Mail-Dienste eines MDaemon-Servers, von außen geprüft: SMTP, IMAP, POP3, Webmail und Remote Administration akzeptieren Verbindungen und grüßen wie erwartet. Mit einem Konto liest DumbMonit zusätzlich die genaue Version über die XML-API. Mit dem auf dem MDaemon-Server installierten Agent zeigt dieselbe Seite auch die Mail-Warteschlangen, Sitzungen und Nachrichtenzahlen, die MDaemon nur als Windows-Leistungszähler veröffentlicht.

Alle Metriken haben das Präfix dumbmonit_mdaemon_.

MetrikLabelsBedeutung
service_upservice, port1, wenn der Port die Verbindung angenommen hat und, für SMTP, POP3 und IMAP, mit 220, +OK oder * OK grüßte. 0, wenn er nicht antwortete, oder antwortete, um den Dienst zu verweigern (421, 554, -ERR, * BYE).
service_response_secondsservice, portZeit bis zur Begrüßung, oder bis zur Verbindung bei einem Port ohne eine.
api_upNur mit einem Konto: 1, wenn die XML-API antwortete, 0, wenn nicht.
api_response_secondsZeit, die die XML-API zum Antworten brauchte.
api_operation_ok1, wenn das Konto den Aufruf ausführen durfte, 0, wenn MDaemon mit einem Fehlerstatus antwortete.
info (Wert 1)version, build, sourceDie Version: von der XML-API (source="xml_api", build ist der Dienst-Build), oder sonst von der SMTP-Begrüßung, wenn der Server sie dort ankündigt (source="smtp_banner").
scrape_duration_secondsZeit, die die gesamte Prüfung brauchte.

Ein teilweiser Ausfall ist weiterhin eine erfolgreiche Prüfung. Ein gestoppter Dienst gibt für diesen Dienst service_up 0, und die anderen werden weiterhin gemessen. Nur wenn kein Dienst und keine API überhaupt antwortet, ist der Monitor unreachable.

Ein abgelehntes Konto ist ein Konfigurationsfehler, kein Ausfall. Ein falsches Passwort, eine von der XML-API nicht erlaubte Adresse, oder ein falscher Port wird auf der Monitorseite mit dem Grund angezeigt und nicht benachrichtigt.

Warteschlangen kommen vom Agent, nicht von diesem Monitor. MDaemon veröffentlicht seine Warteschlangengrößen (Inbound, Local, Remote, Retry, Bad, Holding, Quarantine), seine Sitzungszahlen, seine Nachrichtenstatistiken und seine Uptime als Windows-Leistungszähler, im Objekt namens MDaemon, und in seinem eigenen Queue and Statistics Manager. Keine von MDaemons veröffentlichter Dokumentation beschreibt einen XML-API-Aufruf, der sie zurückgibt, daher rät dieser Monitor keinen: Der auf dem MDaemon-Server installierte Agent liest stattdessen die Leistungszähler. Siehe Mail-Warteschlangen über den Agent. Die Lizenz und der Plattenplatz des Mail-Stores werden über keine dokumentierte Schnittstelle oder einen Leistungszähler exponiert und nicht gelesen. Der Agent beobachtet auch die Platte mit dem Mail-Store; listen Sie den MDaemon-Dienst in seiner services-Einstellung, um den Windows-Dienst selbst zu beobachten.

Die geltenden eingebauten Regeln: MDaemon mail service down, MDaemon XML API not answering, plus Device unreachable; mit dem Agent, MDaemon mail queue growing, MDaemon Bad queue not empty und MDaemon Retry queue high.

Ein MDaemon-Monitor zeigt ein Mail services-Panel über den Diagrammen, aus der letzten gespeicherten Messung gelesen: Das Öffnen der Seite verbindet sich nie mit dem Server. Es listet jeden beobachteten Dienst mit seinem Port, einem Wort und einer Farbe (Answering, Down), und seiner Antwortzeit; dann die Version und wo sie gelesen wurde. Gestoppte Dienste kommen zuerst.

Wenn der Agent auf demselben Server MDaemons Zähler meldet, folgt ein Mail queues-Panel: die Anzahl der Nachrichten in jeder Warteschlange (eine eingefrorene Warteschlange, eine nicht leere Bad-Warteschlange und mehr als fünfzig Nachrichten in Retry werden wörtlich markiert), die aktiven Sitzungen, die Nachrichten und Spam-, Virus- und DNSBL-Urteile der letzten 24 Stunden, MDaemons Uptime, und die von MDaemon als inaktiv gemeldeten internen Server. Dasselbe Panel erscheint auf der eigenen Seite des Agents.

  1. Installieren Sie den Agent auf dem Windows-Server, der MDaemon ausführt. Nichts sonst ist nötig: Der Agent bemerkt den Windows-Dienst namens MDaemon und liest die Zähler des MDaemon-Leistungsobjekts bei jeder Sampling-Periode. Um es zu erzwingen oder abzuschalten, setzen Sie mdaemon: true oder mdaemon: false in agent.yaml.
  2. Die Warteschlangen erscheinen auf der Seite des Agents. Um sie auch auf diesem MDaemon-Monitor anzuzeigen, sucht DumbMonit nach dem Agent auf derselben Maschine: der als übergeordneter Monitor dieses Monitors gesetzte Agent, oder der ihn abfragende Relay-Agent, oder der Agent, dessen Hostname zur Adresse dieses Monitors passt (mail für mail.example.com), oder, wenn es ein MDaemon-Monitor und einen MDaemon-Zähler meldenden Agent gibt, dieser Agent. Passt keiner, bearbeiten Sie diesen Monitor und wählen Sie den Agent als seinen Parent monitor: Der Agent und MDaemon teilen sich die Maschine, daher werden, wenn der Agent verstummt, auch die Alarme dieses Monitors zurückgehalten.

Die Zeitreihen gehören dem Agent, mit seinem target-Label. Alle mit dem Präfix dumbmonit_mdaemon_:

MetrikLabelsGelesene Leistungszähler
queue_messagesqueue: inbound, local, remote, retry, bad, holding, lan, quarantine, rawInbound queue messages, Local queue messages, Remote queue messages, Retry queue messages, Bad queue messages, Holding queue messages, LAN queue messages, Quarantine queue messages, RAW queue messages
queue_frozen (1 eingefroren)queue: inbound, local, remoteInbound queue frozen, Local queue frozen, Remote queue frozen
sessions_activeprotocol: smtp_in, smtp_out, pop3_in, pop3_out, imap, webmailActive SMTP (in) sessions, Active SMTP (out) sessions, Active POP3 (in) sessions, Active POP3 (out) sessions, Active IMAP sessions, Active Webmail sessions
sessions_total (Zähler)protocol: smtp_in, smtp_out, pop3, imapSMTP sessions (in) total, SMTP sessions (out) total, POP3 sessions total, IMAP sessions total
messages_total (Zähler)protocol: smtp_in, smtp_out, domainpop_inSMTP messages (in) total, SMTP messages (out) total, DomainPOP messages (in) total
filtered_messages_total (Zähler)filter: spam, virus, dnsbl; verdict: accepted, refusedspam accepted total, spam refused total, Viruses accepted total, Viruses refused total, DNSBL accepted total, DNSBL refused total
server_active (1 aktiv)server: smtp, pop3, imap, webmail, webadmin, activesync, antispam, antivirus, minger, multipop, domainpopSMTP server state, POP3 server state, IMAP server state, Web Mail server state, Web Admin server state, ActiveSync server state, AntiSpam server state, AntiVirus server state, Minger server state, MultiPOP server state, DomainPOP server state
running (1 laufend)MDaemon running state
uptime_secondsMDaemon up time

Totals zählen seit dem letzten Start von MDaemon: Wenden Sie increase() oder rate() in Abfragen an, wie die Seite es für ihre 24-Stunden-Werte tut. Die Pro-Sekunde-Zähler (SMTP messages (in)/sec…) werden nicht gelesen, da die Totals dieselben Raten geben. Ein Zähler, den Ihre MDaemon-Version nicht hat, oder anders benennt, wird einmal im Log des Agents gemeldet (performance counter not available), und die anderen werden weiter gelesen; um einen vom Preset fehlenden zu lesen, listen Sie ihn unter perf_counters in agent.yaml (siehe Windows-Leistungszähler).

Die Mail-Dienste beobachten, und optional die XML-API

Abschnitt betitelt „Die Mail-Dienste beobachten, und optional die XML-API“
  1. Nichts auf dem Server zu installieren. Ohne Credential verbindet sich DumbMonit von außen mit den Mail-Ports und liest jede Begrüßung: standardmäßig SMTP (25), IMAP (143) und Webmail (3000). Fügen Sie POP3, MSA, die TLS-Ports oder Remote Administration in der Option Services hinzu, als Liste wie diese.

    smtp,msa,imap,pop3,imaps,webmail
  2. Um auch die Version über die XML-API zu lesen, erstellen Sie ein dediziertes Konto in MDaemon, zum Beispiel wie folgt benannt, mit einem nirgendwo sonst genutzten langen Passwort. Geben Sie ihm das niedrigste von Ihrem MDaemon akzeptierte Level für die XML-API, und nicht mehr: DumbMonit ruft nur GetVersionInfo auf, das kein Postfach liest und nichts ändert.

    dumbmonit@example.com
  3. Seit MDaemon 24 beantwortet die XML-API nur die ihr erlaubten Adressen. Öffnen Sie Setup → XML API Service → Address Restrictions (Setup → XML API Management auf MDaemon 26) und erlauben Sie die Adresse, von der aus DumbMonit sich verbindet.

  4. Prüfen Sie vom DumbMonit-Host aus, dass das Konto die API erreicht. Der Befehl fragt nach dem Passwort und gibt eine Antwort aus, die mit <MDaemon><API productversion=…> beginnt.

    curl -k -u dumbmonit@example.com -H 'Content-Type: text/xml' --data '<MDaemon><API><Request version="20.0.0" echo="0" verbose="0"><Operation>GetVersionInfo</Operation><Parameters/></Request></API></MDaemon>' https://mail.example.com:444/MdMgmtWS/
  5. Geben Sie in DumbMonit die Serveradresse ein, zum Beispiel “mail.example.com”, dann die vollständige E-Mail-Adresse des Kontos als Benutzername, und sein Passwort. Die XML-API wird auf dem HTTPS-Port der Remote Administration erreicht, standardmäßig 444.

Die XML-API wird vom Remote-Administration-Webserver bedient: standardmäßig Port 1000 über HTTP und 444 über HTTPS, unter /MdMgmtWS/, oder von IIS, wenn Remote Administration dort läuft. Ihre vollständige Referenz wird mit dem Server geliefert: Öffnen Sie https://mail.example.com:444/MdMgmtWS in einem Browser, oder sehen Sie in \MDaemon\Docs\API\XML API\.

CredentialFelder
Nur DiensteNichts: Die Mail-Ports werden ohne Login geprüft.
XML-API-KontoDie vollständige E-Mail-Adresse des Kontos, und sein Passwort, als HTTP-Basic-Authentifizierung gesendet.

Adresse: der Hostname oder die IP des Servers, zum Beispiel mail.example.com. Ein in der Adresse geschriebener Port (mail.example.com:8444) wird als XML-API-Port genommen.

OptionStandardWirkung
servicessmtp,imap,webmailWas geprüft wird, kommagetrennt: smtp (25), msa (587), smtps (465), pop3 (110), pop3s (995), imap (143), imaps (993), webmail (3000), remote_admin (1000), remote_admin_https (444), xmpp (5222). name:port ändert einen Port; jeder andere Name mit seinem Port fügt einen eigenen Dienst hinzu, nur per Verbindung geprüft. none prüft keinen Port.
request_timeout_seconds10Erlaubte Zeit für jede Verbindung, Begrüßung und API-Aufruf, von 1 bis 60.
api_port444Der Remote-Administration-Port, der /MdMgmtWS/ bedient. Nur mit einem Konto genutzt.
api_tlstrueHTTPS zur XML-API. Nur für Remote Administration über einfaches HTTP (standardmäßig Port 1000) entfernen: Das Passwort durchläuft dann das Netzwerk im Klartext.
insecure_tlsfalseEin selbstsigniertes Zertifikat auf der XML-API akzeptieren.

Die TLS-Ports (smtps, pop3s, imaps, remote_admin_https) werden nur per Verbindung geprüft. Um den Ablauf ihrer Zertifikate zu beobachten, fügen Sie für jeden ein TLS-Zertifikat-Monitor hinzu.