Online-/Offline-Status in Protokolldatei schreiben

Online-/Offline-Status in Protokolldatei schreiben

Ich suche nach einer Möglichkeit, den Online-/Offline-Status eines Linux-Hosts lokal in einer Protokolldatei zu protokollieren.

pingIch habe versucht , dies zu verwenden , aber es hat keine Timeouts/verworfenen Pakete protokolliert, sondern nur erfolgreiche Übertragungen angezeigt:ping -D 8.8.8.8 | awk 'NR>1 { printf strftime("%c", $0) "%s",$2; }' RS=[ FS=]

Mi 14 Okt 2015 13:03:06 CEST 64 bytes from 8.8.8.8: icmp_req=155 ttl=55 time=18.4 ms
Mi 14 Okt 2015 13:03:07 CEST 64 bytes from 8.8.8.8: icmp_req=156 ttl=55 time=18.6 ms
Mi 14 Okt 2015 13:03:08 CEST 64 bytes from 8.8.8.8: icmp_req=157 ttl=55 time=18.4 ms
Mi 14 Okt 2015 13:05:19 CEST 64 bytes from 8.8.8.8: icmp_req=244 ttl=55 time=18.4 ms
Mi 14 Okt 2015 13:05:20 CEST 64 bytes from 8.8.8.8: icmp_req=245 ttl=55 time=18.4 ms

Daher muss ich mir die Anfragezahlen genau ansehen, um Offline-Zustände zu erkennen.

Kennt jemand eine bessere Möglichkeit oder kann jemand ein Tool dafür nennen?

Dank im Voraus.

Antwort1

Es gibt bereits viele Tools, die das können, wie Munin, Nagios usw. Ich verstehe nicht, warum wir das Rad neu erfinden sollten, aber wenn Sie eine Shell-Lösung möchten, hier ist sie:

#!/bin/bash

logfile="/var/log/up-or-down.log";
ip_address_for_testing="192.168.1.10";

while [[ true ]]; do
    ping -c 5 $ip_address_for_testing;
    if [[ $? -eq 0 ]]; then
        echo "IP status for ${ip_address_for_testing}: UP" >> $logfile;
    else
        echo "IP status for ${ip_address_for_testing}: DOWN" >> $logfile;
    fi;
    sleep 5;
done;

Das obige Beispiel sendet 5 ECHO-ANFORDERUNGEN an den in $ip_address_for_testing definierten Host und wenn alles gut geht, wird in $logfile eingetragen, ob dieser aktiv oder inaktiv ist. Speichern Sie es in einer Datei, erteilen Sie ihm mit chmod Ausführungsberechtigungen und rufen Sie es über /etc/rc.local oder /etc/rcS.d auf (wenn Sie die zweite Option wählen, müssen Sie es in /etc/init.d speichern und einen symbolischen Link dazu erstellen), wenn Sie es beim Booten starten möchten.

Tschüss!

verwandte Informationen