Anzeige der wichtigsten Systeminformationen im Disk Station Manager

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
Die folgende Anleitung zeigt, wie man eine Anzeige der wichtigsten Systeminformationen als .cgi-Skript in den Disk Station Manager als 3rd-party-application einbaut.

Achtung: Wie immer erfolgen alle Änderungen mit telnet-Aufruf auf der DS und auf eigene Kappe

Voraussetzung: Die Option HTTPS-Verbindung ist aktiv, d. h. auf den Web Station Manager wird mit https://IP_der_DS:5001 zugegriffen.

(1) Ein Verzeichnis anlegen: /usr/syno/synoman/phpsrc/systeminfo und sich in das neue Verzeichnis stellen.

(2) Die Datei info.cgi erstellen mit folgendem Inhalt (Achtung, die erste Zeile ist sehr wichtig!) :

Rich (BBCode):
#!/bin/ash
echo "Content-type: text/html"
echo ""
echo "<html><head><title>System-Info</title></head><body>"
echo "<style>body{font:11px Arial;}h3{color:#88F;}</style>"
echo "<h2>General system information for host $(hostname -s)</h2>"
echo "<div style='height:500px;overflow:auto'>"
echo "<h3>CPU</h3>"
echo "<pre>"
echo "$(cat /proc/cpuinfo) </pre>"
echo "<h3>Memory</h3>"
echo "<pre>"
echo "$(cat /proc/meminfo)"
echo ""
echo "$(free)</pre>"
echo "<h3>Flash-Layout</h3>"
echo "<pre>"
echo "$(cat /proc/mtd) </pre>"
echo "<h3>Partitions</h3>"
echo "<pre>"
echo "$(cat /proc/partitions)</pre>"
echo "<h3>Swap</h3>"
echo "<pre>"
echo "$(cat /proc/swaps)</pre>"
echo "<h3>Devices (Major-#)</h3>"
echo "<pre>"
echo "$(cat /proc/devices)</pre>"
echo "<h3>File-Systems</h3>"
echo "<pre>"
echo "$(cat /proc/filesystems)</pre>"
echo "<h3>RAID-Volumes</h3>"
echo "<pre>"
echo "$(cat /proc/mdstat)"
echo ""
echo "$(for m in /dev/md?; do echo ""; mdadm --query --detail $m; done)</pre>"
echo "<h3>mounted Volumes</h3>"
echo "<pre>"
echo "$(cat /proc/self/mounts)</pre>"
echo "<h3>File-System Usage</h3>"
echo "<pre>"
echo "$(df)</pre>"
echo "<h3>Installed Linux-Version</h3>"
echo "<pre>"
echo "$(cat /proc/version)</pre>"
echo "<h3>Installed Modules</h3>"
echo "<pre>"
echo "$(cat /proc/modules)</pre>"
echo "<h3>User</h3>"
echo "<pre>"
echo "$(cat /etc/passwd)"
echo ""
echo "$(who)</pre>"
echo "<h3>Processes</h3>"
echo "<pre>"
echo "$(ps)</pre>"
echo "<h3>Network Interfaces</h3>"
echo "<pre>"
echo "$(ifconfig eth0;ifconfig eth1)</pre>"
echo "<h3>Network Ports</h3>"
echo "<pre>"
echo "$(netstat -na)</pre>"
echo "<h3>NFS Mounts</h3>"
echo "<pre>"
echo "$(showmount)</pre>"
echo "<h3>Samba</h3>"
echo "<pre>"
echo "$(smbstatus -vS)</pre>"
echo "</div></body></html>"
(3) Ein Verzeichnis anlegen: /usr/syno/synoman/webman/3rdparty/systeminfo. In diesem Verzeichnis die Datei application.cfg erfassen:

text = systeminfo
description = systeminfo
type = embedded
protocol = https
adress = localhost
port = 5001
path = /phpsrc/systeminfo/info.cgi

(4) Disk Station Manger aufrufen & testen


Wer etwas vermisst oder zusätzlich angezeigt bekommen möchte, kann entweder das Skript selbst erweitern oder hier posten - ich bau das dann ein.

Und um die Frage gleich vorweg zu nehmen, ob man auch Werte an ein .cgi-Skript übergeben kann: ja!

... skript.cgi?xyz

im Skript: echo $1 oder: echo $QUERY_STRING
 

andre

Benutzer
Mitglied seit
21. Februar 2008
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Hallo itari,

ich habe es mal nach deiner Anleitung versucht einzubinden noch leider bekomme ich immer beim Aufruf die Meldung das die Seite nicht gefunden werden kann.
Kannst du mir helfen?
Ich habe es 3 mal nach deiner Anleitung kontrolliert.
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
ich glaube ich habe in der application.cfg einen Tippfehler :rolleyes:

adress = localhost <- falsch

address = IP_deiner_DS <- richtig
 
Zuletzt bearbeitet:

andre

Benutzer
Mitglied seit
21. Februar 2008
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
Stimmt, ist mir aber echt nicht aufgefallen.

Geht aber trotzdem noch nicht :-(
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
ok ... dann testen wir mal, ob die Apache-Einstellungen stimmen:

(1) grep DocumentRoot /usr/syno/apache/conf/httpd.conf-sys. Da muss nun eine Zeile ohne # erscheinen, die so aussieht:

DocumentRoot "/usr/syno/synoman"

Wenn nein zu Schritt 5 - wenn ja, dann:

(2) stell dich ins Verzeichnis /usr/syno/synoman/phpsrc/systeminfo

(3) echo "huhu" >index.html

(4) Browseraufruf mit: https://Ip_deiner_DS:5001/phpsrc/systeminfo/index.html

Ergebnis auf der Webseite sollte sein: huhu

Wenn nein, dann auch noch folgendes ausführen:

(5) grep Alias /usr/syno/apache/conf/httpd.conf-sys.

und Ergebnisse von (1) und (5) posten, die bei dir angezeigt werden
 

andre

Benutzer
Mitglied seit
21. Februar 2008
Beiträge
30
Punkte für Reaktionen
0
Punkte
0
ok, ich habe das mal alles durchgespielt:

zu 1:

grep DocumentRoot /usr/syno/apache/conf/httpd.conf-sys
# DocumentRoot: The directory out of which you will serve your
DocumentRoot "/usr/syno/synoman"
# This should be changed to whatever you set DocumentRoot to.
# access content that does not live under the DocumentRoot.

zu 5:
grep Alias /usr/syno/apache/conf/httpd.conf-sys
# Alias: Maps web paths into filesystem paths and is used to
# Alias /webpath /full/filesystem/path
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# client. The same rules about trailing "/" apply to ScriptAlias
# directives as to Alias.
#ScriptAlias /cgi-bin/ "/usr/syno/apache/cgi-bin/"
AliasMatch ^/webfm/cgi/download/(.*)/.+ "/usr/syno/synoman/webfm/cgi/$1"
# "/usr/syno/apache/cgi-bin" should be changed to whatever your ScriptAliased
# To use CGI scripts outside of ScriptAliased directories:


Wenn ich auch Systeminfo klicke scheint auch schon "was" zu funktionieren. Es kommt nämlich die Abfrage nach den Zertifikat nur danach dann gleich der 404
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
ok mit (1) und (5) ... dann bitte 2-4 ausprobieren

eventuell auch noch mal den Eintrag address ändern auf address = DNS_Name_der_DS (also so, wie du auch den Disk-Station-Manager aufrufst, bzw. dein Zertifikat angelegt hast, wenn du eins selbst angelegt hast)
 

DSL-Hexe

Super-Moderator
Teammitglied
Mitglied seit
01. April 2008
Beiträge
651
Punkte für Reaktionen
1
Punkte
44
Ich bekomme die Systeminfo auch nicht zum laufen auf einer DS207+
 

Henryk42

Benutzer
Mitglied seit
11. Mai 2007
Beiträge
132
Punkte für Reaktionen
0
Punkte
0
ok mit (1) und (5) ... dann bitte 2-4 ausprobieren

eventuell auch noch mal den Eintrag address ändern auf address = DNS_Name_der_DS (also so, wie du auch den Disk-Station-Manager aufrufst, bzw. dein Zertifikat angelegt hast, wenn du eins selbst angelegt hast)
Hallo itari,

komme auch nicht weiter, habe 1-5 ausgeführt 1+5 wie bei andre

2-4 webseite mit huhu wird erstellt und kann ich sehen.
Habe eine CS 406 FW 637
Habe das script mit chmod 755 auch ausfürbar gemacht,
alles andere mit Linuxbefehlen mkdir und touch erstellt, ohne Parameter übergabe.
Den Text habe ich aus der zwischenablage in vi übernommen.

Was meinst du mit erste Zeile ist wichtig ? Lehrzeile ? oder Code: ?

Habe keine weiteren Modifikationen, außer den streamripper noch über Telnet zu bedienen, in der CS gemacht.

mfg
Henryk42
 

Anhänge

itari

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

mit erster Zeile meinte ich: #!/bin/ash und auch die dritte Zeile ist wichtig und darf keinesfalls fehlen : echo ""

wenn die Webseite mit "huhu" funktioniert, dann einfach mal im Browser das Skript direkt aufrufen ohne Disk Station Manager:

https://name_DS:5001/phpsrc/systeminfo/info.cgi

was passiert?


@DSL-Hexe

bitte probiere das mit der Datei index.html (huhu) und dem direkten Aufruf wie oben auch aus und sag was passiert.


@all

Trolli hat festgestellt, dass man in der application.cfg die beiden Zeilen 'address' und 'port' rauswerfen kann ...
 

DSL-Hexe

Super-Moderator
Teammitglied
Mitglied seit
01. April 2008
Beiträge
651
Punkte für Reaktionen
1
Punkte
44

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
@DSL-Hexe,

erfass mal das folgendes Skript test.cgi in dem Verzeichnis systeminfo:

Rich (BBCode):
#!/bin/ash
echo "Content-type: text/html"
echo ""
echo "huhu"
und ruf mal auf mit: https://Ip_DS:5001/phpsrc/systeminfo/test.cgi

Geht das?
 

Henryk42

Benutzer
Mitglied seit
11. Mai 2007
Beiträge
132
Punkte für Reaktionen
0
Punkte
0
@Henryk42,

mit erster Zeile meinte ich: #!/bin/ash und auch die dritte Zeile ist wichtig und darf keinesfalls fehlen : echo ""

wenn die Webseite mit "huhu" funktioniert, dann einfach mal im Browser das Skript direkt aufrufen ohne Disk Station Manager:

https://name_DS:5001/phpsrc/systeminfo/info.cgi

was passiert?


@DSL-Hexe

bitte probiere das mit der Datei index.html (huhu) und dem direkten Aufruf wie oben auch aus und sag was passiert.


@all

Trolli hat festgestellt, dass man in der application.cfg die beiden Zeilen 'address' und 'port' rauswerfen kann ...
Habe den Kommentar von Trolli gerade gefunden.
habe aus der application.cfg adress und port rausgeworfen.

Ob mit oder ohne Port gleiche Anzeige, siehe Bild.

Ich habe alles extern auf der CS ausgeführt, von Telnetverbindung Ordner erstellen bis zum Test des scriptes.


mfg
Henryk42
 

Anhänge

DSL-Hexe

Super-Moderator
Teammitglied
Mitglied seit
01. April 2008
Beiträge
651
Punkte für Reaktionen
1
Punkte
44
Bei test.cgi kann er keine Seite finden das gleiche Bild wie bei Henry im letzten Post.
 

Henryk42

Benutzer
Mitglied seit
11. Mai 2007
Beiträge
132
Punkte für Reaktionen
0
Punkte
0

itari

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

DSL-Hexe

Super-Moderator
Teammitglied
Mitglied seit
01. April 2008
Beiträge
651
Punkte für Reaktionen
1
Punkte
44
Es geht :D:D:D Es geht

chmod 755 info.cgi war der Schlüssel.

Danke Danke Vielen Dank:D:D
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
1
Punkte
0
SUPER !!! Dann viel Spaß mit der Anzeige.
 

Henryk42

Benutzer
Mitglied seit
11. Mai 2007
Beiträge
132
Punkte für Reaktionen
0
Punkte
0
Dann müsste das info.cgi doch eigentlich auch mit dem Direkt-Aufruf gehen - oder?
Bei mir auch ja es geht super

DANKE


chmod 755 hatte ich schon vorher gemacht.
habe die info.cgi neu erstellt, vielleicht habe ich vorher mit dem vi etwas versaut.

Jetzt gehts.
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten, denn dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit einem hohen technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive oder Themen fremde Werbung. Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.