cs-websystem
Goto Top

Unterstützung bei Batch Pinglog Entwicklung

ich habe mir ein Pinglog als Batchdatei gebastelt welches auf mehrere Empfänger nacheinander ein Ping macht. Leider habe ich es nicht geschafft mit die TTL-Zeit mit auszulesen und zu speichern. Ebenfalls würde ich gerne eine Max TTL noch einbauen welche z.b. eine TTL über 500ms separat kennzeichnet. Ich würde mich freuen wenn mir jemand helfen würde dies noch einzubauen da meine Batchkenntnisse nicht die besten sind.
NAchfolgend mein Script
Danke im Voraus für Eure Unterstützung.

@echo off

:: Logdatei benennen und Pfad setzen
set logdatei=pinglog.csv


:: Timer in Sekunden eingeben
set timer=10


:: IP Adresse oder Hostnamen angeben
set IP=192.168.178.1
set IP[1]=192.168.178.2
set IP[2]=192.168.178.3
set IP[3]=192.168.178.4
set IP[4]=WIN10DESK


:: Bezeichnungen für die unterschiedlichen IP´s
set bez= Router
set bez[1]= TA1
set bez[2]= TA2
set bez[3]= Rest
set bez[4]= Rest

:: Programm Start
set /A j = 0
echo Ping Dauertest -- Start am %date% um %time%
echo Status; host; Datum; time; TTL; Bezeichnung >> %logdatei%
:: auslesen der Anzahl der Einträge in Array
:my_loop
if defined IP[%j%] (
set /a j = %j% + 1
goto :my_loop
)
set /a j = %j% - 1
set status=0
set status_off=1
::Abarbeiten des Arrays mit Pings
:dauertest
FOR /L %%i IN (0 1 %j%) DO (
call ping %%IP[%%i]%% -n 1 -4 | find "TTL=" >NULL
set status=%errorlevel%
if not %status%==%status_off% (
if %status%==0 (
call echo online; %%IP[%%i]%% ; %date% ; %time% ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [ONLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
) else (
call echo offline; %%IP[%%i]%% ; %date% ; %time% ; ;%TTL%; %%bez[%%i]%% >> %logdatei%
call echo [OFFLiNE] IP/Host:; %%bez[%%i]%%, %%IP[%%i]%% am %date% um %time% TTL= %TTL%
)
)
)
Echo Pinglog wird wieder ausgeführt in %timer% sekunden
timeout /T %timer% /nobreak
goto :dauertest

Content-Key: 607257

Url: https://administrator.de/contentid/607257

Printed on: April 19, 2024 at 21:04 o'clock

Member: laster
laster Sep 24, 2020 at 08:44:22 (UTC)
Goto Top
Hallo,

wenn Du prüfen möchtest, ob verschiedene Systeme per ping erreichbar sind (und auch antworten) solltest Du ein Monitoringsystem installieren. Später willst Du dann noch nachschauen, ob die Festplatten schon fast voll sind ...
Eine Variante ist PRTG. Das kostet nichts (bis zu 100 Sensoren - reicht für ca. 10 bis 20 zu überwachende Systeme) und ist schnell einegerichtet.

vG
LS
Member: cs-websystem
cs-websystem Sep 24, 2020 at 09:42:55 (UTC)
Goto Top
@laster danke für Deine Antwort, ich habe das Problem, dass ich dies rein zur kurzfristigen Überwachung ( paar Stunden oder 1 Tag ) benötige.
Auf den Systemen auf dem ich das Log nutzen möchte zur Analyse, darf ich nichts installieren sondern nur vorübergehend etwas ausführen, daher das Batch.
Meist geht es darum Verbindungsabbrüche oder lange Pingzeiten nachzuweisen.
Gerne bin ich offen für eine alternative lösung.