Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:middleware:push-server

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:middleware:push-server [2017/04/09 08:48] – Bild, Mehrwert jausoftware:middleware:push-server [2023/07/05 09:39] (aktuell) – [Vzlogger] Konfig-Änderung umformuliert jau
Zeile 2: Zeile 2:
 {{ :software:middleware:pushserver_comparison.jpg?250|}} {{ :software:middleware:pushserver_comparison.jpg?250|}}
 Der Push-Server (PS) ist ein Dienst der Teile der Middleware nutzt um Echtzeitwerte an Clients auszuliefern. Quelle für die Rohdaten ist der vzlogger. Ausgeliefert werden aber nur Daten von Kanälen die in der Middleware konfiguriert sind.\\ Der Push-Server (PS) ist ein Dienst der Teile der Middleware nutzt um Echtzeitwerte an Clients auszuliefern. Quelle für die Rohdaten ist der vzlogger. Ausgeliefert werden aber nur Daten von Kanälen die in der Middleware konfiguriert sind.\\
-Im Git ist eine tiefer gehende Beschreibung verfügbar: [[https://github.com/volkszaehler/volkszaehler.org/blob/master/misc/tools/README.md|./misc/tools/README.md]]+Im Git ist eine tiefer gehende Beschreibung verfügbar: [[https://github.com/volkszaehler/volkszaehler.org/blob/master/bin/README.md|./bin/README.md]]
  
 Ziel der Daten können das Frontend oder andere Clientanwendungen wie z.B. [[https://nodered.org|Node-RED]] sein.\\ Ziel der Daten können das Frontend oder andere Clientanwendungen wie z.B. [[https://nodered.org|Node-RED]] sein.\\
 Beim VZ-Frontend liegt der Mehrwert darin hochauflösende Daten darzustellen ohne die Datenbank mit diesen Daten zu "belasten". In der Regel ist eine solche Detailtiefe ein Jahr später nicht mehr von Interesse, von daher brauchen sie auch nicht gespeichert werden. Beim VZ-Frontend liegt der Mehrwert darin hochauflösende Daten darzustellen ohne die Datenbank mit diesen Daten zu "belasten". In der Regel ist eine solche Detailtiefe ein Jahr später nicht mehr von Interesse, von daher brauchen sie auch nicht gespeichert werden.
  
 +<note warning>**Sicherheitshinweis:** Der Push-Server liefert die Daten **aller** Kanäle an die verbunden Clients aus. Unabhängig davon ob sie abonniert, nicht abonniert, als öffentlich oder privat konfiguriert sind.</note> 
 ===== Konfiguration ===== ===== Konfiguration =====
-Um den PS zu nutzen sind ein paar Änderungen nötig.+Um den PS zu nutzen sind ein paar Änderungen an (alter) Middleware, PS-Systemdienst, vzlogger und Frontend nötig.
  
 ==== Middleware ==== ==== Middleware ====
-Standardmäßig ist der PS deaktiviertum das zu ändern muss er enabled werden:+Seit Version 2.0 der Middleware ist der Empfang vom PS-Daten schon standardmäßig eingerichtetdieser Punkt kann daher übersprungen werden. 
 + 
 +In älteren Versionen muss er noch aktiviert werden:
 <code | volkszaehler.conf.php> <code | volkszaehler.conf.php>
 /** /**
Zeile 28: Zeile 31:
  
 Gestartet wird der PS an der Konsole mit: Gestartet wird der PS an der Konsole mit:
-<code>php /var/www/volkszaehler.org/misc/tools/push-server.php</code> +<code>php /var/www/volkszaehler.org/bin/push-server</code> 
-Es ist aber besser einen vollwertigen Hintergrunddienst einzurichten.+Es ist aber besser stattdessen einen vollwertigen Hintergrunddienst (z.B. über Systemd) einzurichten.
  
 ==== Systemd ==== ==== Systemd ====
-Für Debian "Jessie" (Raspberry-Image) ist Systemd folgendermaßen einzurichten:+Für Debian (Raspberry-Image) ist der Hintergrunddienst folgendermaßen einzurichten:
 <code>sudo nano /etc/systemd/system/push-server.service</code> <code>sudo nano /etc/systemd/system/push-server.service</code>
 Inhalt der Datei: Inhalt der Datei:
 <code | push-server.service> <code | push-server.service>
 [Unit] [Unit]
-Description=push-server+Description=Volkszaehler.org Push-Server
 After=syslog.target network.target After=syslog.target network.target
 Requires= Requires=
  
 [Service] [Service]
-ExecStart=/usr/bin/php /var/www/volkszaehler.org/misc/tools/push-server.php+ExecStart=/usr/bin/php /var/www/volkszaehler.org/bin/push-server
 ExecReload=/bin/kill -HUP $MAINPID ExecReload=/bin/kill -HUP $MAINPID
-StandardOutput=null+StandardOutput=journal
 Restart=always Restart=always
  
Zeile 57: Zeile 60:
  
 ==== Vzlogger ==== ==== Vzlogger ====
-Die vzlogger-Konfiguration um die Zeilen erweitern:+Die folgenden Zeilen in die vzlogger-Konfiguration einfügen:
 <code | vzlogger.conf> <code | vzlogger.conf>
 "push": [ "push": [
   {   {
-    "url": "http://127.0.0.1:5582"  // notification destination, e.g. frontend push-server+    "url": "http://127.0.0.1:5582"
   }   }
 ], ],
Zeile 67: Zeile 70:
  
 Vzlogger neu starten: Vzlogger neu starten:
-<code>sudo systemctl stop vzlogger +<code>sudo systemctl restart vzlogger</code>
-sudo systemctl start vzlogger</code>+
  
 ==== Frontend ==== ==== Frontend ====
Zeile 79: Zeile 81:
  {  {
  title: 'Local (default)',  title: 'Local (default)',
- url: '../middleware.php',+ url: 'api',
  live: 8082  live: 8082
 </code> </code>
  
 ===== Hinweise ===== ===== Hinweise =====
-Angezeigt werde die empfangenen Werte im Zuge der automatischen Aktualisierung.+Angezeigt werden die empfangenen Werte im Zuge der automatischen Aktualisierung.
  
-Daten die der PS ausliefert werden vom Frontend nicht gespeichert. Wird das Browserfenster geschlossen oder die Darstellung manipuliert sind die Werte verloren und es wird auf Daten zurückgegriffen die in der Datenbank hinterlegt sind.+Datendie der PS ausliefert werden vom Frontend nicht gespeichert. Wird das Browserfenster geschlossen oder die Darstellung manipuliert sind die Werte verloren und es wird auf Daten zurückgegriffendie in der Datenbank hinterlegt sind.
software/middleware/push-server.1491720513.txt.gz · Zuletzt geändert: 2017/04/09 08:48 von jau