AdminTool AdminTool Evolution & Troubleshooting (Part 1)

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Wer will, kann die neue Überschrift testen. Dazu muss man in der adm.js die Datei 'header.html' gegen die hier gleich angezeigte Datei 'header.cgi' austauschen.

Wichtig ist, die folgenden Zeilen mit einem Linux-Zeilenenden-könnenden Editor abzuspeichern.

Inhalt der Datei header.cgi:

Rich (BBCode):
#!/bin/ash
netstats() {
</var/log/netstats_$1 awk "/^$2/{
if(v1==0||\$5<v1)v1=\$5;else v1delta+=\$5-v1;
if(v2==0||\$6<v2)v2=\$6;else v2delta+=\$6-v2;
if(v3==0||\$7<v3)v3=\$7;else v3delta+=\$7-v3;
if(v4==0||\$8<v4)v4=\$8;else v4delta+=\$8-v4;
}
{v1=\$5;v2=\$6;v3=\$7;v4=\$8;}
END{if(v2delta>0)printf(\"%12d kB / %12d kB \n\",v1delta/1000,v3delta/1000);
else printf(\"%12d kB / %12d kB \n\",0,0)}"
}

INTERNAL_IP=true
EXTERNAL_IP=true
LOOKUP_TIME=5
LOCATION='Frankfurt'

VERSION=`/bin/get_key_value /var/packages/adm/INFO version`
HOSTNAME=`hostname -s`
([ ! -f /tmp/externalIP.result ] || [ $((`date +%m` % $LOOKUP_TIME)) -eq 0 ]) && /usr/syno/sbin/ddnsd -e
INT_IP=`ifconfig eth0 | grep inet | sed 's/^ *..........//' | sed 's/ .*$//'`
EXT_IP=`if [ -f /tmp/externalIP.result ];then /bin/get_key_value /tmp/externalIP.result externalIP;else echo 0.0.0.0;fi`
UPTIME=`uptime | sed 's/^.*up/up/' | sed 's/, load.*$//'`
if [ $INTERNAL_IP  -a ! $EXTERNAL_IP ] ; then IP=' [ '$INT_IP' ]';fi
if [ $INTERNAL_IP  -a   $EXTERNAL_IP ] ; then IP=' [ '$INT_IP' | <span class="ip_header">'$EXT_IP'</span> ]';fi
DATE=`date '+%e. %B %Y %H:%M'`
PROC=`ps | wc -l`
CPU=`/opt/bin/top -b -n 1 |awk 'NR>7&&NR<30 {s+=$9} END {printf("%2.1f %%",s)}'`
MEM=`free | awk 'NR==2{printf("%2.0f%%",$3/$2*100)}'`
ETH0='eth0: '$(netstats eth0 "`date '+%m %d %H'`");
# ETH1='eth1: '$(netstats eth1 "`date '+%m %d %H'`");
# RA0='ra0: '$(netstats ra0 "`date '+%m %d %H'`");
# DISK0=`/usr/syno/bin/smartctl -A /dev/hda|awk '/^190/{print "Disk0: "$10"°"}'`
DISK0=`/usr/syno/bin/smartctl -d marvell -A /dev/sda|awk '/^190/{print "Disk0: "$10"°"}'`
DISK1=`/usr/syno/bin/smartctl -d marvell -A /dev/sdb|awk '/^190/{print "Disk1: "$10"°"}'`
# DISK2=`/usr/syno/bin/smartctl -d marvell -A /dev/sdc|awk '/^190/{print "Disk2: "$10"°"}'`
# DISK3=`/usr/syno/bin/smartctl -d marvell -A /dev/sdd|awk '/^190/{print "Disk3: "$10"°"}'`
# DISK4=`/usr/syno/bin/smartctl -d marvell -A /dev/sde|awk '/^190/{print "Disk4: "$10"°"}'`


HOME=`wget -O - "http://www.google.com/ig/api?weather="$LOCATION 2>/dev/null | sed -e 's/^.*temp_c data=\"\\([0-9-][0-9\]*\\)\".*/\\1/'`

cat <<EOT
Content-type: text/html

<div style="color:#fff;font:11px Arial;font-weight:bold">
<div style="position:absolute;top:0px;left:2px">AdminTool $VERSION</div>
<center>$HOSTNAME $IP $UPTIME</center>
<div style="position:absolute;top:0px;right:2px">$DATE</div>
<div style="position:absolute;left:2px;top:15px">Proc: $PROC CPU: $CPU Mem: $MEM</div>
<center style="margin-top:1px">$ETH0 $ETH1 $RA0</center>
<div style="position:absolute;top:15px;right:2px">$DISK0 $DISK1 $DISK2 $DISK3 $DISK4 Home: $HOME°</div>
</div>
EOT

Zeilen, die man noch zusätzlich konfigurieren kann, sind mit Kommentar-# eingebaut.

Itari
 

Rabenvater

Benutzer
Mitglied seit
05. Feb 2010
Beiträge
120
Punkte für Reaktionen
0
Punkte
0
Hi Itari,

ich habe gerade das AdminTool 0.94 installiert und die Statuszeile sieht einfach genial aus, gefällt mir echt sehr gut.

Ich benutze den Mozilla FF 3.6.3 und ich bekomme eine Fehlermeldung, oben im Reiter angezeigt :
Icon vom AdminTool gefolgt von AdminTool/source/busybox-1.1.0/synocmds/get_key_value.c(25) Failed to open ../INFO, errno:2 (No suche file or directory)

:confused:
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Icon vom AdminTool gefolgt von AdminTool/source/busybox-1.1.0/synocmds/get_key_value.c(25) Failed to open ../INFO, errno:2 (No suche file or directory)

Danke für den Hinweis, eine neue Version ist in der Mache ;)

Itari

PS. die Version adm_0_94a.spk ist als Download verfügbar
 
Zuletzt bearbeitet:

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Try to release the browser cache (Ctl-F5 in Firefox) and tell the result

Itari
 

zyxmon

Benutzer
Mitglied seit
02. Mai 2010
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Yes! The issue was with browser cache. There is no title issue with 0.94a.

As for FileSystem page. The command
"for f in `(egrep md /proc/diskstats || egrep 'sda1|hda1')|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done"

gives nothing (checked in putty).
The output "cat /proc/diskstats" has valid numbers as shown.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
As for FileSystem page. The command
"for f in `(egrep md /proc/diskstats || egrep 'sda1|hda1')|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done"

Please try:

"for f in `(egrep md /proc/diskstats || egrep 'sda1|hda1' /proc/diskstats)|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done"

Itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
The same bug in Ext JS Library.
May be upgrading to the last version of Ext JS Library will fix it?

The bug disappers with a version > 3.1.0.

But there is a new AJAX-Strategie build in belonging to Versions >= 3.2.0. The performance is so worse that 50% of the AJAX-calls in AdminTool get time-out problems. To avoid this, I've to make fake-pages during the first load-cycle (of the 'activate'- and 'autoload'-triggers). It's a lot of work, and no need to do it (in general no new features in ext_3.2.x versions).

Now I do a work around and change the problematic file ... I hope, with Version 0.95 you will get it.

Itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

zyxmon

Benutzer
Mitglied seit
02. Mai 2010
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Code:
egrep md /proc/diskstats || egrep 'sda1|hda1' /proc/diskstats
   9    0 md0 0 0 0 0 0 0 0 0 0 0 0
DiskStation> echo $PATH
/opt/bin:/opt/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/syno/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/syno/bin:/usr/syno/sbin:/usr/local/bin:/usr/local/sbin
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0

Try this:

Rich (BBCode):
for f in `R=$(egrep md /proc/diskstats|awk '$4>0{print $3}');[ "$R" != "" ] && echo $R || egrep 'sda1|hda1' /proc/diskstats|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done

Itari
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
BTW As far as I understand duplicate entries in PATH are from
/etc/rc and /etc/profile

/etc/profile and /root/.profile. If you want, you can change it in /root/.profile
But it is not necessary to solve the problem.

Itari
 

zyxmon

Benutzer
Mitglied seit
02. Mai 2010
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Just noticed that some commands do not work in webshell.
For example "mount". "man" also does not work, probably because of formating.
I am attaching a screenshot. It looks a little strange (/dev/hda1 and /dev/sda3).
 

Anhänge

  • dis1k.jpg
    dis1k.jpg
    18,9 KB · Aufrufe: 64

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Just noticed that some commands do not work in webshell.
For example "mount". "man" also does not work, probably because of formating.
I am attaching a screenshot. It looks a little strange (/dev/hda1 and /dev/sda3).

mount does work:
Rich (BBCode):
mount 2>&1

Itari
 

zyxmon

Benutzer
Mitglied seit
02. Mai 2010
Beiträge
36
Punkte für Reaktionen
0
Punkte
0
Try this:

Rich (BBCode):
for f in `R=$(egrep md /proc/diskstats|awk '$4>0{print $3}');[ "$R" != "" ] && echo $R || egrep 'sda1|hda1' /proc/diskstats|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done

Itari

Here is the output
Code:
/> for f in `R=$(egrep md /proc/diskstats|awk '$4>0{print $3}');[ "$R" != "" ] && echo $R || egrep 'sda1|hda1' /proc/diskstats|awk '$4>0{print $3}'` ;do echo /dev/$f;/opt/sbin/dumpe2fs -h /dev/$f;echo;done
/dev/sda1
Filesystem volume name:   1.41.3-0965
Last mounted on:          <not available>
Filesystem UUID:          29c7fb6c-9829-4a91-aa04-66f20be5c996
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode filetype needs_recovery sparse_super large_file
Filesystem flags:         unsigned_directory_hash
Default mount options:    (none)
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              155648
Block count:              622560
Reserved block count:     25600
Free blocks:              497957
Free inodes:              141238
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      151
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Filesystem created:       Sat Feb  7 12:58:43 2004
Last mount time:          Mon May  3 08:46:06 2010
Last write time:          Mon May  3 08:46:06 2010
Mount count:              2
Maximum mount count:      20
Last checked:             Mon May  3 08:45:57 2010
Check interval:           15552000 (6 months)
Next check after:         Sat Oct 30 08:45:57 2010
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      734385ed-cae8-4060-a398-1a3dd79af9db
Journal backup:           inode blocks
Journal size:             64M
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat