Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Serverlogdatei auswerten

Mitglied: DerParte

DerParte (Level 1) - Jetzt verbinden

19.09.2007, aktualisiert 20.09.2007, 2481 Aufrufe, 4 Kommentare

Hallo,

ich bräuchte Hilfe beim Auswerten einer Logdatei die die Lastenverteilung von Terminal-Servern protokolliert. 0 bedeutet keine Last und 10000 maximallast. Das ganze speichert der Server als txt datei.

Der Aufbau der Logdatei sieht so aus:

14.09.2007
08:05

Servername Serverlast
------------
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 625
XXXXXXXXXXXXXX 1634
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 625
XXXXXXXXXXXXXX 2570
XXXXXXXXXXXXXX 2864
XXXXXXXXXXXXXX 2711
XXXXXXXXXXXXXX 2824
XXXXXXXXXXXXXX 2767
XXXXXXXXXXXXXX 2821
XXXXXXXXXXXXXX 2523
XXXXXXXXXXXXXX 2801
XXXXXXXXXXXXXX 2590
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0

14.09.2007
08:10

Servername Serverlast
------------
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 625
XXXXXXXXXXXXXX 1959
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 625
XXXXXXXXXXXXXX 2889
XXXXXXXXXXXXXX 3025
XXXXXXXXXXXXXX 2822
XXXXXXXXXXXXXX 2988
XXXXXXXXXXXXXX 3087
XXXXXXXXXXXXXX 3047
XXXXXXXXXXXXXX 3062
XXXXXXXXXXXXXX 3024
XXXXXXXXXXXXXX 3049
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0

14.09.2007
08:15

Servername Serverlast
------------
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 1249
XXXXXXXXXXXXXX 2339
XXXXXXXXXXXXXX 625
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 1249
XXXXXXXXXXXXXX 3218
XXXXXXXXXXXXXX 3256
XXXXXXXXXXXXXX 3245
XXXXXXXXXXXXXX 3439
XXXXXXXXXXXXXX 3294
XXXXXXXXXXXXXX 3273
XXXXXXXXXXXXXX 3274
XXXXXXXXXXXXXX 3487
XXXXXXXXXXXXXX 3226
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 312
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0
XXXXXXXXXXXXXX 0

Wenn ich nun versuche die datei nach excel oder access zu importieren, schreibt das Programm leider alles nur so wie es dort steht in zwei spalten und ist somit nicht verwertbar. Gibt es eine einfachere Methode als mit strg+c und strg+v daraus etwas brauchbares zumachen. Habe schon versucht mit einem makro in excel, dass es automatisch kopiert wird und in die nächste zeile eingeführt wird, das klappt aber leider nicht. Es würde ja schon reichen wenn das ganze in ein importierfähiges format gebracht werden könnte.

Zum Beispiel:

Servername 0;89;89;....
Servername 1;89;89;....

Also das die zahlen für jeden server dann hinter einander mit komma oder simikolon oder tab stehen.

Hoffentlich kann mir jeamnd helfen.
Mitglied: bastla
19.09.2007 um 22:17 Uhr
Hallo DerParte!

Auch wenn Dein Beispiel mit den vielen "89"-Werten sich nicht wirklich aus den anderen Daten ableiten lässt, hoffe ich, Dein Vorhaben dennoch richtig interpretiert zu haben.

Zunächst wird eine Liste aller Server ("Servers.txt") benötigt - basierend auf Deinem Beispiel sähe diese so aus :
01.
XXXXXXXXXXXXXX
02.
XXXXXXXXXXXXXX
03.
XXXXXXXXXXXXXX
04.
XXXXXXXXXXXXXX
05.
XXXXXXXXXXXXXX
06.
XXXXXXXXXXXXXX
07.
XXXXXXXXXXXXXX
08.
XXXXXXXXXXXXXX
09.
XXXXXXXXXXXXXX
10.
XXXXXXXXXXXXXX
11.
XXXXXXXXXXXXXX
12.
XXXXXXXXXXXXXX
13.
XXXXXXXXXXXXXX
14.
XXXXXXXXXXXXXX
15.
XXXXXXXXXXXXXX
16.
XXXXXXXXXXXXXX
17.
XXXXXXXXXXXXXX
18.
XXXXXXXXXXXXXX
19.
XXXXXXXXXXXXXX
20.
XXXXXXXXXXXXXX
21.
XXXXXXXXXXXXXX
22.
XXXXXXXXXXXXXX
Danach sollte der folgende Batch die jeweiligen Werte der "Log.txt" je Server zeilenweise zusammenfassen und in die Datei "Log.csv" schreiben :
01.
@echo off & setlocal enabledelayedexpansion
02.
set "List=D:\Servers.txt"
03.
set "In=D:\Log.txt"
04.
set "Out=D:\Log.csv"
05.
 
06.
if exist "%Out%" del "%Out%"
07.
for /f "usebackq delims=" %%i in ("%List%") do call :ProcessServerEntries "%%i"
08.
goto :eof
09.
 
10.
:ProcessServerEntries
11.
set "Line=%~1"
12.
for /f "tokens=2" %%a in ('findstr %1 "%In%"') do set "Line=!Line!;%%a"
13.
echo %Line% >>"%Out%"
Grüße
bastla
Bitte warten ..
Mitglied: Biber
19.09.2007 um 23:43 Uhr
@bastla

Super!
Diesen Thread will ich im Bereich "Batch & Shell" haben.
Und verschiebe ihn ganz schnell von "Windows Server" dorthin, ehe ihn ein anderer Moderator findet.

Schönen Abend
Biber
Bitte warten ..
Mitglied: DerParte
20.09.2007 um 07:51 Uhr
Vielen dank. Funktioniert einbahnfrei. Gäbe es noch die Uhrzeit mit zu protokollieren? also in der zeile über den Werten? Wenn nicht auch nicht schlimm lässt sich in excel auch schnell manuel mit den ersten drei zahlen bewerkstelligen.
Bitte warten ..
Mitglied: bastla
20.09.2007 um 08:43 Uhr
Hallo DerParte!

... lässt sich in excel auch schnell manuel ... bewerkstelligen.
An die Uhrzeiten hatte ich auch gedacht, war aber eigentlich zum selben Schluss gekommen.

Trotzdem sollte vielleicht die .csv-Datei zumindest Datum und Startzeit (obwohl vermutlich ohnehin immer gleich) beeinhalten - etwa so:
01.
@echo off & setlocal enabledelayedexpansion
02.
set "List=D:\Servers.txt"
03.
set "In=D:\Log.txt"
04.
set "Out=D:\Log.csv"
05.
set /a Header=2
06.
 
07.
if exist "%Out%" del "%Out%"
08.
 
09.
set /a Count=0
10.
for /f "usebackq delims=" %%i in ("%In%") do (
11.
	if !Count! lss %Header% (
12.
		echo %%i >>"%Out%"
13.
		set /a Count+=1
14.
	)
15.
)
16.
 
17.
for /f "usebackq delims=" %%i in ("%List%") do call :ProcessServerEntries "%%i"
18.
goto :eof
19.
 
20.
:ProcessServerEntries
21.
set "Line=%~1"
22.
for /f "tokens=2" %%a in ('findstr %1 "%In%"') do set "Line=!Line!;%%a"
23.
echo %Line% >>"%Out%"
Mit der Variablen %Header% wird festgelegt, wie viele Zeilen vom Anfang der Quelldatei in die Zieldatei geschrieben werden sollen.

Ergänzend ließe sich (falls sinnvoll) das Datum auch noch in den Dateinamen integrieren. Dazu könntest Du die Zeile "set Out=D:\Log.csv" durch den folgenden Block ersetzen (Voraussetzung: Datum steht, wie im Beispiel oben, in der ersten Zeile der Quelldatei):
01.
set Datum=
02.
for /f "usebackq delims=" %%i in ("%In%") do if not defined Datum set Datum=%%i
03.
set Datum=%Datum:~6,4%-%Datum:~3,2%-%Datum:~0,2%
04.
set "Out=D:\Log_%Datum%.csv"
Grüße
bastla

P.S.: @Biber: Danke für die Blumen ...
Bitte warten ..
Neue Wissensbeiträge
Humor (lol)
Administrator.de Perlen
Tipp von DerWindowsFreak2 vor 1 TagHumor (lol)3 Kommentare

Hallo, Heute beim stöbern auf dieser Seite bin auf folgenden Thread aus dem Jahre 2006 gestossen: Was meint ihr? ...

Erkennung und -Abwehr
OpenSSH-Backdoor Malware erkennen
Tipp von Frank vor 2 TagenErkennung und -Abwehr

Sicherheitsforscher von Eset haben 21 Malware-Familien untersucht. Die Malware soll Hintertüren via OpenSSH bereitstellen, so dass Angreifer Fernzugriff auf ...

iOS
WatchChat für Whatsapp
Tipp von Criemo vor 6 TageniOS5 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor!
Tipp von Criemo vor 6 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
SSD zeigt falsche Werte
Frage von karl2014Festplatten, SSD, Raid25 Kommentare

Ich habe ein Problem mit der SSD in meinem Laptop mit Windows 10. Es ist eine 1Tb Platte die ...

Grafikkarten & Monitore
PCIe 1.0 Grafikkarte für 3840x2160
Frage von Windows10GegnerGrafikkarten & Monitore24 Kommentare

Hallo, mein Vater hat einen neuen Monitor gekauft, welcher eine native Auflösung von 3840*2160 hat. Diese muss jetzt auch ...

Windows 10
Windows Enterprise 1809 Eval nicht bootbar
Frage von Sunny89Windows 1022 Kommentare

Hallo zusammen, bevor ich mich jetzt noch stundenlang rumärger wollte ich euch fragen, ob Ihr die gleichen Probleme habt ...

Linux
Info Monitor für eine Schule
gelöst Frage von CAT404Linux13 Kommentare

Moin, ich möchte einen Infomonitor betreiben; derzeit läuft da ein Windows 10 Rechner bei dem Firefox beim Start in ...