Message ID | 20170703223718.21346-1-tk+ff@meskal.net |
---|---|
State | Not Applicable |
Headers | show |
diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index f9d6e65..296b421 100755 --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher @@ -20,6 +20,17 @@ else . "$(dirname "$0")/nodewatcher_config" fi +if [ -f /etc/config/system ];then + description="$(uci get system.@system[0].description)" + latitude="$(uci get system.@system[0].latitude)" + longitude="$(uci get system.@system[0].longitude)" + position_comment="$(uci get system.@system[0].position_comment)" + contact="$(uci get system.@system[0].contact)" + hood="$(uci -q get "system.@system[0].hood")" +else + . "$(dirname "$0")/system_config" +fi + if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then err() { echo "$1" >> "$SCRIPT_LOGFILE" @@ -56,20 +67,15 @@ crawl() { #Get system data from other locations err "$(date): Collecting basic system status data" hostname="$(cat /proc/sys/kernel/hostname)" - description="$(uci get system.@system[0].description)" if [ -n "$description" ]; then description="<description><![CDATA[$description]]></description>" fi - latitude="$(uci get system.@system[0].latitude)" - longitude="$(uci get system.@system[0].longitude)" if [ -n "$longitude" -a -n "$latitude" ]; then geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; fi - position_comment="$(uci get system.@system[0].position_comment)" if [ -n "$position_comment" ]; then position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" fi - contact="$(uci get system.@system[0].contact)" if [ -n "$contact" ]; then contact="<contact>$contact</contact>" fi @@ -86,7 +92,7 @@ crawl() { /system type/ { printf "<chipset>"$2"</chipset>" } /platform/ { printf "<chipset>"$2"</chipset>" } ' /proc/cpuinfo) - model="<model>$(cat /var/sysinfo/model)</model>" + test -f /var/sysinfo/model && model="<model>$(cat /var/sysinfo/model)</model>" local_time="$(date +%s)" load=$(awk '{ printf "<loadavg>"$3"</loadavg><processes>"$4"</processes>" }' /proc/loadavg) @@ -117,7 +123,7 @@ crawl() { #DISTRIB_CODENAME="attitude_adjustment" #DISTRIB_TARGET="atheros/generic" #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" - . /etc/openwrt_release + test -f /etc/openwrt_release && . /etc/openwrt_release distname=$DISTRIB_ID distversion=$DISTRIB_RELEASE @@ -126,7 +132,8 @@ crawl() { #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" #OPENWRT_CORE_REVISION="35298" #OPENWRT_FEEDS_PACKAGES_REVISION="35298" - . /etc/firmware_release + + test -f /etc/firmware_release && . /etc/firmware_release SYSTEM_DATA="<status>online</status>" SYSTEM_DATA=$SYSTEM_DATA"$status_text" @@ -135,10 +142,10 @@ crawl() { SYSTEM_DATA=$SYSTEM_DATA"${geo}" SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" SYSTEM_DATA=$SYSTEM_DATA"${contact}" - if [ "$(uci -q get "system.@system[0].hood")" ] + if [ "${hood}" ] then - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" - fi + SYSTEM_DATA=$SYSTEM_DATA"<hood>${hood}</hood>" + fi SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" SYSTEM_DATA=$SYSTEM_DATA"$cpu"
Hallo Tobias Danke für deine Arbeit :) Das hab ich schon ewig gebraucht bin aber nie dazu gekommen ;) Jetzt wirds leicher aber ich hab paar Sachen die das Monitoring so nicht frisst bzw. fehlt: Folgendes wird nicht ausgelesen und deshalb leer rumgeschickt: <distname> <distversion> <firmware_version> <firmware_community> <firmware_revision> <openwrt_core_revision> <openwrt_feeds_packages_revision> natürlich macht einiges (eigentlich alles außer die ersten 2 das könnte man ganz gut füllen denk ich) auf x86 wenig Sinn ;) Da das Monitoring die Daten aber einfach nicht gefressen hat, hab ich das mal mit Müll gefüllt. Wäre natürlich toll wenn diese Daten keine Pflicht für das Monitoring sind. Ich hab es jetzt nicht mehr ausprobiert ob es ohne geht, wenn sie zwingend benötigt werden sollte hier aber wohl eher das Monitoring gefixt werden. Leider ging es dann trotzdem noch nicht, das Problem war bei mir dann anschließend: <cpu>Mobile AMD Sempron(tm) Processor 2100+</cpu> Ich vermute durch die Leerzeichen und Sonderzeichen und Kram, nimmt es das Monitoring so nicht an. Nachdem ich dort einfach eine 1 reingeschrieben habe, tut es nun endlich :) Müsste man das evtl. auch so machen?: <cpu><![CDATA[Mobile AMD Sempron(tm) Processor 2100+]]></cpu> bin mir da grad nicht ganz sicher? mfg Christian On 04.07.2017 00:37, Tobias Klaus wrote: > * this makes it easier to reuse on decentral gateways > * fix errors if nodewatcher is not run on openwrt/lede > --- > .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 29 ++++++++++++++-------- > 1 file changed, 18 insertions(+), 11 deletions(-) > > diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > index f9d6e65..296b421 100755 > --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > @@ -20,6 +20,17 @@ else > . "$(dirname "$0")/nodewatcher_config" > fi > > +if [ -f /etc/config/system ];then > + description="$(uci get system.@system[0].description)" > + latitude="$(uci get system.@system[0].latitude)" > + longitude="$(uci get system.@system[0].longitude)" > + position_comment="$(uci get system.@system[0].position_comment)" > + contact="$(uci get system.@system[0].contact)" > + hood="$(uci -q get "system.@system[0].hood")" > +else > + . "$(dirname "$0")/system_config" > +fi > + > if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then > err() { > echo "$1" >> "$SCRIPT_LOGFILE" > @@ -56,20 +67,15 @@ crawl() { > #Get system data from other locations > err "$(date): Collecting basic system status data" > hostname="$(cat /proc/sys/kernel/hostname)" > - description="$(uci get system.@system[0].description)" > if [ -n "$description" ]; then > description="<description><![CDATA[$description]]></description>" > fi > - latitude="$(uci get system.@system[0].latitude)" > - longitude="$(uci get system.@system[0].longitude)" > if [ -n "$longitude" -a -n "$latitude" ]; then > geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; > fi > - position_comment="$(uci get system.@system[0].position_comment)" > if [ -n "$position_comment" ]; then > position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" > fi > - contact="$(uci get system.@system[0].contact)" > if [ -n "$contact" ]; then > contact="<contact>$contact</contact>" > fi > @@ -86,7 +92,7 @@ crawl() { > /system type/ { printf "<chipset>"$2"</chipset>" } > /platform/ { printf "<chipset>"$2"</chipset>" } > ' /proc/cpuinfo) > - model="<model>$(cat /var/sysinfo/model)</model>" > + test -f /var/sysinfo/model && model="<model>$(cat /var/sysinfo/model)</model>" > local_time="$(date +%s)" > load=$(awk '{ printf "<loadavg>"$3"</loadavg><processes>"$4"</processes>" }' /proc/loadavg) > > @@ -117,7 +123,7 @@ crawl() { > #DISTRIB_CODENAME="attitude_adjustment" > #DISTRIB_TARGET="atheros/generic" > #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" > - . /etc/openwrt_release > + test -f /etc/openwrt_release && . /etc/openwrt_release > distname=$DISTRIB_ID > distversion=$DISTRIB_RELEASE > > @@ -126,7 +132,8 @@ crawl() { > #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" > #OPENWRT_CORE_REVISION="35298" > #OPENWRT_FEEDS_PACKAGES_REVISION="35298" > - . /etc/firmware_release > + > + test -f /etc/firmware_release && . /etc/firmware_release > > SYSTEM_DATA="<status>online</status>" > SYSTEM_DATA=$SYSTEM_DATA"$status_text" > @@ -135,10 +142,10 @@ crawl() { > SYSTEM_DATA=$SYSTEM_DATA"${geo}" > SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" > SYSTEM_DATA=$SYSTEM_DATA"${contact}" > - if [ "$(uci -q get "system.@system[0].hood")" ] > + if [ "${hood}" ] > then > - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" > - fi > + SYSTEM_DATA=$SYSTEM_DATA"<hood>${hood}</hood>" > + fi > SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" > SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" > SYSTEM_DATA=$SYSTEM_DATA"$cpu" >
Korrektur On 05.07.2017 11:43, Christian Dresel wrote: > Hallo Tobias > > Danke für deine Arbeit :) Das hab ich schon ewig gebraucht bin aber nie > dazu gekommen ;) Jetzt wirds leicher aber ich hab paar Sachen die das > Monitoring so nicht frisst bzw. fehlt: > > Folgendes wird nicht ausgelesen und deshalb leer rumgeschickt: > <distname> > <distversion> > <firmware_version> sollte man irgendwas mitschicken da es das Monitoring anzeigt (erste Zeile unter der Map) > <firmware_community> sollte man ebenfalls was mitschicken, da es neben der Hood in Klammer angezeigt wird > <firmware_revision> > <openwrt_core_revision> > <openwrt_feeds_packages_revision> > > natürlich macht einiges (eigentlich alles außer die ersten 2 das könnte > man ganz gut füllen denk ich) auf x86 wenig Sinn ;) Da das Monitoring Korrektur siehe oben 3. und 4. macht durchaus auch Sinn. mfg Christian > die Daten aber einfach nicht gefressen hat, hab ich das mal mit Müll > gefüllt. Wäre natürlich toll wenn diese Daten keine Pflicht für das > Monitoring sind. Ich hab es jetzt nicht mehr ausprobiert ob es ohne > geht, wenn sie zwingend benötigt werden sollte hier aber wohl eher das > Monitoring gefixt werden. > > Leider ging es dann trotzdem noch nicht, das Problem war bei mir dann > anschließend: > > <cpu>Mobile AMD Sempron(tm) Processor 2100+</cpu> > > Ich vermute durch die Leerzeichen und Sonderzeichen und Kram, nimmt es > das Monitoring so nicht an. Nachdem ich dort einfach eine 1 > reingeschrieben habe, tut es nun endlich :) > Müsste man das evtl. auch so machen?: > <cpu><![CDATA[Mobile AMD Sempron(tm) Processor 2100+]]></cpu> > bin mir da grad nicht ganz sicher? > > mfg > > Christian > > On 04.07.2017 00:37, Tobias Klaus wrote: >> * this makes it easier to reuse on decentral gateways >> * fix errors if nodewatcher is not run on openwrt/lede >> --- >> .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 29 ++++++++++++++-------- >> 1 file changed, 18 insertions(+), 11 deletions(-) >> >> diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher >> index f9d6e65..296b421 100755 >> --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher >> +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher >> @@ -20,6 +20,17 @@ else >> . "$(dirname "$0")/nodewatcher_config" >> fi >> >> +if [ -f /etc/config/system ];then >> + description="$(uci get system.@system[0].description)" >> + latitude="$(uci get system.@system[0].latitude)" >> + longitude="$(uci get system.@system[0].longitude)" >> + position_comment="$(uci get system.@system[0].position_comment)" >> + contact="$(uci get system.@system[0].contact)" >> + hood="$(uci -q get "system.@system[0].hood")" >> +else >> + . "$(dirname "$0")/system_config" >> +fi >> + >> if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then >> err() { >> echo "$1" >> "$SCRIPT_LOGFILE" >> @@ -56,20 +67,15 @@ crawl() { >> #Get system data from other locations >> err "$(date): Collecting basic system status data" >> hostname="$(cat /proc/sys/kernel/hostname)" >> - description="$(uci get system.@system[0].description)" >> if [ -n "$description" ]; then >> description="<description><![CDATA[$description]]></description>" >> fi >> - latitude="$(uci get system.@system[0].latitude)" >> - longitude="$(uci get system.@system[0].longitude)" >> if [ -n "$longitude" -a -n "$latitude" ]; then >> geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; >> fi >> - position_comment="$(uci get system.@system[0].position_comment)" >> if [ -n "$position_comment" ]; then >> position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>" >> fi >> - contact="$(uci get system.@system[0].contact)" >> if [ -n "$contact" ]; then >> contact="<contact>$contact</contact>" >> fi >> @@ -86,7 +92,7 @@ crawl() { >> /system type/ { printf "<chipset>"$2"</chipset>" } >> /platform/ { printf "<chipset>"$2"</chipset>" } >> ' /proc/cpuinfo) >> - model="<model>$(cat /var/sysinfo/model)</model>" >> + test -f /var/sysinfo/model && model="<model>$(cat /var/sysinfo/model)</model>" >> local_time="$(date +%s)" >> load=$(awk '{ printf "<loadavg>"$3"</loadavg><processes>"$4"</processes>" }' /proc/loadavg) >> >> @@ -117,7 +123,7 @@ crawl() { >> #DISTRIB_CODENAME="attitude_adjustment" >> #DISTRIB_TARGET="atheros/generic" >> #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" >> - . /etc/openwrt_release >> + test -f /etc/openwrt_release && . /etc/openwrt_release >> distname=$DISTRIB_ID >> distversion=$DISTRIB_RELEASE >> >> @@ -126,7 +132,8 @@ crawl() { >> #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" >> #OPENWRT_CORE_REVISION="35298" >> #OPENWRT_FEEDS_PACKAGES_REVISION="35298" >> - . /etc/firmware_release >> + >> + test -f /etc/firmware_release && . /etc/firmware_release >> >> SYSTEM_DATA="<status>online</status>" >> SYSTEM_DATA=$SYSTEM_DATA"$status_text" >> @@ -135,10 +142,10 @@ crawl() { >> SYSTEM_DATA=$SYSTEM_DATA"${geo}" >> SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" >> SYSTEM_DATA=$SYSTEM_DATA"${contact}" >> - if [ "$(uci -q get "system.@system[0].hood")" ] >> + if [ "${hood}" ] >> then >> - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system.@system[0].hood")</hood>" >> - fi >> + SYSTEM_DATA=$SYSTEM_DATA"<hood>${hood}</hood>" >> + fi >> SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" >> SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" >> SYSTEM_DATA=$SYSTEM_DATA"$cpu" >> > > >
Hey Christian, vielen Dank, dass du die Arbeit da weitergemacht hast, wo ich aufgehört habe("toll, da kommt ja nix im Monitoring...."). Ich werde deine Anmerkungen dann bei Gelegenheit mal in ein v2 gießen. Grundsätzlich hab ich noch ein zwei Fragen an euch: Ich habe mich bei der "Konfiguration" ohne uci an den aktuellen Stand gehalten, dass eine /etc/config/-Datei über eine gesourcte Datei Datei abgebildet wird. Das finde ich eigentlich unsinnig; Ich würde lieber schauen ob uci als Programm vorhanden ist und falls nein, einfach _eine_ Datei mit allen Variablen sourcen. Das finde ich übersichtlicher, hat da jemand was dagegen? Sollen wir eine solche exemplarische config-Datei daneben legen, die auf den Knoten _nicht_ installiert wird, aber die klar macht welche Variablen zu vergeben sind? Quasi als Doku? Danke schon mal Tobias Am Mittwoch, 5. Juli 2017, 11:58:42 CEST schrieb Christian Dresel: > Korrektur > > On 05.07.2017 11:43, Christian Dresel wrote: > > Hallo Tobias > > > > Danke für deine Arbeit :) Das hab ich schon ewig gebraucht bin aber nie > > dazu gekommen ;) Jetzt wirds leicher aber ich hab paar Sachen die das > > Monitoring so nicht frisst bzw. fehlt: > > > > Folgendes wird nicht ausgelesen und deshalb leer rumgeschickt: > > <distname> > > <distversion> > > <firmware_version> > > sollte man irgendwas mitschicken da es das Monitoring anzeigt (erste > Zeile unter der Map) > > > <firmware_community> > > sollte man ebenfalls was mitschicken, da es neben der Hood in Klammer > angezeigt wird > > > <firmware_revision> > > <openwrt_core_revision> > > <openwrt_feeds_packages_revision> > > > > natürlich macht einiges (eigentlich alles außer die ersten 2 das könnte > > man ganz gut füllen denk ich) auf x86 wenig Sinn ;) Da das Monitoring > > Korrektur siehe oben 3. und 4. macht durchaus auch Sinn. > > mfg > > Christian > > > die Daten aber einfach nicht gefressen hat, hab ich das mal mit Müll > > gefüllt. Wäre natürlich toll wenn diese Daten keine Pflicht für das > > Monitoring sind. Ich hab es jetzt nicht mehr ausprobiert ob es ohne > > geht, wenn sie zwingend benötigt werden sollte hier aber wohl eher das > > Monitoring gefixt werden. > > > > Leider ging es dann trotzdem noch nicht, das Problem war bei mir dann > > anschließend: > > > > <cpu>Mobile AMD Sempron(tm) Processor 2100+</cpu> > > > > Ich vermute durch die Leerzeichen und Sonderzeichen und Kram, nimmt es > > das Monitoring so nicht an. Nachdem ich dort einfach eine 1 > > reingeschrieben habe, tut es nun endlich :) > > Müsste man das evtl. auch so machen?: > > <cpu><![CDATA[Mobile AMD Sempron(tm) Processor 2100+]]></cpu> > > bin mir da grad nicht ganz sicher? > > > > mfg > > > > Christian > > > > On 04.07.2017 00:37, Tobias Klaus wrote: > >> * this makes it easier to reuse on decentral gateways > >> * fix errors if nodewatcher is not run on openwrt/lede > >> --- > >> > >> .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 29 > >> ++++++++++++++-------- 1 file changed, 18 insertions(+), 11 > >> deletions(-) > >> > >> diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > >> b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index > >> f9d6e65..296b421 100755 > >> --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > >> +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > >> @@ -20,6 +20,17 @@ else > >> > >> . "$(dirname "$0")/nodewatcher_config" > >> > >> fi > >> > >> +if [ -f /etc/config/system ];then > >> + description="$(uci get system.@system[0].description)" > >> + latitude="$(uci get system.@system[0].latitude)" > >> + longitude="$(uci get system.@system[0].longitude)" > >> + position_comment="$(uci get system.@system[0].position_comment)" > >> + contact="$(uci get system.@system[0].contact)" > >> + hood="$(uci -q get "system.@system[0].hood")" > >> +else > >> + . "$(dirname "$0")/system_config" > >> +fi > >> + > >> > >> if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then > >> > >> err() { > >> > >> echo "$1" >> "$SCRIPT_LOGFILE" > >> > >> @@ -56,20 +67,15 @@ crawl() { > >> > >> #Get system data from other locations > >> err "$(date): Collecting basic system status data" > >> hostname="$(cat /proc/sys/kernel/hostname)" > >> > >> - description="$(uci get system.@system[0].description)" > >> > >> if [ -n "$description" ]; then > >> > >> description="<description><![CDATA[$description]]></description> > >> " > >> > >> fi > >> > >> - latitude="$(uci get system.@system[0].latitude)" > >> - longitude="$(uci get system.@system[0].longitude)" > >> > >> if [ -n "$longitude" -a -n "$latitude" ]; then > >> > >> geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; > >> > >> fi > >> > >> - position_comment="$(uci get system.@system[0].position_comment)" > >> > >> if [ -n "$position_comment" ]; then > >> > >> position_comment="<position_comment><![CDATA[$position_comment]] > >> ></position_comment>">> > >> fi > >> > >> - contact="$(uci get system.@system[0].contact)" > >> > >> if [ -n "$contact" ]; then > >> > >> contact="<contact>$contact</contact>" > >> > >> fi > >> > >> @@ -86,7 +92,7 @@ crawl() { > >> > >> /system type/ { printf "<chipset>"$2"</chipset>" } > >> /platform/ { printf "<chipset>"$2"</chipset>" } > >> > >> ' /proc/cpuinfo) > >> > >> - model="<model>$(cat /var/sysinfo/model)</model>" > >> + test -f /var/sysinfo/model && model="<model>$(cat > >> /var/sysinfo/model)</model>">> > >> local_time="$(date +%s)" > >> load=$(awk '{ printf > >> "<loadavg>"$3"</loadavg><processes>"$4"</processes>" }' > >> /proc/loadavg)>> > >> @@ -117,7 +123,7 @@ crawl() { > >> > >> #DISTRIB_CODENAME="attitude_adjustment" > >> #DISTRIB_TARGET="atheros/generic" > >> #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" > >> > >> - . /etc/openwrt_release > >> + test -f /etc/openwrt_release && . /etc/openwrt_release > >> > >> distname=$DISTRIB_ID > >> distversion=$DISTRIB_RELEASE > >> > >> @@ -126,7 +132,8 @@ crawl() { > >> > >> #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" > >> #OPENWRT_CORE_REVISION="35298" > >> #OPENWRT_FEEDS_PACKAGES_REVISION="35298" > >> > >> - . /etc/firmware_release > >> + > >> + test -f /etc/firmware_release && . /etc/firmware_release > >> > >> SYSTEM_DATA="<status>online</status>" > >> SYSTEM_DATA=$SYSTEM_DATA"$status_text" > >> > >> @@ -135,10 +142,10 @@ crawl() { > >> > >> SYSTEM_DATA=$SYSTEM_DATA"${geo}" > >> SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" > >> SYSTEM_DATA=$SYSTEM_DATA"${contact}" > >> > >> - if [ "$(uci -q get "system.@system[0].hood")" ] > >> + if [ "${hood}" ] > >> > >> then > >> > >> - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get > >> "system.@system[0].hood")</hood>" - fi > >> + SYSTEM_DATA=$SYSTEM_DATA"<hood>${hood}</hood>" > >> + fi > >> > >> SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" > >> SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" > >> SYSTEM_DATA=$SYSTEM_DATA"$cpu"
Am Mittwoch, den 05.07.2017, 13:07 +0200 schrieb Tobias Klaus: > Hey Christian, > > vielen Dank, dass du die Arbeit da weitergemacht hast, wo ich aufgehört > habe("toll, da kommt ja nix im Monitoring...."). Ich werde deine Anmerkungen > dann bei Gelegenheit mal in ein v2 gießen. > > Grundsätzlich hab ich noch ein zwei Fragen an euch: > > Ich habe mich bei der "Konfiguration" ohne uci an den aktuellen Stand > gehalten, dass eine /etc/config/-Datei über eine gesourcte Datei Datei > abgebildet wird. Das finde ich eigentlich unsinnig; Ich würde lieber schauen > ob uci als Programm vorhanden ist und falls nein, einfach _eine_ Datei mit > allen Variablen sourcen. Das finde ich übersichtlicher, hat da jemand was > dagegen? Ich bin mir nicht ganz sicher, ob ich deine Frage verstanden hab. Aber mal aus Anregung: Wie wäre es, wenn man den Nodewatcher so aufteilt, dass das Holen der Daten in einem zweiten Programm/Script passiert. Das zweite Script wäre dann auf dem Knoten eins was uci verwendet und auf dem PC etwas anderes. Dann braucht man kein "if .." mehr sondern ruft nur das richtige Programm auf. > Sollen wir eine solche exemplarische config-Datei daneben legen, die auf den > Knoten _nicht_ installiert wird, aber die klar macht welche Variablen zu > vergeben sind? Quasi als Doku? Wäre für mich ok, aber klingt eigentlich eher so, als ob man den Nodewatcher in ein eigenes Repo auslagern möchte und dann im Build nur noch dessen Releases verwenden mag. Tim > Danke schon mal > Tobias > > > Am Mittwoch, 5. Juli 2017, 11:58:42 CEST schrieb Christian Dresel: > > Korrektur > > > > On 05.07.2017 11:43, Christian Dresel wrote: > > > Hallo Tobias > > > > > > Danke für deine Arbeit :) Das hab ich schon ewig gebraucht bin aber nie > > > dazu gekommen ;) Jetzt wirds leicher aber ich hab paar Sachen die das > > > Monitoring so nicht frisst bzw. fehlt: > > > > > > Folgendes wird nicht ausgelesen und deshalb leer rumgeschickt: > > > <distname> > > > <distversion> > > > <firmware_version> > > > > sollte man irgendwas mitschicken da es das Monitoring anzeigt (erste > > Zeile unter der Map) > > > > > <firmware_community> > > > > sollte man ebenfalls was mitschicken, da es neben der Hood in Klammer > > angezeigt wird > > > > > <firmware_revision> > > > <openwrt_core_revision> > > > <openwrt_feeds_packages_revision> > > > > > > natürlich macht einiges (eigentlich alles außer die ersten 2 das könnte > > > man ganz gut füllen denk ich) auf x86 wenig Sinn ;) Da das Monitoring > > > > Korrektur siehe oben 3. und 4. macht durchaus auch Sinn. > > > > mfg > > > > Christian > > > > > die Daten aber einfach nicht gefressen hat, hab ich das mal mit Müll > > > gefüllt. Wäre natürlich toll wenn diese Daten keine Pflicht für das > > > Monitoring sind. Ich hab es jetzt nicht mehr ausprobiert ob es ohne > > > geht, wenn sie zwingend benötigt werden sollte hier aber wohl eher das > > > Monitoring gefixt werden. > > > > > > Leider ging es dann trotzdem noch nicht, das Problem war bei mir dann > > > anschließend: > > > > > > <cpu>Mobile AMD Sempron(tm) Processor 2100+</cpu> > > > > > > Ich vermute durch die Leerzeichen und Sonderzeichen und Kram, nimmt es > > > das Monitoring so nicht an. Nachdem ich dort einfach eine 1 > > > reingeschrieben habe, tut es nun endlich :) > > > Müsste man das evtl. auch so machen?: > > > <cpu><![CDATA[Mobile AMD Sempron(tm) Processor 2100+]]></cpu> > > > bin mir da grad nicht ganz sicher? > > > > > > mfg > > > > > > Christian > > > > > > On 04.07.2017 00:37, Tobias Klaus wrote: > > >> * this makes it easier to reuse on decentral gateways > > >> * fix errors if nodewatcher is not run on openwrt/lede > > >> --- > > >> > > >> .../fff/fff-nodewatcher/files/usr/sbin/nodewatcher | 29 > > >> ++++++++++++++-------- 1 file changed, 18 insertions(+), 11 > > >> deletions(-) > > >> > > >> diff --git a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > > >> b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher index > > >> f9d6e65..296b421 100755 > > >> --- a/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > > >> +++ b/src/packages/fff/fff-nodewatcher/files/usr/sbin/nodewatcher > > >> @@ -20,6 +20,17 @@ else > > >> > > >> . "$(dirname "$0")/nodewatcher_config" > > >> > > >> fi > > >> > > >> +if [ -f /etc/config/system ];then > > >> + description="$(uci get system.@system[0].description)" > > >> + latitude="$(uci get system.@system[0].latitude)" > > >> + longitude="$(uci get system.@system[0].longitude)" > > >> + position_comment="$(uci get system.@system[0].position_comment)" > > >> + contact="$(uci get system.@system[0].contact)" > > >> + hood="$(uci -q get "system.@system[0].hood")" > > >> +else > > >> + . "$(dirname "$0")/system_config" > > >> +fi > > >> + > > >> > > >> if [ "$SCRIPT_ERROR_LEVEL" -gt "1" ]; then > > >> > > >> err() { > > >> > > >> echo "$1" >> "$SCRIPT_LOGFILE" > > >> > > >> @@ -56,20 +67,15 @@ crawl() { > > >> > > >> #Get system data from other locations > > >> err "$(date): Collecting basic system status data" > > >> hostname="$(cat /proc/sys/kernel/hostname)" > > >> > > >> - description="$(uci get system.@system[0].description)" > > >> > > >> if [ -n "$description" ]; then > > >> > > >> description="<description><![CDATA[$description]]></description> > > >> " > > >> > > >> fi > > >> > > >> - latitude="$(uci get system.@system[0].latitude)" > > >> - longitude="$(uci get system.@system[0].longitude)" > > >> > > >> if [ -n "$longitude" -a -n "$latitude" ]; then > > >> > > >> geo="<geo><lat>$latitude</lat><lng>$longitude</lng></geo>"; > > >> > > >> fi > > >> > > >> - position_comment="$(uci get system.@system[0].position_comment)" > > >> > > >> if [ -n "$position_comment" ]; then > > >> > > >> position_comment="<position_comment><![CDATA[$position_comment]] > > >> ></position_comment>">> > > >> fi > > >> > > >> - contact="$(uci get system.@system[0].contact)" > > >> > > >> if [ -n "$contact" ]; then > > >> > > >> contact="<contact>$contact</contact>" > > >> > > >> fi > > >> > > >> @@ -86,7 +92,7 @@ crawl() { > > >> > > >> /system type/ { printf "<chipset>"$2"</chipset>" } > > >> /platform/ { printf "<chipset>"$2"</chipset>" } > > >> > > >> ' /proc/cpuinfo) > > >> > > >> - model="<model>$(cat /var/sysinfo/model)</model>" > > >> + test -f /var/sysinfo/model && model="<model>$(cat > > >> /var/sysinfo/model)</model>">> > > >> local_time="$(date +%s)" > > >> load=$(awk '{ printf > > >> "<loadavg>"$3"</loadavg><processes>"$4"</processes>" }' > > >> /proc/loadavg)>> > > >> @@ -117,7 +123,7 @@ crawl() { > > >> > > >> #DISTRIB_CODENAME="attitude_adjustment" > > >> #DISTRIB_TARGET="atheros/generic" > > >> #DISTRIB_DESCRIPTION="OpenWrt Attitude Adjustment 12.09-rc1" > > >> > > >> - . /etc/openwrt_release > > >> + test -f /etc/openwrt_release && . /etc/openwrt_release > > >> > > >> distname=$DISTRIB_ID > > >> distversion=$DISTRIB_RELEASE > > >> > > >> @@ -126,7 +132,8 @@ crawl() { > > >> > > >> #BUILD_DATE="build date: Di 29. Jan 19:33:34 CET 2013" > > >> #OPENWRT_CORE_REVISION="35298" > > >> #OPENWRT_FEEDS_PACKAGES_REVISION="35298" > > >> > > >> - . /etc/firmware_release > > >> + > > >> + test -f /etc/firmware_release && . /etc/firmware_release > > >> > > >> SYSTEM_DATA="<status>online</status>" > > >> SYSTEM_DATA=$SYSTEM_DATA"$status_text" > > >> > > >> @@ -135,10 +142,10 @@ crawl() { > > >> > > >> SYSTEM_DATA=$SYSTEM_DATA"${geo}" > > >> SYSTEM_DATA=$SYSTEM_DATA"${position_comment}" > > >> SYSTEM_DATA=$SYSTEM_DATA"${contact}" > > >> > > >> - if [ "$(uci -q get "system.@system[0].hood")" ] > > >> + if [ "${hood}" ] > > >> > > >> then > > >> > > >> - SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get > > >> "system.@system[0].hood")</hood>" - fi > > >> + SYSTEM_DATA=$SYSTEM_DATA"<hood>${hood}</hood>" > > >> + fi > > >> > > >> SYSTEM_DATA=$SYSTEM_DATA"<distname>$distname</distname>" > > >> SYSTEM_DATA=$SYSTEM_DATA"<distversion>$distversion</distversion>" > > >> SYSTEM_DATA=$SYSTEM_DATA"$cpu" > >