Wie Ausfallhäufigkeit Webserver am besten Tracken?
bearbeitet von Regina Schaukrug> Habt Ihr eine Idee, einen Tipp oder ein Best-Practice für solch ein Tracking zur Hand?
Werkzeug reicht nicht. Ideen muss haben.
~~~sh
#!/bin/bash
### Configuration: ###
proto="http";
host="www.deinkunde.example.org";
seite="track.txt"; # Möglichst kleine, statische Ressource
logname="WebseitenTracking";
### Config. But if you doubt let this as is: ###
agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0"';
testname='google-public-dns-a.google.com';
### Program: ###
cd /tmp;
url="${proto}://${host}/${seite}";
while [ 1 = 1 ]; do
testhost=$(nslookup ${testname} 8.8.8.8);
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Namensauflösung/Internetverbindung funktioniert.";
wget --delete-after --user-agent=$agent ${url};
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Notiz: ${url} erfolgreich abgerufen";
else
logger -t "${logname}" "Fehler: ${url} konnte trotz bestehender Verbindung nicht abgerufen werden.";
$(nslookup ${host} | logger -t "${logname}";
ping -c1 ${host} | logger -t "${logname}";
fi
else
logger -t "${logname}" "Fehler: Namensauflösung/Internetverbindung funktioniert nicht.";
fi
sleep 30;
done;
~~~
1. Starten auf einem Linux-Rechner (am besten ein stromsparender Dauerläufer wie einem Raspi, Banana ...) mit `screen DeinSkriptName.sh`.
2. Die Ergebnisse finden sich, wenn nicht von Dir anders konfiguriert, im Standard-Logfile Deines Systems.
3. Man kann das soweit treiben, dass es als Service läuft, in Datenbanken loggt, mails verschickt und Dir die Schuhe putzt.
4. Freilich nur unter Linux.
5. Manuals:
* `man 1 bash`,
* `man 1 screen`,
* `man 1 logger`,
* `man 1 logrotate,
* `man 1` {::nomarkdown}[{:/}`syslog`, `syslog-ng`, `rsyslog`, ...{::nomarkdown}]{:/},
* `man 1 wget`,
* `man 1` {::nomarkdown}[{:/}`tail`, `grep`{::nomarkdown}]{:/}.
* `man 1 test` oder `man 1 [`,
Das Letzte ist kein Scherz.
Wie Ausfallhäufigkeit Webserver am besten Tracken?
bearbeitet von Regina Schaukrug> Habt Ihr eine Idee, einen Tipp oder ein Best-Practice für solch ein Tracking zur Hand?
Werkzeug reicht nicht. Ideen muss haben.
~~~sh
#!/bin/bash
### Configuration: ###
proto="http";
host="www.deinkunde.example.org";
seite="track.txt"; # Möglichst kleine, statische Ressource
logname="WebseitenTracking";
### Config. But if you doubt let this as is: ###
agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0"';
testname='google-public-dns-a.google.com';
### Program: ###
cd /tmp;
url="${proto}://${host}/${seite}";
while [ 1 = 1 ]; do
testhost=$(nslookup ${testname} 8.8.8.8);
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Namensauflösung/Internetverbindung funktioniert.";
wget --delete-after --user-agent=$agent ${url};
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Notiz: ${url} erfolgreich abgerufen";
else
logger -t "${logname}" "Fehler: ${url} konnte trotz bestehender Verbindung nicht abgerufen werden.";
$(nslookup ${host} | logger -t "${logname}";
ping -c1 ${host} | logger -t "${logname}";
fi
else
logger -t "${logname}" "Fehler: Namensauflösung/Internetverbindung funktioniert nicht.";
fi
sleep 30;
done;
~~~
1. Starten auf einem Linux-Rechner mit `screen DeinSkriptName.sh`.
2. Die Ergebnisse finden sich, wenn nicht von Dir anders konfiguriert, im Standard-Logfile Deines Systems.
3. Man kann das soweit treiben, dass es als Service läuft, in Datenbanken loggt, mails verschickt und Dir die Schuhe putzt.
4. Freilich nur unter Linux.
5. Manuals:
* `man 1 bash`,
* `man screen`,
* `man 1 logger`,
* `man 1 logrotate,
* `man 1` {::nomarkdown}[{:/}`syslog`, `syslog-ng`, `rsyslog`, ...{::nomarkdown}]{:/},
* `man 1 wget`,
* `man 1` {::nomarkdown}[{:/}`tail`, `grep`{::nomarkdown}]{:/}.
* `man 1 test` oder `man 1 [`,
Das Letzte ist kein Scherz.
Wie Ausfallhäufigkeit Webserver am besten Tracken?
bearbeitet von Regina Schaukrug> Habt Ihr eine Idee, einen Tipp oder ein Best-Practice für solch ein Tracking zur Hand?
Werkzeug reicht nicht. Ideen muss haben.
~~~sh
#!/bin/bash
### Configuration: ###
proto="http";
host="www.deinkunde.example.org";
seite="track.txt"; # Möglichst kleine, statische Ressource
logname="WebseitenTracking";
### Config. But if you doubt let this as is: ###
agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0"';
testname='google-public-dns-a.google.com';
### Program: ###
cd /tmp;
url="${proto}://${host}/${seite}";
while [ 1 = 1 ]; do
testhost=$(nslookup ${testname} 8.8.8.8);
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Namensauflösung/Internetverbindung funktioniert.";
wget --delete-after --user-agent=$agent ${url};
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Notiz: ${url} erfolgreich abgerufen";
else
logger -t "${logname}" "Fehler: ${url} konnte trotz bestehender Verbindung nicht abgerufen werden.";
$(nslookup ${host} | logger -t "${logname}";
ping -c1 ${host} | logger -t "${logname}";
fi
else
logger -t "${logname}" "Fehler: Namensauflösung/Internetverbindung funktioniert nicht.";
fi
sleep 30;
done;
~~~
1. Die Ergebnisse finden sich, wenn nicht von Dir anders konfiguriert, im Standard-Logfile Deines Systems.
2. Man kann das soweit treiben, dass es als Service läuft, in Datenbanken loggt, mails verschickt und Dir die Schuhe putzt.
3. Freilich nur unter Linux.
4. Manuals:
* `man 1 bash`,
* `man 1 logger`,
* `man 1 logrotate,
* `man 1` {::nomarkdown}[{:/}`syslog`, `syslog-ng`, `rsyslog`, ...{::nomarkdown}]{:/},
* `man 1 wget`,
* `man 1` {::nomarkdown}[{:/}`tail`, `grep`{::nomarkdown}]{:/}.
* `man 1 test` oder `man 1 [`,
Das Letzte ist kein Scherz.
Wie Ausfallhäufigkeit Webserver am besten Tracken?
bearbeitet von Regina Schaukrug> Habt Ihr eine Idee, einen Tipp oder ein Best-Practice für solch ein Tracking zur Hand?
Werkzeug reicht nicht. Ideen muss haben.
~~~sh
#!/bin/bash
### Configuration: ###
proto="http";
host="www.deinkunde.example.org";
seite="track.txt"; # Möglichst kleine, statische Ressource
logname="WebseitenTracking";
### Config. But if you doubt let this as is: ###
agent='Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0"';
testname='google-public-dns-a.google.com';
### Program: ###
cd /tmp;
url="${proto}://${host}/${seite}";
while [ 1 = 1 ]; do
testhost=$(nslookup ${testname} 8.8.8.8);
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Namensauflösung/Internetverbindung funktioniert.";
wget --delete-after --user-agent=$agent ${url};
if [ "0" = "${?}" ]; then
logger -t "${logname}" "Notiz: ${url} erfolgreich abgerufen";
else
logger -t "${logname}" "Fehler: ${url} konnte trotz bestehender Verbindung nicht abgerufen werden.";
$(nslookup ${host} | logger -t "${logname}";
ping -c1 ${host} | logger -t "${logname}";
fi
else
logger -t "${logname}" "Fehler: Namensauflösung/Internetverbindung funktioniert nicht.";
fi
sleep 30;
done;
~~~
1. Die Ergebnisse finden sich, wenn nicht von Dir anders konfiguriert, im Standard-Logfile Deines Systems.
2. Man kann das soweit treiben, dass es als Service läuft, in Datenbanken loggt, mails verschickt und Dir die Schuhe putzt.
3. Freilich nur unter Linux.
4. Manuals:
* `man 1 bash`,
* `man 1 logger`,
* `man 1 logrotate,
* `man 1` {::nomarkdown}[{:/}`syslog`, `syslog-ng`, `rsyslog`, ...{::nomarkdown}]{:/},
* `man 1 wget`,
* `man 1 test` oder `man 1 [`.
Das Letzte ist kein Scherz.