Skript um Apache automatisch neu zu starten?
Skript um Apache automatisch neu zu starten?
Hallo,
Es ist einzelne Male schon vorgekommen, dass der Apache auf meinem dedicated Server abgeschmiert ist, was mir dann auch schön per SMS gemolden wurde. Nur nützt mir das nichts (ausser ich kann den Provider gleich anrufen), wenn ich schlafe oder mal nicht alle 15min auf's Handy gucke.
Ich könne ja aber auch per Cron-Job checken, ob der Dienst läuft, und wenn nicht, einen Restart machen. Macht Ihr/man das so? Nachteile?
Gruss,
Christoph
Es ist einzelne Male schon vorgekommen, dass der Apache auf meinem dedicated Server abgeschmiert ist, was mir dann auch schön per SMS gemolden wurde. Nur nützt mir das nichts (ausser ich kann den Provider gleich anrufen), wenn ich schlafe oder mal nicht alle 15min auf's Handy gucke.
Ich könne ja aber auch per Cron-Job checken, ob der Dienst läuft, und wenn nicht, einen Restart machen. Macht Ihr/man das so? Nachteile?
Gruss,
Christoph
Re: Skript um Apache automatisch neu zu starten?
Wenn der Apache abschmiert dann hat das einen Grund. Ich würde nicht wollen, dass mein Apache einfach von selbst wieder hochfährt und damit evtl. das Problem überdeckt, weil irgendwelche Files überschrieben werden...
Re: Skript um Apache automatisch neu zu starten?
Eine Frage der Downtime. Kann man so machen.
In der Praxis werden ganz andere Konstrukte gefahren: mit einem richtigen Watchdogserver, der redundante Server freigibt und im Hintergrund die Konsistenz des abgesoffenen automatisch wieder herstellt. Gibt Server, bei denen Du im Betrieb(Hot) den Prozessor austauschen kannst. Raidsysteme mit Hotspare(normal raid5) bei denen ebenfals Hot die Platten getauscht werden kann sowieso. Das ist auch ein Sinn für von Clustern ...
Kann daher beliebig komplex gestaltet werden. Kommt sehr auf die Größe des Geldbeutels an.
Soll heißen: das Argument, es könnte etwas überschrieben werden relativiert sich schon stark. Ich gehe davon aus, daß jemand, der SMS-Benachrichtigung bekommt sowieso monitored und sich sorgen macht wenn der Apache dauerend verschwindet - also so what?
Hinweis: Watchdog ist der Suchbegriff, über den Du viel Information über Konzepte findest: "was mache ich wenn xyz abschmiert aber downtime vermieden werden muß".
In der Praxis werden ganz andere Konstrukte gefahren: mit einem richtigen Watchdogserver, der redundante Server freigibt und im Hintergrund die Konsistenz des abgesoffenen automatisch wieder herstellt. Gibt Server, bei denen Du im Betrieb(Hot) den Prozessor austauschen kannst. Raidsysteme mit Hotspare(normal raid5) bei denen ebenfals Hot die Platten getauscht werden kann sowieso. Das ist auch ein Sinn für von Clustern ...
Kann daher beliebig komplex gestaltet werden. Kommt sehr auf die Größe des Geldbeutels an.
Soll heißen: das Argument, es könnte etwas überschrieben werden relativiert sich schon stark. Ich gehe davon aus, daß jemand, der SMS-Benachrichtigung bekommt sowieso monitored und sich sorgen macht wenn der Apache dauerend verschwindet - also so what?
Hinweis: Watchdog ist der Suchbegriff, über den Du viel Information über Konzepte findest: "was mache ich wenn xyz abschmiert aber downtime vermieden werden muß".
Re: Skript um Apache automatisch neu zu starten?
Ich monitore auch und werde auch per SMS benachrichtigt, dennoch stürzt mein Apache nicht so oft ab, dass ich einen Cronjob brauche, der das kontrolliert.
Natürlich kostet Downtime Geld, aber mir ist es ehrlich gesagt wichtiger (potentielle) Probleme zu beheben und die Ursachen zu finden, als einfach regelmäßig das Ding neu zu starten und danach nichts mehr zu sehen und die Abstürze niemals in den Griff zu bekommen.
Gruß Os-T
Natürlich kostet Downtime Geld, aber mir ist es ehrlich gesagt wichtiger (potentielle) Probleme zu beheben und die Ursachen zu finden, als einfach regelmäßig das Ding neu zu starten und danach nichts mehr zu sehen und die Abstürze niemals in den Griff zu bekommen.
Gruß Os-T
Re: Skript um Apache automatisch neu zu starten?
Wieso schmiert dein apache ab? Das ist hier die Frage!
Re: Skript um Apache automatisch neu zu starten?
Also croni, Du hörst was die Leute sagen.
Wenn Du der Meinung bist, daß Du Probleme so nicht behebst sondern umgehst:
a) Zweiter Apache, den Du startest, wenn der erste abschmiert. Der technische Unterschied ist, daß Du 2 identische Binaries rumfliegen hast bzw (könnte ja passieren, daß Dir Redundanz auffällt ;) ), mindestens eine zweite (fast identische-logs!) Konfiguration.
Das starten (failover) kannst Du machen:
aa) Per cron machen.
ab) Eigener Daemon laufen haben(der endlich auch nur ein Sceduler ist).
ac) Kernel-watchdog Unterstützung nutzen:
apt-get install watchdog(oder rpm -i oder emerge..).
/etc/watchdog.conf anpassen insb. pidfile u. repairbinary.
Dazu ist zu sagen: gibt ein paar Bugs.
aca)modprobe softdog
acb)Watchdogkarte einsetzen /Kernel/drivers/char/watchdog/xyzdkarte).
Ganz toll bist Du, wenn Du das ganze auf zwei Server verteilst. Der failover-Apache dann auf den zweiten Root. z.B. http://www.linux-ha.org. Wie gesagt: eine Frage des Geldbeutels.
PS: Die mehr Apachelösung hat wirklich einen Vorteil, wenn Du abrechnen mußt. Ist für alle transparenter, daß da wirklich etwas nicht stimmt.
Wenn Du der Meinung bist, daß Du Probleme so nicht behebst sondern umgehst:
a) Zweiter Apache, den Du startest, wenn der erste abschmiert. Der technische Unterschied ist, daß Du 2 identische Binaries rumfliegen hast bzw (könnte ja passieren, daß Dir Redundanz auffällt ;) ), mindestens eine zweite (fast identische-logs!) Konfiguration.
Das starten (failover) kannst Du machen:
aa) Per cron machen.
ab) Eigener Daemon laufen haben(der endlich auch nur ein Sceduler ist).
ac) Kernel-watchdog Unterstützung nutzen:
apt-get install watchdog(oder rpm -i oder emerge..).
/etc/watchdog.conf anpassen insb. pidfile u. repairbinary.
Dazu ist zu sagen: gibt ein paar Bugs.
aca)modprobe softdog
acb)Watchdogkarte einsetzen /Kernel/drivers/char/watchdog/xyzdkarte).
Ganz toll bist Du, wenn Du das ganze auf zwei Server verteilst. Der failover-Apache dann auf den zweiten Root. z.B. http://www.linux-ha.org. Wie gesagt: eine Frage des Geldbeutels.
PS: Die mehr Apachelösung hat wirklich einen Vorteil, wenn Du abrechnen mußt. Ist für alle transparenter, daß da wirklich etwas nicht stimmt.
Re: Skript um Apache automatisch neu zu starten?
welche denn?lucki2 wrote: ac) Kernel-watchdog Unterstützung nutzen:
apt-get install watchdog(oder rpm -i oder emerge..).
/etc/watchdog.conf anpassen insb. pidfile u. repairbinary.
Dazu ist zu sagen: gibt ein paar Bugs
Re: Skript um Apache automatisch neu zu starten?
aca)modprobe softdog
acb)Watchdogkarte einsetzen /Kernel/drivers/char/watchdog/xyzdkarte).
Re: Skript um Apache automatisch neu zu starten?
Was ich dir empfehlen kann ist monit
Re: Skript um Apache automatisch neu zu starten?
Hmm, ich will's mal so formulieren. Natürlich haben alle recht, die sagen, ein platter Neustart des Dienstes behebt die Grundprobleme nicht. Davon ausgehend dürfte ich Monitoring nur als Maschine-Mensch-Schnittstelle einsetzen. In "richtigen" Rechenzentren wird das so auch praktiziert - da gibt's dann aber auch rund um die Uhr eine Stallwache und entsprechende Notfallpläne mit Eskalationsstufen.
Für den geneigten Betreiber des ein oder anderen Servers ist das schon rein finanziell betrachtet nicht tragbar. Und rund um die Uhr aufbleiben haut auch irgendwann nicht mehr hin (spätestens nach 2 Tagen ist Sense - da hilft auch kein dreifacher Espresso mehr :D)... Ergo muss ich eine Lösung finden, die ohne Schichtbetrieb auskommt. Selbst ein angemieteter Monitoring-Service bringt eigentlich nichts, weil die auch nichts anderes machen könnten als mich zu verständigen, und das geht per SMS sogar noch schneller (weil vollautomatisch).
Die Frage ist doch: wie groß ist der wirtschaftliche Schaden, den ein Ausfall des Dienstes über x Stunden verursacht (z. B. in welcher Höhe können meine Kunden laut SLA Schadenersatz fordern, welcher Umsatz geht mir verloren etc.). Dementsprechend habe ich dann auch eine Kalkulationsgrundlage, um festzulegen, wie viel Geld ich (für Personal, Hardware, Software...) in eine Ausfallsicherung stecken darf.
Als Low-Cost-Lösung kann die Antwort dann auch automatischer Neustart des Dienstes heißen - allerdings würde ich in diesem Fall wenigstens vor dem Neustart- oder Repair-Versuch noch Logs und Konfigurationsdateien (im Zweifel auch die Binaries) kopieren und mich auf jeden Fall benachrichtigen lassen, um anhand der Kopien dem Problem auf den Grund zu gehen.
Das wiederum darf aber nur Teil eines Verfügbarkeitskonzeptes sein, das sich eigentlich jeder Server-Betreiber zurecht legen sollte - auch reine Privat-Nutzer! Der Primitv-Fall könnte dort lauten: Bei Ausfall im worst case Neuinstallation und einspielen des Vortages-Backups. Ooops, gar kein Backup da? Tja, wohl vorher nicht über das Verfügbarkeitskonzept nachgedacht...
Für den geneigten Betreiber des ein oder anderen Servers ist das schon rein finanziell betrachtet nicht tragbar. Und rund um die Uhr aufbleiben haut auch irgendwann nicht mehr hin (spätestens nach 2 Tagen ist Sense - da hilft auch kein dreifacher Espresso mehr :D)... Ergo muss ich eine Lösung finden, die ohne Schichtbetrieb auskommt. Selbst ein angemieteter Monitoring-Service bringt eigentlich nichts, weil die auch nichts anderes machen könnten als mich zu verständigen, und das geht per SMS sogar noch schneller (weil vollautomatisch).
Die Frage ist doch: wie groß ist der wirtschaftliche Schaden, den ein Ausfall des Dienstes über x Stunden verursacht (z. B. in welcher Höhe können meine Kunden laut SLA Schadenersatz fordern, welcher Umsatz geht mir verloren etc.). Dementsprechend habe ich dann auch eine Kalkulationsgrundlage, um festzulegen, wie viel Geld ich (für Personal, Hardware, Software...) in eine Ausfallsicherung stecken darf.
Als Low-Cost-Lösung kann die Antwort dann auch automatischer Neustart des Dienstes heißen - allerdings würde ich in diesem Fall wenigstens vor dem Neustart- oder Repair-Versuch noch Logs und Konfigurationsdateien (im Zweifel auch die Binaries) kopieren und mich auf jeden Fall benachrichtigen lassen, um anhand der Kopien dem Problem auf den Grund zu gehen.
Das wiederum darf aber nur Teil eines Verfügbarkeitskonzeptes sein, das sich eigentlich jeder Server-Betreiber zurecht legen sollte - auch reine Privat-Nutzer! Der Primitv-Fall könnte dort lauten: Bei Ausfall im worst case Neuinstallation und einspielen des Vortages-Backups. Ooops, gar kein Backup da? Tja, wohl vorher nicht über das Verfügbarkeitskonzept nachgedacht...
Re: Skript um Apache automatisch neu zu starten?
Hallo,
ich habe ein redundantes Nagios System. Sollte ein Dienst ausgefallen sein, schreibt Nagios ein Eintrag in eine MySQL Datenbank.
Dagegen läuft auf dem zu überwachenden Server minütlich ein Cron Script welches die MySQL Datenbank abfragt und Dienste ggf. neu startet.
Eine Benachrichtigung seiten Nagios erfolgt trotzdem, so das man auf jeden Fall erkennt das da irgendwas vorgefallen sein muß.
Gruß Neffe
ich habe ein redundantes Nagios System. Sollte ein Dienst ausgefallen sein, schreibt Nagios ein Eintrag in eine MySQL Datenbank.
Dagegen läuft auf dem zu überwachenden Server minütlich ein Cron Script welches die MySQL Datenbank abfragt und Dienste ggf. neu startet.
Eine Benachrichtigung seiten Nagios erfolgt trotzdem, so das man auf jeden Fall erkennt das da irgendwas vorgefallen sein muß.
Gruß Neffe
