Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Frage Entwicklung Batch & Shell

Mitglied: DerParte

DerParte (Level 1) - Jetzt verbinden

19.09.2007, aktualisiert 20.09.2007, 2432 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Batch & Shell
gelöst CSV Dateien auswerten mit Script (8)

Frage von Crank69 zum Thema Batch & Shell ...

Exchange Server
Exchange Logs auswerten (2)

Frage von Ataronos zum Thema Exchange Server ...

Netzwerkmanagement
gelöst Loginzeiten statistisch auswerten (8)

Frage von PeterPann zum Thema Netzwerkmanagement ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...