Verwenden von Jabber zum Senden von Netzwerknachrichten

Verwenden von Jabber zum Senden von Netzwerknachrichten

Wir müssen Desktop-Benachrichtigungen an verschiedene Benutzer (Compliance, Produktion) über ein Netzwerk senden, wenn andere Benutzer online Inhalte für einen Bericht übermittelt haben.

Wir verwenden derzeit NET SEND, allerdings gibt es dabei keine Zustellgarantie und das Programm hat sich sowohl aus Client- als auch aus Serversicht als unzuverlässig erwiesen (und ich gehe davon aus, dass es in späteren Windows-Versionen nicht mehr unterstützt wird; wir verwenden derzeit XP).

Wir ziehen eine Jabber-basierte Lösung in Erwägung, aber hat schon jemand einen Jabber-Client verwendet, um Warnmeldungen auf dem Bildschirm einzublenden, wie es NET SEND tut, anstatt nur ein Chat-Fenster in den Vordergrund zu bringen oder eine temporäre „Toast“-Meldung neben der Taskleiste anzuzeigen?

Wir brauchen eine dauerhafte Warnmeldung, die nur vom Benutzer gelöscht werden kann, um anzuzeigen, dass er sie gesehen hat. Popups im Toast-Stil wären in Ordnung, solange sie nicht nur für eine begrenzte Zeit angezeigt werden und vom Benutzer erneut gelöscht werden müssen.

Irgendwelche Lösungen?

Antwort1

Wir haben etwas Ähnliches im Haus. Wir verwenden den Miranda IM-Client mit den Plugins „Notifyanything“ und „Popup“.

Mit Notifyanything kann der Client UDP-Nachrichten auf einem angegebenen Port empfangen. Popup macht genau das und zeigt die Nachricht im Fenster oben auf dem Benutzerbildschirm an.

In unserem Fall befindet sich alles im internen Netzwerk, sodass der Verlust von UPD-Paketen kein Problem darstellt.

Hier ist ein Beispiel des Python-Skripts, das wir ausführen, um die UDP-Nachrichten von den Servern an die Benutzer zu senden:

#!/usr/bin/python

import socket, sys

hosts = (
  ('10.0.0.1',  15000),
  ('10.0.0.2',  15000),
  ('10.0.0.3',  15000),
)

def send(txt):
  s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
  for h,p in hosts:
    s.sendto(txt, 0, (h,p))
  del s

if len(sys.argv) > 1:
  s = "\n".join(sys.argv[-2:])
  send(s)

Antwort2

Ich bin auf genau dieses Problem gestoßen. Das Ziel war, jede Warnung über einen Eskalationspfad zu übermitteln – die Warnung sollte an die nächste Person in der Liste gesendet werden, wenn sie nicht innerhalb eines bestimmten Zeitraums bestätigt wurde. Wir kamen zu dem Schluss, dass Jabber die beste Lösung war, aber dass wir, um es richtig zu machen, das Protokoll erweitern oder mehr Clients untersuchen mussten. (Das Protokoll eignet sich sehr gut für Erweiterungen und es sind unzählige Clients verfügbar.) Dieses Problem bestand darin, dass es häufig wünschenswert war, einige Warnungen zu bestätigen, andere jedoch nicht.

Beispiel: Der endgültige Pfad einer Warnung:

Per Jabber an Administrator A senden.
Nach 5 Minuten keine Bestätigung, per Jabber an Admin B gesendet.
Nach 5 Minuten keine Bestätigung, wird per SMS an Admin A gesendet.
Nach 5 Minuten keine Bestätigung, wird per SMS an Admin B gesendet.
Nach 5 Minuten keine Bestätigung, per Jabber an Admin A und Manager von B gesendet.
Nach 5 Minuten keine Bestätigung, diese wurde per SMS an Admin A und den Vorgesetzten von B gesendet.
Der Manager wertet den Alarm aus, bestätigt ihn oder ruft Administrator A oder B an.

Der Haken dabei ist, dass Administrator A oder B, wenn mitten in diesem Prozess ein zweiter Alarm generiert wird, diesen möglicherweise bestätigen möchte, den ersten Alarm jedoch nicht. Wenn sie beispielsweise mit einem anderen Problem beschäftigt sind, das den anderen Alarm generiert hat, oder wenn sie sich nicht in der Nähe eines Computers befinden, wissen Sie, dass der zweite Alarm nicht ernst gemeint ist, der erste Alarm jedoch von jemandem in der Nähe eines Computers bearbeitet werden muss und der Eskalationsmechanismus der effizienteste Weg ist, die richtige Person zu finden.

Es gab zwei Arten der Nachrichtenübermittlung in Jabber. (Ich glaube, sie hießen „normal“ und „Chat“). Es ist möglich, dass eine der beiden Arten eine Unterscheidung erlaubte, bei der auf die Nachricht geantwortet wurde. Leider verursachte die Nachrichtenart, die dies möglicherweise ermöglicht hätte, bei den von uns getesteten Clients extreme Unannehmlichkeiten, wenn eine große Flut von Nachrichten einging. (Außerdem bin ich mir nicht sicher, ob die Testpersonen festgestellt haben, ob es tatsächlich möglich war, zu unterscheiden, worauf geantwortet wurde, da dieses Problem die Tests überforderte).

Da es sich um ein Sondierungsprojekt handelte und wir nicht wirklich Zeit hatten, eine vollständige Lösung zu implementieren, haben wir nicht ermittelt, ob das Problem nur darin bestand, einen besseren Client auszuwählen, oder ob Erweiterungen des Protokolls erforderlich waren. Ich bin immer noch der Meinung, dass Jabber die beste Methode ist, um Alarme zu übermitteln. Bei jedem System zur Übermittlung/Eskalation von Alarmen sollte eine Person, die einen Alarm bestätigt, die Verantwortung für den Alarm übernehmen, und es sollten Konsequenzen für alle auftreten, die einen Alarm nicht bestätigen. Dies muss so funktionieren, dass das System versteht, wie man eine Person am besten erreicht, wie ein Bereitschaftsdienst funktioniert, wie hoch das Risiko einer Alarmflut ist, wie hoch das Problem von Alarmen ist, die von einer Person erstellt werden, die derzeit nicht im Dienst ist, und wie alle politischen Überlegungen aussehen, die durch ein Alarmierungssystem entstehen, das versehentlich Verantwortlichkeit schafft, wenn das vorhandene System keine hat.

Antwort3

Es tut mir leid, dass dies keine genaue Antwort auf Ihre Frage (zu Jabber) ist, aber vielleicht möchten Sie sich ReachAlert ansehen.

http://www.tekalign.com/

Dadurch wird verhindert, dass Ihre Jabber-Implementierung beschädigt wird, da andere Benutzer sie möglicherweise für andere Zwecke verwenden möchten (Chatten, Senden von Nachrichten an andere Benutzer).

Ich stimme auch zu, was Net Send betrifft. Es wird abgeschafft und es ist gängige Praxis, es zu deaktivieren, da es zum Spammen missbraucht wurde.

Lass mich wissen, was du denkst und wie es läuft ;-)

Antwort4

Habe den PSI-Jabber-Client verwendet. Er hat Popup-Benachrichtigungen und Soundbenachrichtigungen. Dasselbe gilt für den JAJC-Jabber-Client.

verwandte Informationen