[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