SMART-Tool als 3rd-party-apps

Status
Für weitere Antworten geschlossen.

oxidizer

Benutzer
Mitglied seit
26. Mrz 2008
Beiträge
43
Punkte für Reaktionen
4
Punkte
8
Hallo,

ich bin ein absoluter Newbee was das BS der DS an geht. Ich besitze eine DS-106e und mich interessiert dieses Smart-Tool sehr. Ich würde es gern im DS-Manager sehen können um die Temp der HD zu sehen. Ich habe alles so gemacht wie auf Seite 1 beschrieben, doch es funzt leider nicht. Ich denke das der Code für eine andere DS geschrieben wurde. Meine 106e hat ja ein PPC und keine MARVELL CPU und meine DS hat ja auch nur 1 HD und nicht 2 wie im Code geschrieben.

@itari: könnest du mir vielleicht den Code so abändern, dass er auf der DS 106e funzt...zu mindestens theoretisch? Das wäre klasse.

THX
 

itari

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

wenn du die Smarttools installiert hast, musst du das smartctl -A /dev/hda (bzw. deine Laufwerksbezeichnungen /dev/sda oder so) zum Laufen bringen. Irgendwo hab ich nen Post gesehen, dass das jemand auf einer 106 hin bekommen hat. Wenn das geht, kann ich dir weiterhelfen.

itari
 
Zuletzt bearbeitet:

oxidizer

Benutzer
Mitglied seit
26. Mrz 2008
Beiträge
43
Punkte für Reaktionen
4
Punkte
8
smartctl läuft schon bei mir...mit diesem befahrl kann ich die temp abrufen und er ganze wuhst der da noch bei steht.
 

itari

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

Da war dann noch offen, wie mal mehrere Platten über eine Grafikanzeige überwachen kann. Ich hab das ohne tps und dafür mit Google-Charts realisiert. Voraussetzung bleibt weiterhin der Einsatz von smartctl.

(1) Ein Datensammler-Skript /usr/sbin/diskstatsd für die CronTab:
Rich (BBCode):
[ "$1" == "" ] || exit 1
NOW=$(/usr/sbin/smartctl -d marvell -A /dev/hda | awk '/^194/{t1=$10}/^  9/{t2=$10}/^  4/{t3=$10}/^ 12/{t4=$10}/^  5/{t5=$10}END{printf("%d %d %d %d %d\n",t1,t2,t3,t4,t5)}')
date "+%m %d %H %M $NOW" >>/var/log/hdastats
NOW=$(/usr/sbin/smartctl -d marvell -A /dev/hdb | awk '/^194/{t1=$10}/^  9/{t2=$10}/^  4/{t3=$10}/^ 12/{t4=$10}/^  5/{t5=$10}END{printf("%d %d %d %d %d\n",t1,t2,t3,t4,t5)}')
date "+%m %d %H %M $NOW" >>/var/log/hdbstats
Die beiden Zeilen für die beiden Platten lassen sich für weitere Platten erweitern. Der awk sucht die folgenden Zeilen:
Rich (BBCode):
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  4 Start_Stop_Count        0x0032   100   100   020    Old_age   Always       -       273
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       1
  9 Power_On_Hours          0x0032   100   100   000    Old_age   Always       -       330
 12 Power_Cycle_Count       0x0032   100   100   020    Old_age   Always       -       47
194 Temperature_Celsius     0x0022   034   040   000    Old_age   Always       -       34 (0 21 0 0)
Wenn die Zeilen andere Nummern haben, dann einfach im Skript abändern.

(2) In der /etc/crontab wirds aufgerufen:
Rich (BBCode):
0,15,30,45,59   7-23    *       *       *       root    /bin/sh /usr/sbin/diskstatsd
Die Ergebnisse werden pro Platte gesammelt im Verzeichnis /var/log/hd?stats (? steht für a, b, usw). Wenn die Logfiles anders heissen sollen, dann einfach im Skript (1) oben abändern.

(3) Ein Auswertungs-Skript namens /usr/sbin/diskstats:
Rich (BBCode):
f=${1:-hda}
</var/log/${f}stats awk "/^$GET/{v1+=\$5;c++;v2=\$6;v5=\$9;
if(v1min==0) v1min=\$5; else if(v1min>\$5) v1min=\$5;
if(v1max==0) v1max=\$5; else if(v1max<\$5) v1max=\$5;
if(v3==0||\$7<v3)v3=\$7;else v3delta+=\$7-v3;
if(v4==0||\$8<v4)v4=\$8;else v4delta+=\$8-v4;
}
{v3=\$7;v4=\$8;}
END{if(v1>0)printf(\"%03.1f°C  %03.1f°C  %03.1f°C   %5d h %5d cycles  %5d cycles %4d sectors\n\",
v1/c,v1min,v1max,v2,v3delta-v4delta,v4delta,v5);else printf(\"\n\")}"

(4) Eine 3rd-party-Apps namens /usr/syno/synoman/phpsrc/diskhealth/diskhealth.cgi (falls jemand die andere Lösung schon eingesetzt hatte, diese vorher umbenennen):

Rich (BBCode):
#!/bin/ash
export GET
cat <<EOT
Content-type: text/html

<html><head><title>System-Info</title></head><body style="width:750px">
<style>body{font:11px Arial;background-color:#ddf;}</style>
$(/usr/sbin/diskstatsd)

<div style="font:11px monospace;position:absolute;top:11px;left:27px;z-index:5">
<span style="color:#333333">?
</span>/dev/hda actual Temperature $(</var/log/hdastats tail -1|awk '{print $5}')°C 
<span style="color:#666666">?</span>
/dev/hdb actual Temperature $(</var/log/hdbstats tail -1|awk '{print $5}')°C</div>
<div style="padding-top:142px;padding-left:1px;line-height:10px"><pre>
     Aver.    Mini    Maxi  Lifetime    Hibernate  Power on/off  Reallocated
hda $(/usr/sbin/diskstats hda|awk '{printf("%s",$1)}';/usr/sbin/smartctl -d marvell -A /dev/hda | awk '/^194/{t1=$10}/^190/{t6=substr($13,1,2),t7=substr($13,4,2)}
/^  9/{t2=$10}/^  4/{t3=$10}/^ 12/{t4=$10}/^  5/{t5=$10}
END{printf("  %2d.0°C  %2d.0°C %7d h %5d cycles %6d cycles %4d sectors\n",t6,t7,t2,t3-t4,t4,t5)}')
hdb $(/usr/sbin/diskstats hdb|awk '{printf("%s",$1)}';/usr/sbin/smartctl -d marvell -A /dev/hdb | awk '/^194/{t1=$10}/^190/{t6=substr($13,1,2),t7=substr($13,4,2)}
/^  9/{t2=$10}/^  4/{t3=$10}/^ 12/{t4=$10}/^  5/{t5=$10}
END{printf("  %2d.0°C  %2d.0°C %7d h %5d cycles %6d cycles %4d sectors\n",t6,t7,t2,t3-t4,t4,t5)}')

EOT
year=$(date "+%Y")
month=$(date "+%m")
day=$(date "+%d"); day1=`expr $day - 1`;
hour=$(date "+%H"); hour1=`expr $hour + 1`;
T1="";T2="";L="";

G=`date -d"$month${day1}0000$year" "+%m %d "`;for t in $(seq $hour1 23);do 
t=$(printf %02d $t);GET=$G$t;if [ "$L" == "" ] ;then L=$t; else L=$L'|'$t; fi
T=$(/usr/sbin/diskstats hda); if [ "$T" == "" ] ;then S=0; else S=`echo $T|sed 's/\(..\).\(.\).*/\1\2/'`; fi
if [ "$T1" == "" ] ;then T1=$S; else T1=$T1,$S; fi
if [ "$T" != "" ] ;then echo "$t: $T"; fi
T=$(/usr/sbin/diskstats hdb); if [ "$T" == "" ] ;then S=0; else S=`echo $T|sed 's/\(..\).\(.\).*/\1\2/'`; fi
if [ "$T2" == "" ] ;then T2=$S; else T2=$T2,$S; fi
if [ "$T" != "" ] ;then echo "    $T"; fi
done

G=`date "+%m %d "`;for t in $(seq 00 $hour);do 
t=$(printf %02d $t);GET=$G$t;if [ "$L" == "" ] ;then L=$t; else L=$L'|'$t; fi
T=$(/usr/sbin/diskstats hda); if [ "$T" == "" ] ;then S=0; else S=`echo $T|sed 's/\(..\).\(.\).*/\1\2/'`; fi 
if [ "$T1" == "" ] ;then T1=$S; else T1=$T1,$S; fi
if [ "$T" != "" ] ;then echo "$t: $T"; fi
T=$(/usr/sbin/diskstats hdb); if [ "$T" == "" ] ;then S=0; else S=`echo $T|sed 's/\(..\).\(.\).*/\1\2/'`; fi
if [ "$T2" == "" ] ;then T2=$S; else T2=$T2,$S; fi
if [ "$T" != "" ] ;then echo "    $T"; fi
done

cat <<EOT
</pre>
</div>
<img style="position:absolute;top:2px;margin-left:-2px"
src="http://chart.apis.google.com/chart?cht=bvg&chds=200,500&&chbh=11,0,0
&chf=c,lg,90,dd0000,1,ffff77,0|bg,s,efefef00&chg=8.33,33.33&chco=333333,666666&chs=680x150
&chxt=x,r&chxl=0:|$L|1:|20|30|40|50
&chd=t:$T1|$T2">
EOT
for d in $(ls /dev/hd?); do
cat <<EOT
<hr><h3>$d</h3>
<pre>$(/opt/sbin/smartctl -d marvell -iAH $d|sed '1,3d')</pre>
EOT
done
cat <<EOT
</body></html>
EOT

Auch hier sieht man zwei Platteneinträge, die problemlos erweitert werden könnten. Die beiden roten Zahlen beeinflussen die Breite der Grafik bzw. die Breite der Balken, da kann man mit spielen.

Die beiden schwarzen Blöcken sind eigentlich folgenden Zeichen (bitte ersetzen): & #9606; (ich hab mal eine Leestelle dazwischen gesetzt, damit der Code auch angezeigt wird. Die Leerstelle muss natürlich dann entfernt werden.

Daran denken, die Datei mit chmod 755 ausführbar zu machen.

(5) Wenn man die Smarttool-Geschichte schon hatte, läuft es jetzt. Wenn nicht, dann noch im Verzeichnis /usr/syno/synoman/webman/3rdparty ein Verzeichnis namens diskhealth erstellen. In dieses Verzeichnis eine Datei namens application.cfg erfassen:
Rich (BBCode):

text = diskhealth
description = diskhealth
type = embedded
path = /phpsrc/diskhealth/diskhealth.cgi

Anmerkungen:

Die Hibernate-Cycles sind die Start/Stop-Counts minus Power-on/off-Counts, was so ungefähr mit der Hibernate-Anzahl übereinstimmen würde. Wir alle wissen, dass es nicht wirklich Hibernates sind, sondern nur das Plattenruhen :D.

In jedem Fall sind die Start/Stop-Zyklen ein wichtiger Parameter für die Platten-Haltbarkeit (<50.000 meist). Daneben ist auch der Reallocate-Zähler ein Indiz für die Güte der Platte. Wenn dieser Wert ansteigt, dann verliert die Platte ihre Selbstheilungskraft - sind ja so etwas wie Ersatz-Sektoren.

Die Balken in der Grafik repräsentieren gemittelte Stunden-Werte, der Text in der Grafik liest den aktuellen Wert aus (höchsten 10 Sekunden alt). Die Legende der x-Achse sind Uhrzeiten, der y-Achse °C. Die beiden Zeilen unterhalb der Grafik sind die Total-Werte der Platten, danach kommen gemittelte, minimalen und maximalen Stundenwerte bei den Temperaturen bzw. die Differenzwerte bei den cycles zwischen zwei Stunden-Intervallen. Die Werte werden für die letzten 24 Stunden berechnet - liegen keine Messergebnisse vor, wird nicht angezeigt (z.B. Ruhezeiten in der Nacht). Da jeder SMART-Auslesevorgang auch den spin-down der Platte unterbricht, macht es Sinn, in der Nacht nicht zu messen. Ich habe die Intervalle auf ca 15 Minuten für die Messung gesetzt (siehe /etc/crontab (2)) und meine Ruhezustands-Eintragung ist 15 Minuten (da 10 Minuten bei einigen Modellen wohl zu Problemen führt, macht das so Sinn).

Wie immer der Hinweis, dass alles auf eigene Kappe geht. :D
 

Anhänge

  • diskhealth3.jpg
    diskhealth3.jpg
    128,8 KB · Aufrufe: 174
Zuletzt bearbeitet:

dathen

Benutzer
Mitglied seit
29. Mai 2007
Beiträge
65
Punkte für Reaktionen
0
Punkte
0
Hi itari,

nach kürzerer Pause hab' ich mich gestern Abend mal wieder an meine CS gesetzt und Deine Variante von diskhealth, ohne tps und rddtool bei mir implementiert. Naja, vielmehr versucht...

Versucht aus mehr oder weniger zwei Gründen:
1. Dieses Forum ist zwar toll, weil sich Leute wie Du hier absolut genial einbringen. Aber: dieses Forum macht einem die Code-Übernahme aus dem Forum in ein Shellscript o.ä. via copy & paste nicht wirklich leicht. Dass uns hier immer wieder Leerzeichen und unmotivierte Zeilenumbrüche das Leben schwer machen, haben wir ja schon das eine oder andere mal festgestellt. Das kam mir gestern Abend auch wieder in die Quere. Vorteil: ich mußte mich mit Deinem Code auseinandersetzen :D Nachteil: Ich hab Debugger gespielt, die Geschichte aber nicht wirklich zum Laufen bekommen. :(
An dieser Stelle zwar offtopic, aber vielleicht trotzdem hilfreich: wieso fügst Du eigentlich nicht die Originaldateien als Attachment an (natürlich als txt Datei getarnt, weil das Forum bestimmt keine Dateien mit .cgi, .php oder .sh als Endung zuläßt)? Noch besser: gleich als tgz-Archiv mit den korrekten Pfaden :D Das würde vielleicht ein paar Probleme verhindern - erhöht aber natürlich auch die Gefahr (das hatten wir an anderer Stelle ja schonmal besprochen).

2. (und damit wieder ontopic) In /var/log/hdastats werden brav die Ergebnisse von Deinem Script abgelegt und es sind auch Datum und Uhrzeit des Eintrags zu erkennen. Die restlichen Werte sind aber alle Nullen, was danach aussieht, als ob die Verarbeitung der Ausgabe von smartctl mit awk nicht ordentlich funktioniert. Ich habe smartctl manuell in der Shell ausprobiert, da sieht alles ok aus und auch die komplette Ausgabe von smartctl auf der diskhealth-Seite sieht ok aus. Ich habe auch geprüft, ob die Zeilennummern mit denen übereinstimmen, die Du im Script verwendest => alles in Ordnung. Bleibt zum Schluss nur noch die Auswertung der Spalteninformationen als Fehlerquelle. Hast Du ne Idee woran's liegen könnte?
Weiteres Problem ist, dass der cronjob scheinbar nicht ausgeführt wird, aber da muss ich womöglich den crond manuell neu starten (hab da irgendwo im Forum was dazu gelesen).

So long... dathen
 

itari

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

zu Punkt 2: was steht denn nun in der /var/log/hdastats? Einträge mit Nullen oder Einträge mit richtigen Werten?

Hab ich aus deinem Post nicht genau herauslesen können.

Noch ne allgemeine Bemerkung: du hast schon recht damit, dass ich die Skripte nicht so veröffentliche, dass man sie einfach nur installieren kann - das hält die Skripte schön klein und man kann seine Freude damit haben, wenn man sie letztendlich zum Laufen bringt. Und man kann sie dann nach Herzenslust (oder wie auch immer) ändern ... das macht Spaß im Kopf und gute Laune, wenns dann läuft und das ist doch das Wichtigste oder? :D Die Alternative wäre einfach so, dass es die Skripte nicht gäbe, wir nichts zu diskutieren hätten, die Welt einfach und schlicht wäre und die Fünf gerade und das wäre doch Schade. :rolleyes:

itari
 

dathen

Benutzer
Mitglied seit
29. Mai 2007
Beiträge
65
Punkte für Reaktionen
0
Punkte
0
Hi itari,

die /var/log/hdastats sieht ungefähr so aus (bin noch nicht zuhause, daher nur ungefähr aus dem Kopf rekonstruiert):

07 24 08 17 00 0 0 0 0
07 24 08 17 30 0 0 0 0

Wie gesagt, nur aus dem Kopf rekonstruiert, ich kann heute Abend mal ein Original posten (als attachment :p). Auf jeden Fall stehen nur Null-Werte für die einzelnen Parameter drin.

Das mit dem zum Laufen bringen und so: ich glaube zum Laufen bringen gibt's da auch so genug, schließlich müssen die meisten Leute noch irgendwas an ihr System anpassen (Pfade, weil der eine die Skripte hier ablegt, der andere dort - oder weil einer zwei Platten in seiner Synology hat, der andere aber nur eine usw.). Aber ich denke halt, man könnte sich einige echt unnötige Stolpersteine sparen, die gerade Newbies (aber auch den Fortgeschrittenen) einiges Kopfzerbrechen bereiten.

Ich "verlange" natürlich kein Installationsskript oder gar ein ipkg Paket (obwohl, wenn ich recht drüber nachdenke... :D). Ich glaube, genug zu basteln und diskutieren finden wir hier bestimmt noch, man kann so viele schöne Schweinereien mit den Synologies anfangen, an die Synology bislang noch nicht gedacht hat oder nicht die Manpower hatte, sie umzusetzen. Da geht uns so schnell bestimmt nicht die Freude verloren, bin ich fest von überzeugt! ;)

Gruß, dathen
 

itari

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

wenn es so in der /var/log/hda aussieht, dann hat das erste Skript die Felder nicht gefunden. Du kannst die folgende Zeile austesten, bis sie was hergibt:

Rich (BBCode):
/usr/sbin/smartctl -d marvell -A /dev/hda | awk '/^194/{t1=$10}/^  9/{t2=$10}/^  4/{t3=$10}/^ 12/{t4=$10}/^  5/{t5=$10}END{printf("%d %d %d %d %d\n",t1,t2,t3,t4,t5)}'

Wenn du auch einen Marvell-Prozessor hast, dann die die Option mit -d ok. Es kann sein, dass die Laufwerke nicht /dev/hda heißen, sondern /dev/sda oder so. Aber wenn der smartclt ja bei dir schon funktioniert hat, dann kennst diese Einstellungen bereits.

Kontrolliere dann auch mal die ZeilenNummern. Wenn eine Zeile mit Leestelle,Leerstelle,9 anfängt, muss die RegEx auch entsprechend aussehen: /^LeerLeer9/.

Die obige Zeile muss gehen, sonst geht das Sammeln der Werte nicht. So schwierig ist das ja nicht. Das Skript sucht die Zeilen und sammelt die Werte an der 10.Stelle (= 9xLeerstellen dazwischen). Am Ende werden sie mit dem printf ausgegeben, auch hier sind die Platzhalter (%d) mit jeweils einer Leerstelle getrennt.

Anmerkung zu deinen Anmerkungen: Niemand muss eine DS haben, niemand muss sich weitere Tools installieren, niemand braucht 3rd-party-Applications, wirklich niemand ist zu sowas gezwungen. Alles ist freiwillig und macht Spaß. Und Schweinereien mach ich nicht mit der DS :D

itari
 

dathen

Benutzer
Mitglied seit
29. Mai 2007
Beiträge
65
Punkte für Reaktionen
0
Punkte
0
Hi itari,

ich hab nach einiger Pause herausgefunden, woran es bei mir lag. Grund sind unterschiedliche awk Versionen. Du verwendest scheinbar die eingebaute BusyBox Version von awk. Ich hab bei mir GNU awk (gawk, Version 3.1.6) installiert. Und die verhalten sich einfach mal anders :mad:

Mit der eingebauten awk Version (liegt unter /usr/bin/awk):
root@cubestation> smartctl -d marvell -A /dev/sda | /usr/bin/awk '/^194/{t1=$10}/^ 9/{t2=$10}/^ 4/{t3=$10}/^ 12/{t4=$10}/^ 5/{t5=$10}END{printf("%d %d %d %d %d\n",t1,t2,t3,t4,t5)}'
42 8094 450 23 0

Und mit der GNU awk 3.1.6 (liegt unter /opt/bin/awk):
root@cubestation> which awk
root@cubestation> /opt/bin/awk
root@cubestation> smartctl -d marvell -A /dev/sda | awk '/^194/{t1=$10}/^ 9/{t2=$10}/^ 4/{t3=$10}/^ 12/{t4=$10}/^ 5/{t5=$10}END{printf("%d %d %d %d %d\n",t1,t2,t3,t4,t5)}'
0 0 0 0 0

Darauf muss man erstmal kommen...
Jetzt werde ich wohl überall den Pfad vom "Original" awk einbauen dürfen (Alternative wäre GNU awk wieder runterzuschmeißen...)

Hoffe, das funktioniert dann endlich mal... Ich werde berichten.

Gruß, dathen
 

itari

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

schön, das es jetzt so aussieht, als würde es gehen. Das mit den beiden awk-Versionen kann ich nicht nachvollziehen :(. Bei mir zeigen beide Versionen das gleiche an (gawk-3.1.6 vs. BusyBox). Aber was soll es :D. Hauptsache, du bekommst es hin.

Gruß
itari
 

baeumer

Benutzer
Mitglied seit
10. Aug 2008
Beiträge
247
Punkte für Reaktionen
0
Punkte
0
Habe die Anweisung #1 für diskhealth genau befolgt und erhalte leider die Fehlermeldung in der webapp: Es tut uns Leid, die von Ihnen ghesuchte Seite konnte nicht gefunden werden (wenn ich unter Third-party-applications auf diskhealth klicke). Woran liegts?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
chmod 0755 diskhealth.cgi und chmod +x diskhealth.cgi gemacht?
 

baeumer

Benutzer
Mitglied seit
10. Aug 2008
Beiträge
247
Punkte für Reaktionen
0
Punkte
0
Hab ich (jetzt noch mal) gemacht, keine Änderung.

Wie gesagt, die Dateien /usr/syno/synoman/phpsrc/diskhealth/diskhealth.cgi und
/usr/syno/synoman/webman/3rdparty/diskhealth/application.cfg sind da.

Bei ipkg list_installed kommt:
bash - 3.2.33-1 - A bourne style shell
davtools - 1.2.0-1 - Disk Allocation Viewer - obtain the state of fragmentation.
e2fslibs - 1.40.3-5 - Ext2 Filesystem Libraries
e2fsprogs - 1.40.3-5 - Ext2 Filesystem Utilities
ipkg-web - 7-7 - A web frontend for ipkg
readline - 5.2-2 - The GNU Readline library provides a set of functions for usee
smartmontools - 5.38-1 - Utility programs to control and monitor (SMART) built .
util-linux - 2.12r-6 - A suite of essential utilities for any Linux system.
wget - 1.11.4-1 - A network utility to retrieve files from the Web

Was ist falsch?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Mach mal ein Backup der diskhealth.cgi Dann öffnest du die originale Datei und änderst sie mal ein bisschen ab
Code:
#!/bin/ash
/opt/bin/tps
cat <<EOT
Content-type: text/html

<html><head><title>DiskHealth</title></head><body>
<h2>DiskHealth</h2>
<style>body{font:11px Arial;background-color:#ddf;}</style>
<!-- <img src="http:/syno/tps-Synology.png"> -->
<img src="http://irgendeineURL.tld/irgendeinBild.jpg" />
<hr><h3>/dev/hda</h3>
<pre>$(/sbin/smartctl -d marvell -iAH /dev/sda|sed '1,3d')</pre>
<hr><h3>/dev/hdb</h3>
<pre>$(/sbin/smartctl -d marvell -iAH /dev/sdb|sed '1,3d')</pre>
</body></html>
EOT
wenn die Seite jetzt ohne Fehler angezeigt wird, dann musst du erstmal prüfen ob du tps korrekt konfiguriert hast (Tipp würde als Verzeichnis für das Bild in der tps Config auf das Verzeichnis der diskhealt einstellen)
Dazu gibst du auf einer Shell
Code:
tps config
ein. Dann werden die benötigten Werte einzeln agefragt.
 

baeumer

Benutzer
Mitglied seit
10. Aug 2008
Beiträge
247
Punkte für Reaktionen
0
Punkte
0
Geht immer noch nicht!

<!-- <img src="http:/syno/tps-Synology.png"> -->

Muß ich da was einsetzen?

<img src="http://irgendeineURL.tld/irgendeinBild.jpg" />

Muß ich da was einsetzen?

wenn ich tps config eingebe, wird nach
image folder gefragt. Was soll ich da eingeben?
Am Ende kommt: awk: cmd.line:1: Division by zero
Ist das richtig?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Zu deiner ersten Frage:
Nein dort nix einsetzen <!-- und --> sind Kommentarzeichen in html und sorgen dafür dass das Default Bild nicht geladen wird (könnte ja den 404-er ausgelöst haben)
Zu 2)
Dort solltest du testweise mal die URL von einem Bild angeben von dem du weisst, dass es vorhanden ist.

Mach mal ein
Code:
ls -all /opt/bin/tps
in einer Telnet/SSH Konsole auf der DS. tps MUSS chmod 0777 und ausführbar sein sonst klappt es auch nicht

Gruss

tobi
 

baeumer

Benutzer
Mitglied seit
10. Aug 2008
Beiträge
247
Punkte für Reaktionen
0
Punkte
0
Hatte tps in /bin und habe sie nun zusätzlich nach /opt/bin kopiert, beide mit chmod 0777.
Beim Aufruf von tps bekomme ich ein Division by zero. Muß das so? Ist das denn der Grund dafür, daß die Seite in 3rd-party nicht gefunden wird?
Bildlink habe ich ebenfalls geändert, kein Effekt!
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
chmod 0770 ist schonmal gut. und ausführbar ist sie auch? Hast du dir bei der Installation auch diesen http://ikeke.free.fr/syno/ Link angeschaut?
 

baeumer

Benutzer
Mitglied seit
10. Aug 2008
Beiträge
247
Punkte für Reaktionen
0
Punkte
0
Wie gesagt, nach Aufruf "division by zero".
Den Link habe ich gesehen und befolgt. Aber bei smartctl -A /dev/hda erhalte ich
Smartctl: Device Read Identity Failed (not an ATA/ATAPI device)
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Smartctl: Device Read Identity Failed (not an ATA/ATAPI device)
Dann schau dir mal den Parameter -d an (smartctl --help) Bei mir (DS107+) funzt
Code:
smartctl -d ata -a /dev/sda
einwandfrei
 
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