Hohe load (Notfallhandy) bearbeiten: Unterschied zwischen den Versionen

Aus Glaskugel
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
;1) aktive Domainaufrufe angeschaut
=Allgemeines=
Die load average ist ein sehr wichtiger Wert im Bezug auf die Systemauslastung. Der Load in Linux-Systemen ist die '''Anzahl an wartenden Prozessen'''. Der optimale Wert entspricht immer der Anzahl der im System vorhandenen Prozessoren. In Systemen mit einem Single-Core-Prozessor ist der optimale Load 1, da zu dem Zeitpunkt ein Prozess in der Bearbeitungsschlange des Prozessors ist. Liegt der Wert unterhalb von 1, ist das System unterfordert, bei Werten über 1 überfordert. In Multicore-Prozessoren liegt der optimale Load höher. Bei einem Quad-Core-Prozessor beispielsweise 4.
 
Durch die aktuelle Anzahl der Prozesse lässt sich schlecht die Auslastung eines Systems abschätzen. Daher werden drei Mittelwerte (1 Minute, 5 Minuten und 15 Minuten) über die Anzahl der Prozesse gebildet.
 
;Wichtig:
:Die Load beschreibt nicht die Auslastung der CPU. Es kann mehrere Gründe haben, warum die Bearbeitungswarteschlange wächst und immer mehr Prozesse auf ihre Abarbeitung warten.
 
=Tools zur Analyse der Systemauslastung=
Die Analyse der Systemauslastung erfolgt angemeldet als '''root''' auf der Shell des jeweiligen Servers. Folgende Tools können wir hier nutzen:
==htop oder top==
;top und htop zeigen die Auslastung der wichtigsten Systemressourcen wie CPU oder RAM
:Der Aufruf erfolgt per <code>top</code> oder <code>htop</code>
 
==free oder free -m==
;Etwas übersichtlicher als top und htop ist das Tool free, welches uns ausschließlich über die Arbeitsspeicher-Belegung informiert.
:Der Aufruf erfolgt über <code>free</code> und <code>free -m</code>
 
==lynx als Systemmonitor==
;für unsere Server haben wir ein Systemmonitoring mit welchem wir eine Momentaufnahme der gerade aktiven Domainaufrufe auswerten können:
:<code>lynx --dump --width 200 -auth=monitor:MsdorRf2p3f <nowiki>http://localhost:7080/server-status</nowiki> | less</code>
:<code>lynx --dump --width 200 -auth=monitor:MsdorRf2p3f <nowiki>http://localhost:7080/server-status</nowiki> | less</code>


;2) Eine IP "91.223.89.130" mit vielen Verbindungen zu "cardmart.de" gesehen
===auffällig viele Verbindungen untersuchen===
 
;Wenn nun z.B. eine IP "'z.B. 91.223.89.130"' mit vielen Verbindungen zu "'cardmart.de"' auffällt würden wir uns diese IP in der access-log genauer anschauen:
;3) IP in der access-log angeschaut
:<code>cat /var/www/vhosts/system/'''cardmart.de'''/logs/access_log | grep '''91.223.89.130''' | less</code>
:<code>cat /var/www/vhosts/system/cardmart.de/logs/access_log | grep 91.223.89.130 | less</code>


;4) Komische Einträge gefunden, vermutlich Angriff:
===Komische Einträge die vermutlich einen Angriff darstellen===
:''91.223.89.130 - - [08/Dec/2016:14:03:06 +0100] "GET /cgi-bin/search.cgi HTTP/1.0" 404 380 "() { Referer; }; echo -e \"Content-Type: text/plain\\n\"; echo -e \"\\0141\\0143\\0165\\0156\\0145\\0164\\0151\\0170\\0163\\0150\\0145\\0154\\0154\\0163\\0150\\0157\\0143\\0153\"" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"''
:''91.223.89.130 - - [08/Dec/2016:14:03:06 +0100] "GET /cgi-bin/search.cgi HTTP/1.0" 404 380 "() { Referer; }; echo -e \"Content-Type: text/plain\\n\"; echo -e \"\\0141\\0143\\0165\\0156\\0145\\0164\\0151\\0170\\0163\\0150\\0145\\0154\\0154\\0163\\0150\\0157\\0143\\0153\"" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"''


;5)  Einträge der IP gezählt (nur zum Spass)
===Einträge einer IP zählen (nur zum Spass)===
:<code>cat /var/www/vhosts/system/cardmart.de/logs/access_log | grep 91.223.89.130 | wc -l</code>
:<code>cat /var/www/vhosts/system/'''cardmart.de'''/logs/access_log | grep '''91.223.89.130''' | wc -l</code>
:12623
:12623




;6) IP-Adresse temp., bis zum reboot des Servers gesperrt
== temporäres Aussperren einer IP-Adresse bis zum Reboot des Servers==
:<code>iptables -I INPUT -s 91.223.89.130 -j DROP</code>
:<code>iptables -I INPUT -s '''91.223.89.130''' -j DROP</code>




;Nacharbeitung
=Nacharbeitung=


:- Bitte Kd per Mail informieren, der sollte diese IP-Adresse in seiner .htaccess aufnemen, ansonsten bitte direkt mit aufnehmen
:- Bitte Kd per Mail informieren, der sollte diese IP-Adresse in seiner .htaccess aufnemen, ansonsten bitte direkt mit aufnehmen


:- Eintrag im Bahnhof vornehmen, ''bla blubb hohe Load, da IP "" zu viele Anfragen gestellt hat, sieht nach Angriff aus. IP in .htaccess gesperrt, Kd informiert''
:- Eintrag im Bahnhof vornehmen, ''bla blubb hohe Load, da IP "" zu viele Anfragen gestellt hat, sieht nach Angriff aus. IP in .htaccess gesperrt, Kd informiert''

Version vom 28. März 2018, 22:11 Uhr

Allgemeines

Die load average ist ein sehr wichtiger Wert im Bezug auf die Systemauslastung. Der Load in Linux-Systemen ist die Anzahl an wartenden Prozessen. Der optimale Wert entspricht immer der Anzahl der im System vorhandenen Prozessoren. In Systemen mit einem Single-Core-Prozessor ist der optimale Load 1, da zu dem Zeitpunkt ein Prozess in der Bearbeitungsschlange des Prozessors ist. Liegt der Wert unterhalb von 1, ist das System unterfordert, bei Werten über 1 überfordert. In Multicore-Prozessoren liegt der optimale Load höher. Bei einem Quad-Core-Prozessor beispielsweise 4.

Durch die aktuelle Anzahl der Prozesse lässt sich schlecht die Auslastung eines Systems abschätzen. Daher werden drei Mittelwerte (1 Minute, 5 Minuten und 15 Minuten) über die Anzahl der Prozesse gebildet.

Wichtig
Die Load beschreibt nicht die Auslastung der CPU. Es kann mehrere Gründe haben, warum die Bearbeitungswarteschlange wächst und immer mehr Prozesse auf ihre Abarbeitung warten.

Tools zur Analyse der Systemauslastung

Die Analyse der Systemauslastung erfolgt angemeldet als root auf der Shell des jeweiligen Servers. Folgende Tools können wir hier nutzen:

htop oder top

top und htop zeigen die Auslastung der wichtigsten Systemressourcen wie CPU oder RAM
Der Aufruf erfolgt per top oder htop

free oder free -m

Etwas übersichtlicher als top und htop ist das Tool free, welches uns ausschließlich über die Arbeitsspeicher-Belegung informiert.
Der Aufruf erfolgt über free und free -m

lynx als Systemmonitor

für unsere Server haben wir ein Systemmonitoring mit welchem wir eine Momentaufnahme der gerade aktiven Domainaufrufe auswerten können
lynx --dump --width 200 -auth=monitor:MsdorRf2p3f http://localhost:7080/server-status | less

auffällig viele Verbindungen untersuchen

Wenn nun z.B. eine IP "'z.B. 91.223.89.130"' mit vielen Verbindungen zu "'cardmart.de"' auffällt würden wir uns diese IP in der access-log genauer anschauen
cat /var/www/vhosts/system/cardmart.de/logs/access_log | grep 91.223.89.130 | less

Komische Einträge die vermutlich einen Angriff darstellen

91.223.89.130 - - [08/Dec/2016:14:03:06 +0100] "GET /cgi-bin/search.cgi HTTP/1.0" 404 380 "() { Referer; }; echo -e \"Content-Type: text/plain\\n\"; echo -e \"\\0141\\0143\\0165\\0156\\0145\\0164\\0151\\0170\\0163\\0150\\0145\\0154\\0154\\0163\\0150\\0157\\0143\\0153\"" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21"

Einträge einer IP zählen (nur zum Spass)

cat /var/www/vhosts/system/cardmart.de/logs/access_log | grep 91.223.89.130 | wc -l
12623


temporäres Aussperren einer IP-Adresse bis zum Reboot des Servers

iptables -I INPUT -s 91.223.89.130 -j DROP


Nacharbeitung

- Bitte Kd per Mail informieren, der sollte diese IP-Adresse in seiner .htaccess aufnemen, ansonsten bitte direkt mit aufnehmen
- Eintrag im Bahnhof vornehmen, bla blubb hohe Load, da IP "" zu viele Anfragen gestellt hat, sieht nach Angriff aus. IP in .htaccess gesperrt, Kd informiert