[Server] Prozesse loggen

Bububoomt

ohne Vertrauen
ID: 10361
L
28 April 2006
19.666
769
Gibt es ein Tool womit ich die Prozesse loggen kann?

Ich habe einen Server der in der Regel bei einer Auslastung von 0,1 ist. Aber manchmal schießt der hoch auf >20. Da bleibt mir meist nur ein Restart übrig, damit dieser wieder läuft. leider weiß ich nciht wodurch das kommt.

Habt ihr einen Tipp wie ich dem auf die Spur kommen kann?
 
für munin gibts zb das plugin multicpu_cnt, das dir die anzahl der instanzen pro prozess anzeigt.
ist nur die frage, ob munin noch durchläuft, wenn die kiste schon hängt.

ansonsten könnte man zb auch einfach per cronjob minütlich ein ps, top oder ähnliches in eine datei speichern, die man dann (nach dem reboot) auswertet.
 
Es wäre ja schon mal interessant zu wissen, was für ein Betriebssystem auf deinem Server läuft.

Windows oder Linux?

Hast Du zugriff auf ne Shell oder nicht?

Programme gibt es wie Sand am Meer. Linux liefert direkt welche von Haus aus mit (ggf. über die jeweilige Paketverwaltung installieren). Windows -> frag Google und such Dir was raus

Solltest Du zugriff auf eine Shell unter Linux haben, liefert Dir der Befehl top die aktuell laufenden Prozesse mit höchste CPU Belastung als erstes.

Wie mein "Vorredner" darauf kommt das man grundsätzlich Munin installiert hat, ist mir schleierhaft (auch wenn man es installiert haben sollte), da es beim Threadersteller in keinster Art und weise erwähnt wurde, ebenso wenig wie das Server OS.
 
Zuletzt bearbeitet:
Sorry, Debian ist es. Ganz vergessen zu erwähnen.
Top bringt mir so ja nichts, weil ich halt Logs oder ähnliches brauche die ich nach einem Neustart auswerten kann (hoffe ich).

ansonsten könnte man zb auch einfach per cronjob minütlich ein ps, top oder ähnliches in eine datei speichern, die man dann (nach dem reboot) auswertet.

an so was hätte ich gedacht
 
Versteh grad nicht:
Wenn du eh schon neustartest, wieso guckst du dann nicht grad nach, was in dem (bösen) Moment läuft?

Server-Neustart wird wohl wirklich Neustart der ganzen Kiste, nicht nur des httpd-Services gemeint sein, oder? Du kannst ja aktiv handeln und vor dem Neustart mal gucken, was grad los is:
Ists der httpd? Läuft da grad ein Script, was viel frisst? Hast du aktive DB-Verbindung? Is vielleicht eine weitere Maschine (-> Cluster?) ein Nadelöhr, was den httpd hindert, die Anfragen abzuarbeiten? Was läuft denn überhaupt? Es is ja noch nicht mal klar, dass wir hier von einem Webserver und nicht von einem Game-Server sprechen ;)
 
Webserver.
Nun, wenn ich gucken könnte würde ich es ja machen. Aber ich komme dann gar nicht mehr rauf, den Neustart mache ich nicht über die Konsole sondern lasse den Server neustarten...

Habe auf meinem anderen Server Putty laufen, auf dem htop läuft, aber wenn der Server abschmiert bricht da auch direkt die Verbindung ab und man kann nichts mehr sehen.

Läuft da grad ein Script, was viel frisst?
Davon gehe ich aus. Backups wirds nicht sein können, da diese nicht zu den Zeiten laufen.
 
Dann würd ich auch zum Cronjob tendieren.

Je nachdem, wie schnell sich diese Situation zuspitzt bzw. was du an Plattenplatz hast, entweder

  • Cronjob jede Minute (großer Zeitraum, wenig Daten) oder
  • Dauer-Script im Hintergrund mit entsprechendem Sleep, um <1min zu loggen (kleinerer Zeitraum, viel Daten).
Entweder alles in eine Datei oder pro Snapshot eine Datei anlegen, wies dus übersichtlicher findest.
Code:
[FONT=Lucida Console]uptime >> $YOUR_LOG_FILE
ps aux >> $YOUR_LOG_FILE[/FONT]
und dann halt auswerten, nachdem du wieder mal ran musstest.
Bei mir (läuft nicht viel) kriegst du so 7 KiB an Daten.

Extremfall: Du loggst wirklich jede Sekunde, hast du 590 MiB pro Tag an Daten. Musst du halt entscheiden, was sinnvoll is, wie häufig du loggst.
 
Danke habe es nun so gemacht, das es jeweils in eine Datei geschrieben wird, leichter dann auszuwerten.

Würde es ja lieber mit einer Schleife machen, weil die ja bei einem Neustart dann auch abbricht und ich ja in den letzten Dateien den Übeltäter haben müsste.

Aber das wüsste ich ja nun gar nicht wie das geht.

Kann man bei ps aux auch noch sortieren, so das oben die mit meister last stehen?
 
Würde es ja lieber mit einer Schleife machen, weil die ja bei einem Neustart dann auch abbricht und ich ja in den letzten Dateien den Übeltäter haben müsste.

Aber das wüsste ich ja nun gar nicht wie das geht.
Ganz easy:
Endlosschleife schreiben und ein Sleep mit rein, damit das Script nicht dauerarbeitet:
Code:
[FONT=Lucida Console]while [ true ] ; do
  # do something
  sleep 1
done[/FONT]
Kann man bei ps aux auch noch sortieren, so das oben die mit meister last stehen?
:rtfm:
Code:
[FONT=Lucida Console]man ps[/FONT]
hilft dir ;)
 
Hmm, dachte ich hab es nun damit gefunden, eine DB die sich inzwischen auf 3 GB aufgebläht hatte und bei der Sicherung schon einiges an Ressourcen gebraucht hatte...

Habe die bereinigt und dann ging es auch nun eine Woche ohne Probleme aber nun wieder :(

Sehe in den Logs nun leider nichts außergewöhnliches :(
 
Scheinbar ist zu wenig Ram vorhanden (wieso auch immer, hatte bisher immer gelangt), zumindest war
vorhin der Ram sehr ausgelastet, Prozessor an sich kaum.

Eine Aufrüstung gibt es bei meinem Anbieter nicht, ich soll mir einen neuen holen. Das doch echt mist :(
 
Wenn der Ram voll ist, musst du eben die Ursache suchen. Wer macht den Ram voll, und warum ist der Ram voll? Eventuell in der Konfiguration einer Komponente zu hohen verfügbaren Arbeitsspeicher eingestellt? Oder es gibt keine Konfiguration und es schluckt einfach so zu viel?

Du solltest eventuell mal damit anfangen z.B. im 30 Sekunden Takt die Prozessliste mit der CPU-Auslastung und Ram-Verbrauch jedes Prozesses zu loggen und auszuwerten. Oder du gibst z.B. 11$ im Monat zur Überwachung deines Server bei Serverdensity aus, deren Software für dich all diese Informationen erhebt und speichert.
 
Was hast du für Resourcen?
Was kosten mehr Resourcen, werden diese wirklich benötigt?
Ggf. lässt du unverbindlich jemanden nachschauen der dir da praxisnähere Lösungen erläutern kann?
Wenn du keinen kennst, PN für Referenzen :ugly:
 
nen Dual Core und 2 GB Ram. Mehr Resourcen = neuer Server, Aufrüstung wird nicht angeboten :(

@ice-breaker
werde ich mir mal den Dienst anschauen
 
Habe Serverdensity nun gestern installiert. leider hilft mir das nicht weiter, ich finde damit nicht heraus worans liegt.

Eben hatte ich nun das Problem, dass der Load bei lächerlichen 0.08-0.2 lag, aber Pings nur 50% ankamen, das dauerte so 10 min. lang.

Da kann doch was nicht stimmen :(

Doof, das bei so was Serverdensity gar keine Daten hat, weil die nicht übertragen werden konnten.
 
Dann sind es ja wohl Netzwerkprobleme? Mach das nächste mal doch dabei nen Tracert um zu sehen, woran es hängt, vllt stimmt mit dem Routing zu deinem Server ja etwas nicht. Oder dein Netzwerkstack ist kaputt.
 
das ware aber jetzt nur gestern und vorgestern.

ich soll nen mrt-log zum und vom server erstellen, wenns wieder vorkommt. mal gucken. das war jetzt aber auch nur die ausnahme.

Sonst funktioniert der Ping auch wenn der Server überlastet ist.

Von gestern:


Von Heute:


Das der morgens, da etwas hoch geht der Load, auf 2, das ja noch ok, das sind Backups um die Zeit morgens. Aber gestern gabs mehrere Spitzen. Kann mir einfach nicht vorstellen, dass da auf mal soviele Nutzer drauf wären. Habe ja auch schon die Seite mit dem 3. größten Traffic (meisten Besuchern/Tag) umgezogen
 
Und was ist mit den Prozessen die den loadavg verursachen? Oder sind es keine? Dann könnte es der Kernel sein, was zu den Netzwerk-Problemen passen könnte.
 
Ansonsten, zu den fraglichen Zeiten mal das syslog befragt?
serverdensity.com sieht mir nach leichten tests, hübsch verpackt und verkauft aus...
Ich stehe da eher auf munin.

Aber wenn irgendwelche Probleme auftauchen oder ähnliches, solltest du etwas im syslog finden ( a la mdadm array rebuild ) oder sonst irgend etwas. dualcore und 2gb ram ... hmm antagus? Wo liegt das Modell denn preislich - irgendwie erinnert mich die Anbieterseite an einen Hosting-Anbieter der noch nicht vor all zu langer Zeit mit viel Tamtam und anschließender Furore Schlagzeilen gemacht hat hehe
Wenn lediglich die in deiner Signatur verlinkte(n) Seiten betrieben werden, sollte das massig ausreichen, aber dennoch interessant.
 
https://imm.io/xqYN

hier mal ein Liste der Prozesse bei einem Load von 3

@ztk
Also Syslog, da kann ich so ncihts erkennen, ob da was ungewöhnliches ist. Sieht irgendwie alles wiederkehrend aus.

Der Server ist von S4Y, den Server bei Antaguis habe ich wegen was anderem, und ahbe dort nur Screenshot-machen geparkt, weil die Seite ja viele Besucher hat. Habe gehofft dadurch den Server zu entlasten. Auf dem bei Antagus läuft ja bisher nix.

Es sind mehr Seiten drauf, aber bis auf 2 haben alle <100MB Traffic/Monat und kommen zusammen nicht auf die von Screenshot machen ran. Nur zwei andere sind vom Traffic her (Wegen Bilder) größer.