[RFC] nodewatcher: consolidate uci calls

Christian Dresel fff at chrisi01.de
Mi Jul 5 11:58:42 CEST 2017


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. at system[0].description)"
>> +    latitude="$(uci get system. at system[0].latitude)"
>> +    longitude="$(uci get system. at system[0].longitude)"
>> +    position_comment="$(uci get system. at system[0].position_comment)"
>> +    contact="$(uci get system. at system[0].contact)"
>> +    hood="$(uci -q get "system. at 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. at system[0].description)"
>>      if [ -n "$description" ]; then
>>          description="<description><![CDATA[$description]]></description>"
>>      fi
>> -    latitude="$(uci get system. at system[0].latitude)"
>> -    longitude="$(uci get system. at 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. at system[0].position_comment)"
>>      if [ -n "$position_comment" ]; then
>>          position_comment="<position_comment><![CDATA[$position_comment]]></position_comment>"
>>      fi
>> -    contact="$(uci get system. at 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. at system[0].hood")" ] 
>> +    if [ "${hood}" ]
>>      then                                                                                                                         
>> -        SYSTEM_DATA=$SYSTEM_DATA"<hood>$(uci -q get "system. at 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"
>>
> 
> 
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20170705/49acf83a/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev