stefankittel
Goto Top

Ubuntu 2. Mailserver parallel zu Postfix nur zum senden?

Hallo,

vieleicht hat das schon Jemand von Euch gemacht.

Ich habe auf mehreren Ubuntu 12er und 14er LTS Servern verschiedene Monitoringeigenschaften die eine Mail senden.
Mittels PHP oder Bash. Das funktioniert mit Sendmail und Postfix sehr gut.
Parallel setzten wir auch Nagios ein, aber einige Dinge sind so einfacher.
Z.B. eine Mail wenn sich Jemand mittels SSH als Root einwählt.

Nun kann es ja vorkommen, dass Postfix gerade streikt weil die Queue verspammt ist.
Also gehen die Mails nicht raus.

Kann man auf einfache Art und Weise einen 2. Mail-Server parallel installieren und mittels Sendmail oder einer vergleichbaren Möglichkeit ansprechen?
Das Ding ist nur zum senden da. Kein SMTP eingehend, keine Benutzer, easy

Alternativ schaue ich mir auch gerade rsyslog an.
Ziel soll sein eine Information so schnell und zuverlässig wie möglich an Server X zu übertragen.
Wenn die Verbindung gerade nicht möglich ist, dann lokal speichern und mit Zeitstempel später zustellen.
Was gibt es dafür sonst noch was man nicht selber programmieren muss?

Vielen Dank und viele Grüße

Stefan

Content-Key: 287950

Url: https://administrator.de/contentid/287950

Printed on: April 20, 2024 at 02:04 o'clock

Member: ashnod
ashnod Nov 10, 2015 at 07:07:19 (UTC)
Goto Top
Moin ...

Du magst lieber viel Aufwand betreiben ?

Wie wäre es ein Postfach bei einem Anbieter deiner Wahl zu eröffnen und dieses zum versenden zu nutzen ?

Keine Option ?

VG
Member: kaiand1
kaiand1 Nov 10, 2015 at 07:31:45 (UTC)
Goto Top
Wie währe es vorher zu Prüfen ob der Mailserver auch da ist bevor die Mails versendet wird ?
Sollte die Mail nicht versendbar sein packst du diese in eine Datenbank bis der Mailserver wieder erreichbar ist...

Und deine Informartion kannst du halt direckt übertragen aber wenn du über andere Server gehst dauert es "länger" da die Information ja Umwege geht..
Aber du kannst ja auch andere Protokolle nehmen als Mail wenn es so wichtig ist..

Du kannst ja auch zb als App Telegram nutzen um vom Server eine Message an dein Smartphone/User zu schicken.
Das würde sicherlich eher Bemerkt als wenn da ne Mail kommt die eh nur alle 15 Min vom Handy gecheckt wird...
Member: Lochkartenstanzer
Lochkartenstanzer Nov 10, 2015 updated at 07:53:15 (UTC)
Goto Top
Moin,

viel einfacher wäre da ein watchdog-Prozess, der drauf achtet, daß wichtige Prozesse, die unbedingt notwendig sind, laufen.

Und Mails kann man übrigens einfach per netcat verschicken. face-smile

lks
Member: StefanKittel
StefanKittel Nov 10, 2015 at 10:03:33 (UTC)
Goto Top
Hallo,

kurz als Info.
Zuverlässigkeit ist wichtiger als Geschwindigkeit.


Zitat von @ashnod:
Du magst lieber viel Aufwand betreiben ?
Ja und Nein.
Ja wenn das Ergebniss stimmt, Nein wenn es unnötig ist
KISS = Keep it simple stupid

Wie wäre es ein Postfach bei einem Anbieter deiner Wahl zu eröffnen und dieses zum versenden zu nutzen ?
Keine Option ?
Nein, auch deren Server können mal down sein oder mein eigener Server har gerade keine Verbindung


Zitat von @kaiand1:
Wie währe es vorher zu Prüfen ob der Mailserver auch da ist bevor die Mails versendet wird ?
Sollte die Mail nicht versendbar sein packst du diese in eine Datenbank bis der Mailserver wieder erreichbar ist...
Das wäre eine Lösung, aber ich ohne eigene Programmierung auskomme wäre mir das lieb.

Zitat von @Lochkartenstanzer:
viel einfacher wäre da ein watchdog-Prozess, der drauf achtet, daß wichtige Prozesse, die unbedingt notwendig sind, laufen.
Gibt es, aber dadurch wird meine Information immer noch nicht übertragen

Zitat von @Lochkartenstanzer:
Und Mails kann man übrigens einfach per netcat verschicken
Löst das Problem auch nicht.


Ich prüfe gerade Rsyslog. Bin mir aber nicht sicher ob das eine Queue hat wenn die Verbindung mal weg ist.
Alternativ würde ich eine lokale Log-Datei anlegen und ein Skript schreiben was die Inhalte dann Zeilenweise mit Curl überträgt.
Alternativ2 eine Postgres-Datenbank statt Log-Datei damit ich auf einem Live-System die MySQL-Datenbank nicht beeinträchtige.

Viele Grüße

Stefan
Member: Lochkartenstanzer
Lochkartenstanzer Nov 10, 2015 updated at 10:13:31 (UTC)
Goto Top
Zitat von @StefanKittel:

Zitat von @Lochkartenstanzer:
Und Mails kann man übrigens einfach per netcat verschicken
Löst das Problem auch nicht.

Wenn auf dem Zielsystem ein smtp läuft, soltle es doch möglich sein, dem an Postfix vorbei per Netcat eine Mail zuzustellen.

oder habe ich Dich falsch verstanden, und daa Zielsystem ist von der verstopften Mailqueue betroffen?

ich habe Dein Problem so verstanden:

  • Du hast ein Monitoring-system
  • Das muß viele (Monitoring-)Mails wegschicken.
  • Manchmal ist die Queue verstopft durch spam.
  • Dann soll die Monitoring-Mail anders rausgeschickt werden.

Korrekt so?

Oder ist das Problem ein smarthost, der von allen möglichen Systeme mails weiterleiten soll und manchmal durch SPAM abgelenkt ist?


Im ersteren Fall würde ein netcat-versand direkt an das Zielsystem vermutlich schon helfen.

lks
Member: StefanKittel
StefanKittel Nov 10, 2015 updated at 10:25:54 (UTC)
Goto Top
Hallo,

hier mal ein Ablauf.

Es tritt ein Ereigniss auf
Z.B. dem Server1 ein SSH Login von Root
Diese Information soll nun auf den Status-Server übertragen werden.

Der Status-Server soll diese Information in einer Datenbank speichern.
Sie wird dann weiterverarbeitet.

Möglichkeiten:

Send per Mail über einen lokalen postfix mit sendmail.
+einfach
+mit Queue
-Abhängig von Postfix
-Nicht 100% zuverlässig

Direktes speichern durch einen Aufruf von Curl (oder wget/netcat)
+sehr einfach
-keine Queue

rsyslog
oaufwendiger
?queue

rsyslog mit RELP
-noch aufwendiger
+100% zuverlässig
-RELP ist von 2008

Was gibt es noch was out of the box ohne eigenprogrammierung funktioniert?
Nicht dass ich nicht gerne programmieren, aber wenn es schon was gutes gibt?

Stefan
Member: StefanKittel
StefanKittel Nov 10, 2015 at 11:02:41 (UTC)
Goto Top
Hallo,

kurzes Update.
Rsyslog funktioniert schon mal, kann aber out of the box keine Queues.
Wenn die Verbindung fehlschlägt gehen die Daten verloren.

Ich suche und probiere mal weiter.

Stefan
Member: StefanKittel
StefanKittel Nov 10, 2015 at 12:39:31 (UTC)
Goto Top
Hallo,

mit diesen Zusätzen am Client speichert rsyslog die Einträge zwischen bis die Verbindung wieder steht.

$ActionQueueType LinkedList
$ActionResumeRetryCount -1
$ActionQueueSaveOnShutdown on

Jetzt schaue ich mal wie ich die Einträge am Server direkt in eine Datenbank bekommen.

Viele Grüße

Stefan
Member: runasservice
runasservice Nov 10, 2015 at 14:57:15 (UTC)
Goto Top
Hallo,

Nun kann es ja vorkommen, dass Postfix gerade streikt weil die Queue verspammt ist. Also gehen die Mails nicht raus.

Was ist mit einer weiteren Queue? Einfach mehre (unterschiedlich konfigurierte) Instanzen des Postfix-Servers einrichten. Dann hast Du einen "Kanal" für wichtige System-Meldungen.

Lese-Tipp: http://www.linux-magazin.de/Ausgaben/2009/09/Ueberholspuren

Grundsätzlich sollte man sich auch mit der Postfix - Performance beschäftigen, wenn nicht bereits schon ausgereizt face-wink

MfG Andreas