PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP Script, auslesen vom Status



Fl!pPy
02.02.08, 09:00
Morgen,
ich hab folgendes vor: Ich möchte ein PHP Script basteln, was den Status über einzelne Systemprozesse ausgibt. Nichts komplexes. Wenn der Prozess (mysql, apache etc) gestartet ist, soll auf der Page ein grünes Lämpchen (Bilddatei) leuchten, ist der Prozess gestoppt ein rotes. Wie kann man sowas realisieren?

THX :D

sysop
02.02.08, 13:04
wenn das script echo "hello world"; ausgibt, ist apache gestartet (grün) kommt einen fehlermeldung, (rot) :D
kann man in die sql-datenbank was schreiben läuft mysql (grün) sonst (rot)

HirschHeisseIch
02.02.08, 13:43
Mal ne Frage...
Wie rufst Du das Script auf, wenn der Apache nicht läuft?

Und in die Datenbank muss nicht unbedingt geschrieben werden. Reicht ja, wenn man connecten kann.

Fl!pPy
02.02.08, 14:41
@HirschHeisseIch:
Das warn Beispiel.

@sysop:
Versteh deine Logik nicht^^

pinpin
02.02.08, 14:54
Hi,

es gibt da mehrere Möglichkeiten:

1. Benutze Nagios ( meine favorisierte Lösung!!!! )
www.nagios.org

2. Du baust tatsächlich ein php-script und nutzt dann die php funktion "shell_exec".

3. Du baust ein shell-script und rufst es dann über die oben genannte php funktion auf.

Zu den anderen Vorschlägen:
Warum mit der Datenbank verbinden oder sogar etwas reinschreiben, wenn du lediglich wissen möchtest ob der prozess läuft???
In meinen Vorschlägen 2 und 3 --> ps -ef |grep -i mysql oder oder oder.... . Im Vorschlag Nr. 1 nutzt du das Plugin "check_mysql" oder oder oder .... .

Klar macht es keinen Sinn den Apache Prozess über die Weboberfläche des Rechners zu überwachen. Es sei denn z.B. Nagios schickt eine entsprechende Mail über den Zustand oder du schreibst aus deinem Skript eine Mail.

Gruß Björn

Fl!pPy
02.02.08, 14:58
Genau sowas hab ich gesucht! Vielen Dank!! :)

pinpin
02.02.08, 15:06
Gern, dafür nicht.

Achso ich seh grade das du Debian benutzt. Vielleicht siehst du es anders, aber ich würde von den Debian Paketen erstmal abraten. Nutze die Doku, das Wiki und das deutsche Forum.

Gruß Björn

Fl!pPy
02.02.08, 15:28
Die Signatur ist schon älter. Müsste das mal aktualisieren. Momentan ist Gentoo drauf. :ugly:

HirschHeisseIch
04.02.08, 10:54
[...]
Zu den anderen Vorschlägen:
Warum mit der Datenbank verbinden oder sogar etwas reinschreiben, wenn du lediglich wissen möchtest ob der prozess läuft???
In meinen Vorschlägen 2 und 3 --> ps -ef |grep -i mysql oder oder oder.... . Im Vorschlag Nr. 1 nutzt du das Plugin "check_mysql" oder oder oder .... .
[...]

Naja, weil shell_exec für mich immer einen leicht komischen Begeschmack hat. Ist glaub ich der beliebteste Exploit für php. ;)
Da find ich (für mysql) einen Connect auf die DB eleganter. Bei anderen Prozessen wirds natürlich schwieriger, und shell_exec 'muss' dann herhalten.

zyrusthc
04.02.08, 11:38
Bei anderen Prozessen wirds natürlich schwieriger, und shell_exec 'muss' dann herhalten.
Nö , man muss doch nicht gleich auf shell_exec zurückgreifen, da kann man doch eher die Ports checken!

zb. Samba

$ip = "localhost";
$port = 139;

$connection = fsockopen("tcp://$ip", $port, &$errno, &$errstr,1);
if (!$connection){
echo "<font color=\"#FF200C\" size=2>OFFLINE</font>";
}else{
fputs($connection, "\n");
echo "<font color=\"#55FF3E\" size=2>Online</font>";
fclose ($connection);

Greeez Oli