OSCAT Forum

network.lib => Codesys 2 => Thema gestartet von: neonightmare am 30. Mai 2011, 09:43:41

Titel: RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 30. Mai 2011, 09:43:41
Ich betriebe  einen ubuntu-server und möchte diesen als rrd-server mit der wago nutzen. Leider konnte ich bis ahnin das Demoprogramm von oscat dazu nicht zum laufen bringen, hier einige Infos:


Server (ubuntu 11.04 server):
sudo apt-get install rrd-tool-> rrd-Tool funktioniert, Apache2 ebenfalls
-> unter /var/www/rrd/ sind die drei scrips gemäss oscat.de abgelegt.

Wie müssen die Rechte auf dem Server sein, damit die Steuerung auch den php Aufruf machen kann?
Ich habe:
sudo chmod -R 777 /var/www/rrdgemacht.

Der Aufruf auf der Konsole des Servers müsste ja eigentlich auch funktionieren, tut er aber leider nicht (test2 ist ein weiterer Versuch):


neonightmare@ubuntudellserver:/var/www/rrd$ ls -l
insgesamt 1028
-rwxr-xr-x 1 neonightmare neonightmare   1119 2011-05-25 22:52 chart_test_rrd2.php
-rwxrwxrwx 1 root         root           1106 2011-05-24 21:16 chart_test_rrd.php
-rwxr-xr-x 1 neonightmare neonightmare   1242 2011-05-25 22:56 create_test_rrddb2.php
-rwxr-xr-x 1 neonightmare neonightmare   1385 2011-05-25 23:21 create_test_rrddb2.php.save
-rwxrwxrwx 1 root         root           1385 2011-05-24 21:23 create_test_rrddb.php
-rwxrwxrwx 1 neonightmare neonightmare 127652 2011-05-29 17:35 test2.rrd
-rwxrwxrwx 1 neonightmare neonightmare 890132 2011-05-25 22:36 test.rrd
-rwxr-xr-x 1 neonightmare neonightmare    461 2011-05-25 23:11 test_rrd2.php
-rwxrwxrwx 1 root         root            459 2011-05-24 21:16 test_rrd.php

neonightmare@ubuntudellserver:/var/www/rrd$ http://ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=98
[1] 12836
neonightmare@ubuntudellserver:/var/www/rrd$ -bash: http://ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd: Datei oder Verzeichnis nicht gefunden
neonightmare@ubuntudellserver:/var/www/rrd$ ^C
[1]+  Exit 127                http://ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd

neonightmare@ubuntudellserver:/var/www/rrd$ -bash: http://ubuntudellserver/rrd/test_rrd2.php?rrd_db=test2.rrd: Datei oder Verzeichnis nicht gefunden

[1]+  Exit 127                http://ubuntudellserver/rrd/test_rrd2.php?rrd_db=test2.rrd
neonightmare@ubuntudellserver:/var/www/rrd$

Hier meine test_rrd.php:

<?php
# wird von Steuerung so aufgerufen
# http://mein_server/test_rrd.php?rrd_db=test.rrd&value=10:20:30:40:50:60
$rrd_db urldecode($_GET['rrd_db']); # Name der RRD Datenbank
$value urldecode($_GET['value']); # &#252;bergebene Werte
# $array_value = explode(":",$value);
# echo "$rrd_db <br>";
# print_r($array_value);
# echo "<br>";
$commando "/usr/bin/rrdtool update " $rrd_db " N:" $value;
system($commando,$fehler);
echo 
$fehler $commando;
?>


Leider werden auch von der Steuerung keine Daten übernommen, die Datenbank zeigt immer NaN (Not a Number).


Steuerung (Wago 750-841)
-> angepasstes Demo-Programm oscat.de
Baustein "Dlog_rrd_store" zeigt keine Fehlermeldungen an (Error_T & Error_C jeweils '0')


Wie kann ich weiter vorgehen, debuggen, wie kann ich die test.rrd am einfachsten betrachten bzw. überprüfen?

--> Ich werde am Ende ein kleines HowTo erstellen, um für andere die Einrichtung zu erleichtern.

Danke für Eure Hilfe

Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: NetFritz am 30. Mai 2011, 12:36:58
Hallo

Hast Du auf deinem Ubuntu Rechner MC (Midnight Commander)installiert.
Ist sowas wie der NortenComander und kann das Arbeiten in der Konsole erleichtern.

RRD-Tool ist manchmal recht zickig.
Bevor es mit der Wago läuft muss es erst mal von der Konsole aus gehen.

Wie sieht denn deine create_test_rrddb.php aus ?

Du kannst Dir dann aus der Konsole die DB mit
rrdtool dump filename.rrd > filename.xml ansehen.

Zum füllen der DB kannst Du dann aus der Konsole rrdtool update so aufrufen.
"rrdtool update test.rrd N:5:10:15:20:25:30:35"
Danach kannst Du mit rrdtool dump deine DB ansehen.

Wenn das geschafft ist machen wir weiter.

Gruß NetFritz
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 30. Mai 2011, 13:34:55
Hallo NetFritz

Danke für deine Unterstützung!

mc kenne ich und ist für mich auch ein muss auf der Konsole  ;)

nano create_test_rrddb.php
#!/etc/php5/cli -q
<?php
error_reporting
(E_ALL);
# ==================================
# Erstellt eine rrd-Datenbank
# wird einmal von der Console aufgerufen
# 12.11.2010 by NetFritz
# ==================================
# create wp.rrd legt die Datenbank test.rrd an
# --step 60 alle 60sec wird ein wert erwartet
# DS:t1:GAUGE:120:0:100 es wird eine Datenquelle mit dem Namen t1 angelegt,
# der Typ ist Gauge est wird 120sec gewartet auf neue Daten wenn nicht
# werden die Daten als UNKNOWN in die Datenbank geschrieben
# der minimale und Maximale Messwert
# RRA:AVERAGE:0.5:1:2160 Das ist rrd-Archiv AVERAGE=Mittelwert 0.5= Intervallabweichung
#
#36h Archiv jede Minute ein Wert, 1:2160 = 1h=3600sec 36h*3600=129600
#1Minute=60sec jede Minute ein Wert, 129600/60=2160 Eintr&#195;&#164;ge
#
#RRA:AVERAGE:0.5:5:2016 1Woche
#Archiv alle 5Minuten 3600*24h*7Tage=604800Sec / (5Minuten+60Sec=2016 Eintr&#228;ge 1Wert,
# RRA:AVERAGE:0.5:15:2880 30Tage Archiv alle 15Minuten 1Wert,
# RRA:AVERAGE:0.5:60:8760 1Jahr Archiv alle 60Minuten ein Wert
# jetzt geht es los
$command="rrdtool create test.rrd \
--step 60 \
DS:t1:GAUGE:120:0:100 \
DS:t2:GAUGE:120:0:100 \
DS:t3:GAUGE:120:0:100 \
DS:t4:GAUGE:120:0:100 \
DS:t5:GAUGE:120:0:100 \
DS:t6:GAUGE:120:0:100 \
DS:t7:GAUGE:120:0:100 \
RRA:AVERAGE:0.5:1:2160 \
RRA:AVERAGE:0.5:5:2016 \
RRA:AVERAGE:0.5:15:2880 \
RRA:AVERAGE:0.5:60:8760"
;

Habe nun die Datenbank neu erstellt:

neonightmare@ubuntudellserver:/var/www/rrd$ php create_test_rrddb.php
update scheint ohne Fehler zu gehen
neonightmare@ubuntudellserver:/var/www/rrd$ rrdtool update test.rrd N:5:10:15:20:25:30:35Dump in ein *.xml tut nun auch (Danke für den Tipp!)

neonightmare@ubuntudellserver:/var/www/rrd$ rrdtool dump test.rrd > test.xml
Leider sehe ich mittels mc im test.xml die Einträge nicht, hier ein Auszug aus der xml:

?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rrd SYSTEM "http://oss.oetiker.ch/rrdtool/rrdtool.dtd">
<!-- Round Robin Database Dump -->
<rrd>
        <version>0003</version>
        <step>60</step> <!-- Seconds -->
        <lastupdate>1306754963</lastupdate> <!-- 2011-05-30 13:29:23 CEST -->

        <ds>
                <name> t1 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>5</last_ds>
                <value>1.2686960000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>

        <ds>
                <name> t2 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>10</last_ds>
                <value>2.5373920000e+01</value>
                <unknown_sec> 21 </unknown_sec>
  </ds>

        <ds>
                <name> t3 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>15</last_ds>
                <value>3.8060880000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>

        <ds>
                <name> t4 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

             <!-- PDP Status -->
                <last_ds>25</last_ds>
                <value>6.3434800000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>
  <ds>
                <name> t5 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>25</last_ds>
                <value>6.3434800000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>

        <ds>
                <name> t6 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>30</last_ds>
                <value>7.6121760000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>

        <ds>
                <name> t7 </name>
                <type> GAUGE </type>
                <minimal_heartbeat>120</minimal_heartbeat>
                <min>0.0000000000e+00</min>
                <max>1.0000000000e+02</max>

                <!-- PDP Status -->
                <last_ds>35</last_ds>
                <value>8.8808720000e+01</value>
                <unknown_sec> 21 </unknown_sec>
        </ds>

        <!-- Round Robin Archives -->
        <rra>
                <cf>AVERAGE</cf>
                <pdp_per_row>1</pdp_per_row> <!-- 60 seconds -->

                <params>
                <xff>5.0000000000e-01</xff>
                </params>
                <cdp_prep>
                        <ds>
                        <primary_value>NaN</primary_value>
                        <secondary_value>NaN</secondary_value>
                        <value>NaN</value>
                        <unknown_datapoints>0</unknown_datapoints>
                        </ds>
                        <ds>
                        <primary_value>NaN</primary_value>
                        <secondary_value>NaN</secondary_value>
                        <value>NaN</value>
                        <unknown_datapoints>0</unknown_datapoints>
                        </ds>
                        <ds>
                        <primary_value>NaN</primary_value>
                        <secondary_value>NaN</secondary_value>
                        <value>NaN</value>
                        <unknown_datapoints>0</unknown_datapoints>
                        </ds>
In der datenbank sind übrall NaN..

Hat es evtl. etwas mit  <unknown_sec> 21 </unknown_sec> zu tun bzw. mit der Zeitstempelung der Einträge ???
Hmm....  ???

THX
Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: NetFritz am 30. Mai 2011, 17:06:12
Hallo

Ich gehe mal davon aus das Du das Script "create_test_rrddb.php" nicht ganz hier rein gestellt hast.
am Ende fehlt
"system($command);
?>"

Habe mal das Script zum füllen der rrd-DB so umgestellt das es jede Minute die rrd-DB füllt.

#!/etc/php5/cli -q
<?php
 
while(1){
# wird zum Test der rrd-DB so aufgerufen
# "php ./test1_rrd.php"
# Script läuft in einer Schleife
# rrd-DB wir alle 60 s gefüllt
   
$rrd_db "test.rrd";
   
$value "10:20:30:40:50:60:70";
   
$commando "rrdtool update " $rrd_db " N:" $value;
   
system($commando,$fehler);
   echo 
date("d.m.y H:i:s") . " Fehler=" $fehler " " $commando "\n";
 
sleep(60);
}
?>


Das Script was vom Browser aufgerufen wird um die Charts darzustellen
habe ich mal so umgestellt das Uhrzeit und Fehler mit ausgegeben werden.

<?php
// erstellt Chart fuer Test Werte
// wird vom Browser aufgerufen
// 02.10.2010

$command="/usr/bin/rrdtool graph test0.png \
          --vertical-label=Test \
          --start end-12h \
          --width 600 \
          --height 200 \
          --alt-autoscale \
DEF:t1=test.rrd:t1:AVERAGE \
DEF:t2=test.rrd:t2:AVERAGE \
DEF:t3=test.rrd:t3:AVERAGE \
DEF:t4=test.rrd:t4:AVERAGE \
DEF:t5=test.rrd:t5:AVERAGE \
DEF:t6=test.rrd:t6:AVERAGE \
DEF:t7=test.rrd:t7:AVERAGE \
LINE1:t1#FF0000:Test1 \
LINE1:t2#6EFF00:Test2 \
LINE1:t3#CD04DB:Test3 \
LINE1:t4#008000:Test4 \
LINE1:t5#0000FF:Test5 \
LINE1:t6#0000FF:Test6 \
LINE1:t7#0000FF:Test7 \
          COMMENT:'Die letzten 12h'"
     
system($command,$fehler);

echo 
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
          \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"
;
echo 
"<html xmlns=\"http://www.w3.org/1999/xhtml\">\n";
echo 
"  <head>\n";
echo 
"    <title>Test</title>\n";
echo 
"  </head>\n";
echo 
"  <body>\n";
echo (
"<center><img src='test0.png'></center>\n");
echo 
"    <center>Die letzten 12h</center>\n";
echo 
date("d.m.y H:i:s") . " Fehler=" $fehler;
echo 
"  </body>\n";
echo 
"</html>\n";
?>


Bei mir läuft es so.
Es sind dann auch Values in der test.xml vorhanden.

Hier mal meine Ausgabe vom Verzeichnis rrd
ls -l
-rwxrwxrwt 1 fritz    fritz       1196 2011-05-30 15:46 chart_test.php
-rwxrwxr-x 1 fritz    fritz       1502 2010-11-19 10:22 create_test_rrddb.php
-rw-r--r-- 1 www-data www-data   13045 2011-05-30 16:46 test0.png
-rwxrwxr-x 1 fritz    fritz        411 2011-05-30 15:49 test1_rrd.php
-rw-r--r-- 1 fritz    fritz     890128 2011-05-30 16:56 test.rrd
-rwxrwxr-x 1 fritz    fritz        501 2010-11-13 13:56 test_rrd.php
-rw-r--r-- 1 root     root     2323627 2011-05-30 15:43 test.xml


wenn das läuft kann man das Script test_rrd.php
vom Browser so aufrufen.
"http://192.168.2.251/test_rrd.php?rrd_db=test.rrd&value=10|10|20|30|40|50"

Gruß NetFritz
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 31. Mai 2011, 06:53:10
Guten morgen NetFritz

Danke für die vielen wertvollen Tipps, step by step gehts vorwärts....

Zitat
Ich gehe mal davon aus das Du das Script "create_test_rrddb.php" nicht ganz hier rein gestellt hast.
am Ende fehlt
"system($command);
?>
Richtig, habe den Schluss "vergessen" zu kopieren.


Das Testprogramm funktioniert nun via Konsole. Die Daten werden alle 60s geschrieben und die Anzeige via char_test.php (Browseraufruf) stellt die Werte dar.

Zitat
Leider funktioniert der Aufruf bzw. das Schreiben von Daten via Webbrowser immer noch nicht. Ich erhalte auch keine Fehlermeldung vom Browser:
http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5
Ausgabe im Browserfenster:
127/usr/bin/rrdtool update test.rrd N:5|5|5|5|5|5|5
Es funktioniert nun:
http://localhost:8001/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10Ausgabe Browser:
0/usr/bin/rrdtool update test.rrd N:10:10:10:10:10:10:10
Die Lösung war der : statt der | !!!

Ich habe den Aufruf auch in der Konsole getestet (scheint immer noch nicht zu funktionieren):

neonightmare@ubuntudellserver:~$ http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5
[1] 15225
-bash: http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd: Datei oder Verzeichnis nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
[1]+  Exit 127                http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd
neonightmare@ubuntudellserver:~$ localhost/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5
[1] 15241
-bash: localhost/rrd/test_rrd.php?rrd_db=test.rrd: Datei oder Verzeichnis nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
5: Befehl nicht gefunden
[1]+  Exit 127                localhost/rrd/test_rrd.php?rrd_db=test.rrd
neonightmare@ubuntudellserver:~$


Wie kann ich das debuggen, ist es evtl. ein Rechteproblem auf dem Server da ich rrd unter /var/www/rrd abgelegt habe?

Jetzt fehlt nur noch das Update via Wago....

Danke und Gruss
Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: NetFritz am 31. Mai 2011, 18:40:29
Hallo
Das ja Klasse das Du soweit gekommen bist.
Den Netzwerksverkehr zwischen deiner Wago und den Ubuntu-PC
kannst du ewtl. mit Wireshark beobachten.
Gruß NetFritz

Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 01. Juni 2011, 13:24:31
Hallo NetFritz

Anbei ein Screenschot aus Codesys des Codes. Mit tshrak auf dem Server (Konsole) konnte ich keine Verbindung zwischen Wago -> Server feststellen!

So wie es aussieht sendet die Wage keine Anfragen/Kommandos an den Server!
(http://dlog_store.jpg)
Ist bei den Funktionsbausteinen etwas falsch?

DAnke
neo

[gelöscht durch Administrator]
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: NetFritz am 01. Juni 2011, 16:11:54
Hallo
Mit dem Funktionsbaustein kenne ich nicht aus.
Habe nur bei den Scripten für rrd-Tool mitgewirkt.
Vielleicht kann peewit sich dazu äußern .
Gruß NetFritz
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 01. Juni 2011, 22:46:09
bitte exportiere deinen test-baustein und stelle ihn online
mit einer bildschirmhardcopy wo man nicht alles sehen kann, vergeudet man nur zeit !


parameter DNS_IP4 ist 192.168.1.9   -> wem gehört diese ip-adresse ?
das muss die ip-adresse sein vom dem dns-server der den namen http:\\ubuntudellserver kennt !

wahrscheinlich ist die rrd-url nicht korrekt http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=

probiere doch mal von einen anderen pc aus "ping http:\\ubuntudellserver"



du solltest mal diese rrd-url in einem broswer probieren

http:\\x.x.x.x/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5
und
http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5

(x.x.x.x = ip adresse deines servers)


was geht und was nicht ?


im betrieb müsste beim baustein "dlog_store_rrd" bei parameter error_c und error_t etwas ausgegeben werden

wenn ja ... was ...
 
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 06. Juni 2011, 08:27:07
Guten Morgen

Vielen Dank für die Inputs

--> 192.168.1.9 ist mein eigener lokaler DNS-Server (dnsmasq), dieser kennt "ubuntudellserver" als 192.168.1.9.

Was mich irritiert, sind die Slash bzw. Backslash sowie  : und | ASCII Dezimal 58 ist ja eigentlich ein ":", dieser ist als SEP definiert.

Zitat
http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5
Zitat
http://localhost:8001/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10
Wie müssten diese nun genau sein?

Kann ich als url auch anstelle des "ubuntudellserver" dessen fixe IP 192.168.1.9 angeben? Aus meiner Sicht müsste die Zeile wie folgt aussehen:
http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10 bzw. als url des Bausteins "dlog_store_rrd"
rrd_url : STRING(STRING_LENGHT):='http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=';
Zitat
im betrieb müsste beim baustein "dlog_store_rrd" bei parameter error_c und error_t etwas ausgegeben werden
Diese beiden Error-Parameter zeigen im Betrieb  immer "0" an!

Ich test nun weiter, sobald ich wieder an meiner Wago bin  ;-) und werde die Resultate online stellen und falls ich immer noch keinen Erfolg habe werde ich den Baustein exportieren und online stellen!

Danke für die Hilfe  ;)

THX Neo




Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 06. Juni 2011, 12:17:57
hallo

das sollte natürlich so lauten (http:// ....)

http://localhost:8001/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10

----------------------

du kannst natürlich auch direkt die ip anwenden, damit umgehst du eventuelle DNS-probleme

http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10

das musss natürlich von einen browser aus, genauso funktionieren !!!!


am DLOG_RRD wird kein fehler gemeldet ?

ist dieser freigegeben, bzw. werden auch wirklich daten produziert ?


aber das wichtigste wäre das es von einen anderen rechner im netzwerk per browser auch funktioniert

Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 06. Juni 2011, 21:06:31
Hallo peewit

Der Aufruf von einem Browser:
http://192.168.1.9/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10funktioniert!

Nach einigen Modifikationen funktioniert nun auch das schreiben bzw. der Aufruf via Wago!
-> Zeit (RTC) stimmte nicht, diese wird nun von der DCF-Uhr genommen
-> Aufruf via IP statt via DNS-Server
-> unter "column" keine Angaben bei den REAL-Zahlen

So, ich werde jetzt dies noch weiter ausbauen und anschliessend ein kleines HowTo schreiben!

 :D :D ;D ;D ;D :D :D :D

tHx Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 06. Juni 2011, 22:48:35
Zitat
-> Zeit (RTC) stimmte nicht, diese wird nun von der DCF-Uhr genommen
es ist wichtig den baustein dlog_store_rrd mit der aktuellen uhrzeit über parameter "DTI" zu versorgen
ausser man verwendet nur den manuellen trigger "trigg_m"

Zitat
-> unter "column" keine Angaben bei den REAL-Zahlen
bei den dlog_* bausteine sollte es völlig egal sein ob du bei "column" etwas hinschreibst, da dies vom dlog_store_rrd ignoriert werden sollte


Zitat
-> Aufruf via IP statt via DNS-Server
eigentlich sollte das auch über den dnsnamen funktionieren, aber eventuell läuft hier etwas schief bei meinem dns_client baustein

ich gehe davon aus, das das datenübergeben mittels browser und dns-namen funktioniert, und du das nicht auf dem gleichen rechner
immer probierst.

geht das mit einem anderen rechner im lokalen netzwerk ?


http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5

kannst du von so einem vorgang (abfrage von fremden rechner mittels browser)
eine aufzeichnung mittels etherreal bzw wireshark machen und mir zukommen lassen
denn dann kann ich erkennen was hier anders abläuft als angenommen.

gruss peewit
(gut ding braucht weile .....)
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 08. Juni 2011, 07:53:01
Guten Morgen

-> Den DNS-Baustein werde ich noch testen und Bescheid geben, aktuell arbeite ich direkt mit der IP.

Ich habe nun zwei separate Programme mit einem dlog_store geschrieben (Temperaturen, Umwelt). diese werden jeweils mittels dem Parameter trig_T (60) angesteuert.
Nun funktioniert das Schreiben via Wago nicht mehr. Im Testprogramm wurde die Speicherung mittels trig_M und einem CLK_PRG - Baustein (50s) getriggert.

Das Schreiben der Daten via Browser funktioniert einwandtfrei.

Wie ist der Parameter trig_T bzw. trig_M zu verstehen bzw. wie ist das Timingverhalten der RRD?
Die Definition:

#!/etc/php5/cli -q
<?php
error_reporting
(E_ALL);
$command="rrdtool create temp.rrd \
--step 60 \
DS:kel:GAUGE:120:-25:50 \
DS:woh:GAUGE:120:-25:50 \
DS:bue:GAUGE:120:-25:50 \
DS:tk:GAUGE:120:-25:50 \
DS:ofe:GAUGE:120:-25:50 \
DS:k1:GAUGE:120:-25:50 \
DS:k2:GAUGE:120:-25:50 \
DS:elt:GAUGE:120:-25:50 \
DS:df:GAUGE:120:-25:50 \
DS:was:GAUGE:120:-25:50 \
DS:tec:GAUGE:120:-25:50 \
DS:aus:GAUGE:120:-25:50 \
RRA:AVERAGE:0.5:1:2160 \
RRA:AVERAGE:0.5:5:2016 \
RRA:AVERAGE:0.5:15:2880 \
RRA:AVERAGE:0.5:60:8760"
;
system($command);
?>

Ist es evtl. ein Problem zwei Programme mit trig_T 60 anzusteuern?


THX NEo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 08. Juni 2011, 08:18:27
solange du dein testprogramm mir nicht gibtst , kann ich kein problem finden .....
baustein exportieren und hier reinstellen


hast du beim dlog_store_rrd eine laufende Datum/uhrzeit übergeben ?
sonst kann auch der trig_t nicht funktionieren
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 08. Juni 2011, 09:18:35
Guten Morgen

Ja, die aktuelle Zeit wird übergeben.



THX Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 08. Juni 2011, 20:33:21
Hallo peewit
Zitat

http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5

kannst du von so einem vorgang (abfrage von fremden rechner mittels browser)
eine aufzeichnung mittels etherreal bzw wireshark machen und mir zukommen lassen
denn dann kann ich erkennen was hier anders abläuft als angenommen.

hier das Resultat:
Aufruf via Firefos:
http://ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=10:10:10:10:10:10:10Resultat:
0/usr/bin/rrdtool update test.rrd N:10:10:10:10:10:10:10
und anbei das Logging von Wireshark

THX Neo

PS: ich habe nun wieder auf trig_m mit einem Timer umgestellt und für beide Programme verschiedene Aufrufintervalle definiert. und nun funktionieren beide Programme einwandtfrei!!
 ;D ;D ;D


Jetzt fehlt noch eine anständige Grafik dazu und das Howto

[gelöscht durch Administrator]
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 08. Juni 2011, 21:28:23
1. wo ist die wireshark aufzeichnung ?
    ist für mich wichtig , damit ich sehe was beim browser mit dns auflösung passiert

2. was heisst hier "beide programme ?"

   hast du zweimal den DLOG_STORE_RRD verwendet , und die arbeiten noch dazu mit gleichen trigger

   ich habe nun mit einer wago 750-841 zweimal das gleiche programm verwendet, das heisst
   sie benutzen den gleichen trig_t und arbeiten somit parallel zur gleichen zeit auf den gleichen zielrechner und php-script

   dabei sind bei mir keine probleme aufgetaucht !

   somit wäre auch hier eine wireshark aufzeichnung sehr hilfreich !!!!


3. wenn du in deiner applikation mit zwei programmen arbeitest, warum gibst du mir dann ein anderes testprogramm

Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 09. Juni 2011, 08:59:39
Zitat
1. wo ist die wireshark aufzeichnung ?
    ist für mich wichtig , damit ich sehe was beim browser mit dns auflösung passiert
siehe post oben, der upload funktionierte gestern nicht, dies ist aber die Aufzeichnung des entsprechenden Browseraufrufes und nicht der der Wago!

Zitat
2. was heisst hier "beide programme ?"
   hast du zweimal den DLOG_STORE_RRD verwendet , und die arbeiten noch dazu mit gleichen trigger
Ja, siehe beigefühten Export der Bausteine

Zitat
   ich habe nun mit einer wago 750-841 zweimal das gleiche programm verwendet, das heisst
   sie benutzen den gleichen trig_t und arbeiten somit parallel zur gleichen zeit auf den gleichen zielrechner und php-script
   dabei sind bei mir keine probleme aufgetaucht !
Das war bei mir nicht so, es funktioniert nun mit dem trig_m und den Clk's.

Zitat
   somit wäre auch hier eine wireshark aufzeichnung sehr hilfreich !!!!

Hier die Aufzeichnung mit tshrak auf dem Server (192.168.1.9), gefiltert nach den Anfragen von 192.168.1.44 (Wago)
58  17.735279 192.168.1.44 -> 192.168.1.9  TCP 32125 > http [SYN] Seq=0 Win=16000 Len=0 MSS=1460
 59  17.735315  192.168.1.9 -> 192.168.1.44 TCP http > 32125 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460
 61  17.736395 192.168.1.44 -> 192.168.1.9  TCP 32125 > http [ACK] Seq=1 Ack=1 Win=16000 Len=0
 62  17.737267 192.168.1.44 -> 192.168.1.9  HTTP GET /rrd/test_rrd.php?rrd_db=amb.rrd&value=51:41:9:4:6:0:81:0:0 HTTP/1.1
 63  17.737309  192.168.1.9 -> 192.168.1.44 TCP http > 32125 [ACK] Seq=1 Ack=96 Win=14600 Len=0
 64  17.754097  192.168.1.9 -> 192.168.1.44 HTTP HTTP/1.1 200 OK  (text/html)
 66  17.954740 192.168.1.44 -> 192.168.1.9  TCP 32125 > http [ACK] Seq=96 Ack=249 Win=16000 Len=0
 67  17.966820 192.168.1.44 -> 192.168.1.9  TCP 32125 > http [FIN, ACK] Seq=96 Ack=249 Win=16000 Len=0
 68  17.966926  192.168.1.9 -> 192.168.1.44 TCP http > 32125 [FIN, ACK] Seq=249 Ack=97 Win=14600 Len=0
 69  17.967416 192.168.1.44 -> 192.168.1.9  TCP 32125 > http [ACK] Seq=97 Ack=250 Win=16000 Len=0
114  34.747677 192.168.1.44 -> 192.168.1.9  TCP 64210 > http [SYN] Seq=0 Win=16000 Len=0 MSS=1460
115  34.747712  192.168.1.9 -> 192.168.1.44 TCP http > 64210 [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460
116  34.748359 192.168.1.44 -> 192.168.1.9  TCP 64210 > http [ACK] Seq=1 Ack=1 Win=16000 Len=0
117  34.750399 192.168.1.44 -> 192.168.1.9  HTTP GET /rrd/test_rrd.php?rrd_db=temp.rrd&value=16:23:23:25:18:23:21:22:16:20:24:10 HTTP/1.1
118  34.750440  192.168.1.9 -> 192.168.1.44 TCP http > 64210 [ACK] Seq=1 Ack=112 Win=14600 Len=0
120  34.767588  192.168.1.9 -> 192.168.1.44 HTTP HTTP/1.1 200 OK  (text/html)
122  34.967466 192.168.1.44 -> 192.168.1.9  TCP 64210 > http [ACK] Seq=112 Ack=265 Win=16000 Len=0
123  34.976941 192.168.1.44 -> 192.168.1.9  TCP 64210 > http [FIN, ACK] Seq=112 Ack=265 Win=16000 Len=0
124  34.977049  192.168.1.9 -> 192.168.1.44 TCP http > 64210 [FIN, ACK] Seq=265 Ack=113 Win=14600 Len=0
125  34.977569 192.168.1.44 -> 192.168.1.9  TCP 64210 > http [ACK] Seq=113 Ack=266 Win=16000 Len=0
237  72.734889 192.168.1.44 -> 192.168.1.9  TCP dyn-site > http [SYN] Seq=0 Win=16000 Len=0 MSS=1460
238  72.734930  192.168.1.9 -> 192.168.1.44 TCP http > dyn-site [SYN, ACK] Seq=0 Ack=1 Win=14600 Len=0 MSS=1460
239  72.735444 192.168.1.44 -> 192.168.1.9  TCP dyn-site > http [ACK] Seq=1 Ack=1 Win=16000 Len=0
241  72.736148 192.168.1.44 -> 192.168.1.9  HTTP GET /rrd/test_rrd.php?rrd_db=amb.rrd&value=51:42:9:4:7:0:81:0:0 HTTP/1.1
242  72.736188  192.168.1.9 -> 192.168.1.44 TCP http > dyn-site [ACK] Seq=1 Ack=96 Win=14600 Len=0
243  72.750530  192.168.1.9 -> 192.168.1.44 HTTP HTTP/1.1 200 OK  (text/html)
245  72.950808 192.168.1.44 -> 192.168.1.9  TCP dyn-site > http [ACK] Seq=96 Ack=249 Win=16000 Len=0
246  72.959936 192.168.1.44 -> 192.168.1.9  TCP dyn-site > http [FIN, ACK] Seq=96 Ack=249 Win=16000 Len=0
247  72.960045  192.168.1.9 -> 192.168.1.44 TCP http > dyn-site [FIN, ACK] Seq=249 Ack=97 Win=14600 Len=0
248  72.960483 192.168.1.44 -> 192.168.1.9  TCP dyn-site > http [ACK] Seq=97 Ack=250 Win=16000 Len=0


THX Neo

[gelöscht durch Administrator]
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 09. Juni 2011, 19:11:59
die aufzeichnung als text ist wertlos !
ich brauche die datei ungefiltert !

so wie der wireshark-text aussieht, gibt es ja gar kein problem
daten werden korrekt übermittelt, und auch quittiert, aber wie gesagt man sieht keine details .....

was du wieder nicht angegeben hast, sind die testbedingungen..

was hast du hier aufgezeichnet ?
etwas was deiner meinung nicht funktioniert hat, oder schon funktioniert ?
mit oder ohne dns-namen ?
2 parallele programme ?
mit trig_t oder mit trig_m


aufgaben:

1. wireshark starten
2. http:\\ubuntudellserver/rrd/test_rrd.php?rrd_db=test.rrd&value=5|5|5|5|5|5|5 über browser ausführen
3. aufzeichnung beenden , wireshark datei speichern und hier online stellen, oder mir als email schicken....

---------------------------------
das wiederholst du mit einem test mit der wago sps genau mit dieser url (nicht beide rrd-programme gleichzeitig laufen lassen)
wieder aufzeichnen und mir geben

dann sehe eventuell warum die dns auflösung in dem fall nicht klappt

---------------------------------

weiters noch einen test wo du dein testprogramm (2 programme gleichzeitig) mit gleichen trig_t laufen lässt
wieder aufzeichnen und mir geben

------------------------------------

alles andere bringt nichts...


funktioniert ein einzelnes programm mit trig_t ?
was ist wenn du bei 1.prg einen trig_t = 50 nimmst und bei 2.prg einen trig_t = 56 ?
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 10. Juni 2011, 18:05:41
Hallo peewit

Ich denke wir "reden" aneinander vorbei. Deshalb hier meine Statusmeldung:

Die beiden Programme mit jeweils einem DLOG_STore-Baustein (Umwelt, Temperatur) laufen parallel auf der Wago und werden via trig_m über einen CLK-PRG "manuell" getriggert, jeweils mit 50s und 56s. Dies funktioniert nun einwandtfrei. Der Aufruf der php-Datei auf dem Server (url des Bausteines DLOG_Store) erfolgt nun ohne DNS-Name direkt über die IP-Adresse.

Was ich für dich nun rekonstruieren und Loggen kann wäre folgendes:

So könnten wir evtl. die Bausteine bzw. meine Fehler finden...

THX NEo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 10. Juni 2011, 22:14:11
ok dann machen wir diesen schritt

aber es muss auch mit http://ubuntudellserver... funktionieren
da es im browser funktioniert, aber über sps nicht, würde mich das sehr interessieren

ich würde mich deswegen auch über einen ethernet-mitschnitt des http://ubuntudellserver... über browser freuen....


Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 16. Juni 2011, 08:32:34
hallo neonightmare
wie siehts aus..... ?

Zitat
Was ich für dich nun rekonstruieren und Loggen kann wäre folgendes:

Beide Programme Umwelt und Temperatur parallel laufen lassen, aber mit trig_t automatisch triggern lassen.
Aufruf der PHP-Funktion via DNS-Name http://ubuntudellserver...


So könnten wir evtl. die Bausteine bzw. meine Fehler finden...

Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neo am 20. Juni 2011, 10:05:26
Hallo peewit

ich war geschäfltich abwesend und konnte leider noch nicht den Test machen.

Mein Benutzername funktioniert leider nicht mehr, ich musste mich neu anmelden.

Ich melde mich, sobald ich die Logs gemacht habe.

THX Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 21. Juni 2011, 16:08:17
Hallo peewit

Hier die Testumgebung:

rrdtool / DNS  server: 192.168.1.9  (statische IP)
Wago: 192.168.1.44 (statische IP)
__________________________________
Testfall 1: TEST_DNS_1.EXP -> 2 Programme parallel mit trig_t=60 und DNS-Eintrag "http://ubuntuuserver..."
tshark Log: capture.cap
_______________________
Testfall 2: TEST_OHNE_DNS_2.EXP -> 2 Programme parallel mit trig_t=60 und kein DNS-Eintrag, sondern direkt 192.168.1.9
tshark-Log: capture2.cap
_____________________

bei beiden Testfällen wurde jeweils 1x manuell ein trig_m getastet, um eine manuelle Triggerung zu provozieren.

Aktuell ist bei mir der Testfall 2 in Betrieb, wobei die Triggerung mittels trig_t=60 nicht funktioniert. Eine manuelle Triggerung mittels trig_m funktioniert hingegen.

THX
Neo


[gelöscht durch Administrator]
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 21. Juni 2011, 19:09:04
hallo neonightmare

-------------------------------
Testfall 1: TEST_DNS_1.EXP -> 2 Programme parallel mit trig_t=60 und DNS-Eintrag "http://ubuntuuserver..."
tshark Log: capture.cap

bei diesen fall , kann ich nachvollziehen warum nichts passiert

dein dns-server liefert zwei adressen zurück

1. 127.0.1.1
2. 192.168.1.9

beide haben TimeToLive (TTL) = 0

der dns_client nimmt die ip-adresse mit der höchsten TTL
da die 127.0.1.1 als erstes kommt und beide eine Gültigkeitsdauer von 0 sekunden haben
ergibt sich hier das die ip 192.168.1.9 genommen wird

aber mein baustein meint bei einer TTL von 0 sekunden das eigentlich keine
gültige ip erkannt wurde, und genau in diesen fall gibt es weder eine positiv noch negativ meldung
also auch kein fehler und somit bleibt der ablauf wegen fehlenden ergebnis hängen

lösung
wenn du die TTL auf grösser 0 änderst und sicherstellst das die 127.0.1.1 immer die niedrigere TTL hat dann wird die dns-auflösung funktionieren

ich muss noch klären , inwieweit eine TTL = 0 überhaupt sinn macht, bzw wie ich diese verarbeiten soll, und muss noch eine kleine änderung
machen das im notfall immer ein fehler gemeldet wird.

problem1 = TTL = 0
problem2 = 127.0.1.1 (loopback-adresse wird als ip-adresse weitergegeben, obwohl diese nur lokal funktionieren kann)
               (ich weiß noch nicht wie ich sicher erkennen kann, ob diese adresse sinn macht oder nicht bzw ob ich sie ignorieren soll oder nicht)

also der fall 1 ist theoretisch geklärt



ich habe auch aus einem anderen forum folgende info zu deinem dns-server verhalten bekommen

"Fehler in der Konfiguration. Beides wird im Zonefile (bzw je nach DNS-Server in der Datenbank) behoben"

so wie es aussieht hast du deinen dns-server nicht richtig konfiguriert ?


kannst du deine dns-server konfiguration hier online stellen, denn dann kann ich versuchen dies von anderen spezialisten
prüfen bzw korrigieren zu lassen

welche plattform, dns-server, konfiguration .......


------------------------------------------------------

fall 2

da habe ich noch nichts gefunden

man sieht nur das dlog_tmp den rrd-aufruf ohne fehler beendet, jeodch von dlog_amp fehlt jeglicher hinweis

wie gesagt bei mir funktioniert das ohne probleme

-----------------------
test:

trig_m := DT_TO_UDINT(DTI) MOD TRIG_T = 0;

einen manuellen trigger auslösen der genauso funktioniert wie der trig_t

------------------------

ich weiß nicht wie gut du dich auskennst ?

du könntest im baustein DLOG_STORE_RRD einen breakpoint setzen , und dann einen trig_t auslösen, und dann schauen was passiert


   IF (TRIG_M AND NOT trig_m_last) OR ra OR X.ADD_DATA_REQ THEN (* manueller, automatischer oder externer Trigger *)
---->      X.ADD_DATA := TRUE; (* Daten loggen *)
   END_IF;

oder du machst eine trace aufzeichnung der dlog_store_rrd variablen von beiden instanzen
zb. variable 'ra' und 'step' aufzeichnen

Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 18. Juli 2011, 06:57:52
Hallo peewitt

So, ich konnte nun wieder einiges Testen.

Zum DNS-Problem
---------------------

Ich habe einen Ubuntu dnsmasq-dienst http://wiki.ubuntuusers.de/Dnsmasq (http://wiki.ubuntuusers.de/Dnsmasq) installiert, dieser wurde von mir nicht weiter konfiguriert. Es kann also gut sein, dass einige Einstellungen nicht richtig bzw. optimal sind.


Zum RRD-Logging Problem
------------------------------

Die Zeit von meiner Wetterstation (DCF77) wird und wurde nicht immer von der Steuerung übernommen. D.h. für die Funktion
trig_m := DT_TO_UDINT(DTI) MOD TRIG_T = 0;
war der Wert DTI nicht immer vorhanden bzw. es konnte sein dass die Zeit sprang, also ein Nulldurchgang verfehlt wurde. Nun habe ich als Zeitbasis die "echte" SPS-Systemzeit genommen und nun funktioniert das Logging richtig!

Was ich noch nicht ganz verstehe, wie ich die SPS-Systemzeit auf Sommer- bzw. Winterzeit umstellen bzw. dies automatisieren kann.

THX neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 18. Juli 2011, 18:26:39
1. ich werde bei gelegenheit noch etwas am dns-baustein verbessern !

2. schön wenn es nun bei dir auch funktioniert.
    nachdem es bei mir funktionierte, musste eigentlich bei dir etwas anders sein


3. lokalzeit - sommerzeit

   dazu kannst du den baustein utc_to_ltc nehmen

   oder du verwendest den baustein calendar_calc , der berechnet viele sachen automatisch
   ist aber nicht ganz so einfach wie utc_to_ltc


wie sieht es mit deiner geplanten rrd-installations-anleitung aus ?
ich habe das mal mit WAMPP probiert (Paket für Windows) das machte überhaupt keine probleme, lief sofort !
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: neonightmare am 26. Juli 2011, 14:08:11
Hallo peewit

Hast du eine Vorlage, wie die Anleitung aussehen sollte? Als Textrohfassung habe ich bereits etwas zusammengestellt.

PS: habe die Sache mit drraw nun auch super Visualisieren können!

Gruss Neo
Titel: Re:RRD- Logging: Wago 750-841 zu ubuntu 11.04 server
Beitrag von: peewit am 26. Juli 2011, 17:57:55
du kannst mir deine textrohfassung auch genauso übergeben
um die formatierungen etc.. kümmere ich mich dann schon...

du kannst mir deinen entwurf per email schicken....

dankie schon mal vorab...