Timeout 504 | nginx auf allen Seiten

naxort

New Member
Hallo Leute,

ich weiß nicht ob ich in diesem Forum richtig bin, aber ich brauche kurz mal eure Hilfe mit Plesk da ich alles mögliche schon probiert habe, aber nicht das Problem erkennen kann.

Folgende Info:

Ich betreibe einen Virtuellen Cloud Server mit Debian und Plesk bei 1&1. Habe vor diesem Problem keine Änderung am Server durchgeführt. Verwende die aktuelle Version vom Plesk.

Error Log Apache:

Code:
[Wed Nov 07 07:10:15.021214 2018] [core:notice] [pid 44494] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 07 07:10:18.742180 2018] [mpm_prefork:notice] [pid 44494] AH00169: caught SIGTERM, shutting down
[Wed Nov 07 07:10:21.011058 2018] [ssl:warn] [pid 44832] AH01909: lists:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:21.011376 2018] [ssl:warn] [pid 44832] AH01909: default-82_165_96_173:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:21.011667 2018] [ssl:warn] [pid 44832] AH01909: default-82_165_97_47:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:21.012709 2018] [:notice] [pid 44832] ModSecurity for Apache/2.9.2 (http://www.modsecurity.org/) configured.
[Wed Nov 07 07:10:21.012723 2018] [:notice] [pid 44832] ModSecurity: APR compiled version="1.5.1"; loaded version="1.5.1"
[Wed Nov 07 07:10:21.012728 2018] [:notice] [pid 44832] ModSecurity: PCRE compiled version="8.35 "; loaded version="8.35 2014-04-04"
[Wed Nov 07 07:10:21.012731 2018] [:notice] [pid 44832] ModSecurity: LUA compiled version="Lua 5.1"
[Wed Nov 07 07:10:21.012744 2018] [:notice] [pid 44832] ModSecurity: LIBXML compiled version="2.9.1"
[Wed Nov 07 07:10:21.012746 2018] [:notice] [pid 44832] ModSecurity: Original server signature: Apache
[Wed Nov 07 07:10:21.012749 2018] [:notice] [pid 44832] ModSecurity: Status engine is currently disabled, enable it by set SecStatusEngine to On.
[Wed Nov 07 07:10:21.013110 2018] [suexec:notice] [pid 44832] AH01232: suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Wed Nov 07 07:10:22.012264 2018] [ssl:warn] [pid 44834] AH01909: lists:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:22.012681 2018] [ssl:warn] [pid 44834] AH01909: default-82_165_96_173:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:22.013061 2018] [ssl:warn] [pid 44834] AH01909: default-82_165_97_47:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:10:22.021765 2018] [mpm_prefork:notice] [pid 44834] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t Apache mod_fcgid/2.3.9 configured -- resuming normal operations
[Wed Nov 07 07:10:22.021796 2018] [core:notice] [pid 44834] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 07 07:15:26.579240 2018] [mpm_prefork:notice] [pid 44834] AH00169: caught SIGTERM, shutting down
[Wed Nov 07 07:15:29.017153 2018] [ssl:warn] [pid 46122] AH01909: lists:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:29.017460 2018] [ssl:warn] [pid 46122] AH01909: default-82_165_96_173:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:29.017798 2018] [ssl:warn] [pid 46122] AH01909: default-82_165_97_47:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:29.019276 2018] [:notice] [pid 46122] ModSecurity for Apache/2.9.2 (http://www.modsecurity.org/) configured.
[Wed Nov 07 07:15:29.019288 2018] [:notice] [pid 46122] ModSecurity: APR compiled version="1.5.1"; loaded version="1.5.1"
[Wed Nov 07 07:15:29.019292 2018] [:notice] [pid 46122] ModSecurity: PCRE compiled version="8.35 "; loaded version="8.35 2014-04-04"
[Wed Nov 07 07:15:29.019295 2018] [:notice] [pid 46122] ModSecurity: LUA compiled version="Lua 5.1"
[Wed Nov 07 07:15:29.019297 2018] [:notice] [pid 46122] ModSecurity: LIBXML compiled version="2.9.1"
[Wed Nov 07 07:15:29.019299 2018] [:notice] [pid 46122] ModSecurity: Original server signature: Apache
[Wed Nov 07 07:15:29.019302 2018] [:notice] [pid 46122] ModSecurity: Status engine is currently disabled, enable it by set SecStatusEngine to On.
[Wed Nov 07 07:15:29.020655 2018] [suexec:notice] [pid 46122] AH01232: suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Wed Nov 07 07:15:30.012228 2018] [ssl:warn] [pid 46123] AH01909: lists:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:30.012568 2018] [ssl:warn] [pid 46123] AH01909: default-82_165_96_173:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:30.012872 2018] [ssl:warn] [pid 46123] AH01909: default-82_165_97_47:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:15:30.020505 2018] [mpm_prefork:notice] [pid 46123] AH00163: Apache/2.4.10 (Debian) OpenSSL/1.0.1t Apache mod_fcgid/2.3.9 configured -- resuming normal operations
[Wed Nov 07 07:15:30.020533 2018] [core:notice] [pid 46123] AH00094: Command line: '/usr/sbin/apache2'
[Wed Nov 07 07:58:35.217196 2018] [mpm_prefork:notice] [pid 46123] AH00169: caught SIGTERM, shutting down
[Wed Nov 07 07:59:06.017043 2018] [ssl:warn] [pid 55904] AH01909: lists:443:0 server certificate does NOT include an ID which matches the server name
[Wed Nov 07 07:59:06.017341 2018] [ssl:warn] [pid 55904] AH01909: default-82_165_96_173:443:0 server certificate does NOT include an ID which matches the server name

Error Log nginx:

Code:
2018/11/07 07:13:11 [notice] 1127#0: worker process 1130 exited with code 0
2018/11/07 07:13:11 [notice] 1127#0: worker process 1130 exited with code 0
2018/11/07 07:13:11 [notice] 1127#0: signal 29 (SIGIO) received
2018/11/07 07:13:11 [notice] 1127#0: signal 29 (SIGIO) received
2018/11/07 08:01:00 [notice] 1127#0: signal 3 (SIGQUIT) received from 60198, shutting down
2018/11/07 08:01:00 [notice] 1127#0: signal 3 (SIGQUIT) received from 60198, shutting down
2018/11/07 08:01:00 [notice] 45564#0: gracefully shutting down
2018/11/07 08:01:00 [notice] 45564#0: gracefully shutting down
2018/11/07 08:01:00 [notice] 45565#0: exiting
2018/11/07 08:01:00 [notice] 45565#0: exiting
2018/11/07 08:01:00 [notice] 45564#0: exiting
2018/11/07 08:01:00 [notice] 45564#0: exiting
2018/11/07 08:01:00 [notice] 45564#0: exit
2018/11/07 08:01:00 [notice] 1127#0: signal 15 (SIGTERM) received from 1, exiting
2018/11/07 08:01:00 [notice] 1127#0: signal 15 (SIGTERM) received from 1, exiting
2018/11/07 08:01:00 [notice] 1127#0: signal 17 (SIGCHLD) received from 45565
2018/11/07 08:01:00 [notice] 1127#0: signal 17 (SIGCHLD) received from 45565
2018/11/07 08:01:00 [notice] 1127#0: cache manager process 45565 exited with code 0
2018/11/07 08:01:00 [notice] 1127#0: cache manager process 45565 exited with code 0
2018/11/07 08:01:00 [notice] 1127#0: signal 29 (SIGIO) received
2018/11/07 08:01:00 [notice] 1127#0: signal 29 (SIGIO) received
2018/11/07 08:01:00 [notice] 1127#0: signal 17 (SIGCHLD) received from 45564
2018/11/07 08:01:00 [notice] 1127#0: signal 17 (SIGCHLD) received from 45564
2018/11/07 08:01:00 [notice] 1127#0: worker process 45564 exited with code 0
2018/11/07 08:01:00 [notice] 1127#0: worker process 45564 exited with code 0
2018/11/07 08:01:00 [notice] 1127#0: exit
2018/11/07 08:01:00 [notice] 1127#0: exit

Irgendwann in der Nacht scheint einfach nginx oder apache einfach aufzugeben und zeigt dann den Timeout 504 Fehler an, bis ich den Server oder apache neustarte. Meiner Meinung nach ist im Error Log nichts ersichtlich aber ihr kennt euch deutlich besser aus. Normal benötige ich doch auch kein nginx wenn ich keinen Proxy verwende oder verstehe ich da was falsch ? Ich habe nämlich jetzt zum Test mal nginx ausgeschaltet und warte mal ab was passiert, alle Domains sind ganz normal zugänglich.

Wäre nett wenn mir jemand einen Wink geben könnte, denn ich bin ratlos da es wirklich nur sporatisch vorkommt mit dem 504 Fehler und ich nicht jeden morgen damit verbringen kann den Dienst neuzustarten.. :-/
 
Ist irgendwas im kernellog drin zu dem Zeitpunkt des Absturzes von NGinx?

Das Problem ist, dass ich nicht genau weiß, wann nginx nicht mehr funktioniert. Morgens wenn ich dann versuche eine meiner Kundenwebsites zu öffnen, kommt der Fehler. Aber den genauen Zeitpunkt kann ich nicht lokalisieren..

Gruß
 
In Plesk könntest du die Komponente "Serversystemüberwachung" (Server Health Monitor) installieren und eine Email-Benachrichtigung konfigurieren.
Ob der aber in deinem Fall anschlagen würde ist fraglich.

Ich glaube was Gwen aber meinte ist eine Serverüberwachung, wie sie diverse Dienstleister anbieten, bzw. mit Tools wie Nagios o.ä. selbst erstellt werden kann.

Ich könnte dir temporär anbieten eine Seite in meine Überwachung mit aufzunehmen. Dafür benötige ich eine URL und eine Email-Adresse für den Alarm. Am besten natürlich per PN.
 
Das Monitoring sollte am besten von einem anderes System aus erfolgen, damit du auch Warnungen bekommst, wenn z.B. der komplette Server abstürzt, die Netzwerkverbindung zusammenbericht usw.
Es gibt diverse Monitoring-Dienste im Internet, die du da nutzen kannst...
 
Ich nutze den hier: https://uptimerobot.com/
Bietet sich an, wenn man lediglich wissen will ob ein Host erreichbar ist und ob auf einen HTTP-Request auch eine Antwort kommt.
 
Danke für die ganzen hilfreichen Tipps, ich habe das entsprechend ebenfalls gefunden und für eine Domain (so ziemlich die wichtigste) eingerichtet. Nun bin ich mal gespannt wann genau ein Alert kommt. Ich nehme mal an dass ein 15 Minuten Check ausreicht, um rauszufinden, ob in dem Zeitraum irgendwo eine Fehlermeldung in den Logs ersichtlich ist.

Trotzdem wüsste ich gerne warum nginx überhaupt eine Rolle spielt, wenn man keinen Proxy verwendet. Normal reicht doch apache oder ?

Gruß und vielen Dank !
 
Im Prinzip ja. Wenn du viele Anfragen in kurzer Zeit auf die bei dir gehosteten verschiedenen Websites hast, ist ein Proxy wie NGinx sinnvoll. Hängt vom Anzahl der Besucher ab, welche Daten ausgeliefert werden und welche Webanwendungen für die Seiet laufen.
 
Also Monitoring Tool scheint ja gut zu funktionieren. Domain hat seit 22:55 nicht mehr funktioniert.
Plesk meldet im Health Monitoring dass die Auslastung bei Apache (Ungefähr in dem Zeitraum) ziemlich nach oben gegangen ist. Siehe Bild:



Das Problem nun ist, dass die Logs nur irgendwie im 2 Stunden Takt aufzeichnen, daher kann ich überhaupt nichts mehr nachvollziehen..
 
Last edited by a moderator:
Ich glaube, dass ich einen Anhaltspunkt gefunden habe.. Kann damit jemand etwas anfangen? :

Code:
[Wed Nov 07 19:02:06.006596 2018] [proxy_fcgi:error] [pid 54675] [client XX.XXX.XX.XXX:XXXXX] AH01071: Got error 'Primary script unknown\n'
 
Was sagen die Logs, nicht nur von Apache und nginx, sondern auch das syslog vom System selbst. Wie sieht zu dem Zeitpunkt die gesamte Speicherauslastung des Systems aus? Läuft die evtl. voll, so dass der OOM-Killer zuschlägt?
 
Ich glaube, dass ich einen Anhaltspunkt gefunden habe.. Kann damit jemand etwas anfangen? :

Code:
[Wed Nov 07 19:02:06.006596 2018] [proxy_fcgi:error] [pid 54675] [client XX.XXX.XX.XXX:XXXXX] AH01071: Got error 'Primary script unknown\n'
Warum sollte ein Logeintrag von 19:02 mit einem Ausfall um 22:55 zu tun haben?

Abgesehen davon sagt das nur, das php-fpm einen Request erhalten hat und dazu kein passendes Script zum Ausführen vorhanden war...

Sprich 'ne 404.
 
Sorry, ich kenne mich mit den Fehlermeldungen leider nicht so gut aus, versuche lediglich den Fehler zu ermitteln.. Die Meldung ist auch bis 22 Uhr aufgetaucht, ungefähr in dem Zeitraum in dem der Apache angefangen hat zu streiken.
 
Was sagen die Logs, nicht nur von Apache und nginx, sondern auch das syslog vom System selbst. Wie sieht zu dem Zeitpunkt die gesamte Speicherauslastung des Systems aus? Läuft die evtl. voll, so dass der OOM-Killer zuschlägt?


Leider geht der Syslog nur bis heute morgen 6:20 Uhr zurück, warum auch immer.. Muss ich aber mal beobachten
 
Leider geht der Syslog nur bis heute morgen 6:20 Uhr zurück, warum auch immer..
Weil täglich die Logdateien rotiert werden.
Dann schau halt in der shell in das rotierte syslog rein.

ls -al /var/log/syslog*
cat /var/log/syslog.1
zcat /var/log/syslog.2.gz
usw.
 
Code:
Nov  7 22:30:01 localhost CRON[5192]: (root) CMD ([ -x /opt/psa/admin/sbin/backupmng ] && /opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Nov  7 22:39:01 localhost CRON[5600]: (root) CMD (  [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean)
Nov  7 22:45:01 localhost CRON[6046]: (root) CMD ([ -x /opt/psa/admin/sbin/backupmng ] && /opt/psa/admin/sbin/backupmng >/dev/null 2>&1)
Nov  7 23:00:01 localhost CRON[6904]: (root) CMD ([ -x /opt/psa/admin/sbin/backupmng ] && /opt/psa/admin/sbin/backupmng >/dev/null 2>&1)

Also das habe ich in dem Zeitraum in der syslog drin stehen
 
Auch nochmal von mir die Empfehlung:

Verwende ein Monitoring-System, dass Dir klar die Systemauslastung anzeigt. Dann brauchst Du jetzt gar nicht so viel zu graben, sondern siehst auf einen Blick viel mehr, als eine Loganalyse dir jetzt zeigen mag.

Beispiele von Screenshots, siehe Anhang.
 

Attachments

  • cpu_usage.png
    cpu_usage.png
    91.7 KB · Views: 342
  • cpu_load.png
    cpu_load.png
    87.8 KB · Views: 321
  • disk_read_throughput.png
    disk_read_throughput.png
    68.9 KB · Views: 326
  • filesystem_usage.png
    filesystem_usage.png
    83.1 KB · Views: 339
Back
Top