Ich versuche, nxlog zu verwenden, um vCenter-Nachrichten mit dem im_file
Eingabemodul und einem Muster an Logstash weiterzuleiten, um die genauen zu überwachenden Dateien anzugeben. Was normalerweise einfach wäre, ist jetzt unnötig kompliziert, da die Protokollrotation von vCenter das Protokoll komprimiert und dann den Dateinamen erhöht, wenn die nächste Protokolldatei erstellt wird. Beispiel:
vpxd-1.log -> vpxd-1.log.gz -> vpxd-2.log
Ich möchte Meldungen aus dem vCenter vpxd.log-Protokoll weiterleiten:
*vpxa(\.log|\.\d+(\.gz)?|-\d+\.log(\.gz)?)
Antwort1
Da vCenter-Protokolle anders formatiert sind als ESXi-Protokolle, habe ich mich entschieden, Logstash statt nxlog zu verwenden. Ich werde im Forwarder lokale Filter einrichten, um vCenter-Nachrichten in ein ähnliches Format wie die ESXi-Nachrichten zu konvertieren.
Weitere Informationen zum Ausführen von Logstash als Windows-Dienst finden Sie in diesem Handbuch.
Dienstkonfiguration:
C:
cd \logstash
set HOME=c:/logstash/sincedb
"C:\Program Files\Java\jdk1.7.0_45\bin\java.exe" -jar logstash-1.2.2.jar agent --config logstash.conf --log logstash.log
Logstash-Konfiguration:
input {
file {
path => [ "C:/vmware_logs/vpxd-[0-5][0-9].log", "C:/vmware_logs/vpxd-alert-[0-5][0-9].log" ]
type => "syslog"
exclude => "*.gz"
}
}
output {
udp {
host => "<address>"
port => "514"
}
stdout {
debug => true
}
}