Quell-Deklarationen - Amazon Kinesis Agent für Microsoft Windows

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Quell-Deklarationen

In Amazon Kinesis Agent für Microsoft WindowsQuell-DeklarationenGeben Sie an, wo und welche Protokoll-, Ereignis- und Metrikdaten gesammelt werden sollen. Außerdem geben sie optional Informationen für die Analyse dieser Daten an, sodass sie umgewandelt werden können. Die folgenden Abschnitte beschreiben Konfigurationen für die integrierten Quell-Typen, die in Kinesis Agent für Windows verfügbar sind. Da Kinesis Agent für Windows erweiterbar ist, können Sie benutzerdefinierte Quelltypen hinzufügen. Jeder Quelltyp erfordert in der Regel bestimmte Schlüssel-Wert-Paare in den Konfigurationsobjekten, die für diesen Quelltyp relevant sind.

Alle Quell-Deklarationen müssen mindestens die folgenden Schlüssel-Wert-Paare enthalten:

Id

Eine eindeutige Zeichenfolge, die ein bestimmtes Quellobjekt innerhalb der Konfigurationsdatei identifiziert.

SourceType

Der Name des Quelltyps für dieses Quellobjekt. Der Quelltyp gibt den Ursprung der Protokoll-, Ereignis- oder Metrikdaten an, die von diesem Quellobjekt erfasst werden. Er steuert zudem, welche anderen Aspekte der Quelle deklariert werden können.

Beispiele für vollständige Konfigurationsdateien, die verschiedene Arten von Quell-Deklarationen verwenden, finden Sie unter Streamen aus verschiedenen Quellen an Kinesis Data Streams.

DirectorySource-Konfiguration

Overview

Der DirectorySource-Quelltyp sammelt Protokolle aus Dateien, die im angegebenen Verzeichnis gespeichert sind. Da es Protokolldateien in vielen verschiedenen Formate gibt, können Sie mit der DirectorySource-Deklaration das Format der Daten in der Protokolldatei angeben. Anschließend können Sie den Inhalt des Protokolls in ein Standardformat, z. B. JSON oder XML, transformieren, bevor Sie ihn an verschiedene AWS-Services streamen.

Es folgt ein Beispiel für eine DirectorySource-Deklaration:

{ "Id": "myLog", "SourceType": "DirectorySource", "Directory": "C:\\Program Data\\MyCompany\\MyService\\logs", "FileNameFilter": "*.log", "IncludeSubdirectories": true, "IncludeDirectoryFilter": "cpu\\cpu-1;cpu\\cpu-2;load;memory", "RecordParser": "Timestamp", "TimestampFormat": "yyyy-MM-dd HH:mm:ss.ffff", "Pattern": "\\d{4}-\\d{2}-\\d(2}", "ExtractionPattern": "", "TimeZoneKind": "UTC", "SkipLines": 0, "Encoding": "utf-16", "ExtractionRegexOptions": "Multiline" }

Alle DirectorySource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "DirectorySource" sein (erforderlich).

Directory

Der Pfad zum Verzeichnis mit den Protokolldateien (erforderlich).

FileNameFilter

Schränkt optional den Satz von Dateien in dem Verzeichnis ein, in dem Protokolldaten basierend auf einem Dateibenennungsmuster mit Platzhaltern gesammelt werden. Wenn Sie mehrere Protokolldateinamenmuster haben, können Sie mit dieser Funktion eine einzelneDirectorySourceVerwenden Sie, wie im folgenden Beispiel gezeigt.

FileNameFilter: "*.log|*.txt"

Systemadministratoren komprimieren manchmal Protokolldateien, bevor sie archiviert werden. Wenn Sie"*.*"inFileNameFilter, werden bekannte komprimierte Dateien jetzt ausgeschlossen. Diese Funktion verhindert.zip,.gz, und.bz2Dateien versehentlich gestreamt werden. Wenn dieses Schlüssel-Wert-Paar nicht angegeben wird, werden standardmäßig Daten aus allen Dateien im Verzeichnis gesammelt.

IncludeSubdirectories

Gibt an, dass Unterverzeichnisse in beliebiger Tiefe vom Betriebssystem begrenzt überwacht werden sollen. Diese Funktion ist nützlich für die Überwachung von Webservern mit mehreren Websites. Sie können auch die verwenden:IncludeDirectoryFilter-Attribut, um nur bestimmte Unterverzeichnisse zu überwachen, die im Filter angegeben sind.

RecordParser

Gibt an, wie der DirectorySource-Quelltyp die Protokolldateien analysieren soll, die im angegebenen Verzeichnis gefunden werden. Dieses Schlüssel-Wert-Paar ist erforderlich, und die gültigen Werte sind wie folgt:

  • SingleLine— Jede Zeile der Protokolldatei ist ein Protokolldatensatz.

  • SingleLineJson— Jede Zeile der Protokolldatei ist ein JSON-formatierter Protokolldatensatz. Dieser Parser ist nützlich, wenn Sie zusätzliche Schlüssel-Wert-Paare zur JSON-fähigen Objektausstattung hinzufügen möchten. Weitere Informationen finden Sie unter Konfigurieren von Senken-Ausstattungen. Ein Beispiel für den SingleLineJson-Datensatz-Parser finden Sie unter Tutorial: Streamen von JSON-Protokolldateien mit Kinesis Agent für Windows zu Amazon S3.

  • Timestamp— Eine oder mehrere Zeilen können einen Protokolldatensatz enthalten. Der Protokolldatensatz beginnt mit einem Zeitstempel. Diese Option erfordert die Angabe des TimestampFormat-Schlüssel-Wert-Paares.

  • Regex— Jeder Datensatz beginnt mit Text, der einem bestimmten regulären Ausdruck entspricht. Diese Option erfordert die Angabe des Pattern-Schlüssel-Wert-Paares.

  • SysLog— Gibt an, dass die Protokolldatei in dassyslogStandardformat. Die Analyse der Protokolldatei in Datensätze wird basierend auf dieser Spezifikation durchgeführt.

  • Delimited— Eine einfachere Version des Regex-Datensatzparsers, bei dem Datenelemente in den Protokolldatensätzen durch ein konsistentes Trennzeichen getrennt werden. Diese Option ist einfacher in der Verwendung und schneller auszuführen als der Regex-Parser und wird bevorzugt, wenn diese Option verfügbar ist. Wenn Sie diese Option verwenden, müssen Sie das Delimiter-Schlüssel-Wert-Paar angeben.

TimestampField

Gibt an, welches JSON-Feld den Zeitstempel für den Datensatz enthält. Dies wird nur mit dem SingleLineJson RecordParser verwendet. Dieses Schlüssel-Wert-Paar ist optional. Wenn es nicht angegeben wird, verwendet Kinesis Agent für Windows den Zeitpunkt, als der Datensatz für den Zeitstempel gelesen wurde. Ein Vorteil für die Angabe dieses Schlüssel-Wert-Paares ist, dass von Kinesis Agent für Windows erstellte Latenzstatistiken genauer sind.

TimestampFormat

Gibt an, wie Datum und Uhrzeit, die dem Datensatz zugeordnet sind, zu analysieren sind. Der Wert ist entweder die Zeichenfolge epoch oder eine .NET-Formatzeichenfolge für Datum und Uhrzeit. Wenn der Wert epoch ist, wird die Uhrzeit basierend auf der UNIX-Epoche-Zeit analysiert. Weitere Informationen zur UNIX-Epoche-Zeit finden Sie unter Unix-Zeit. Weitere Informationen zu .NET-Formatzeichenfolgen für Datum/Uhrzeit finden Sie unter Custom Date and Time Format Strings in der Microsoft .NET-Dokumentation. Dieses Schlüssel-Wert-Paar ist nur erforderlich, wenn der Timestamp-Datensatz-Parser angegeben wird oder wenn der SingleLineJson-Datensatz-Parser zusammen mit dem TimestampField-Schlüssel-Wert-Paar angegeben wird.

Pattern

Gibt einen regulären Ausdruck an, der mit der ersten Zeile eines potenziell mehrzeiligen Datensatzes übereinstimmen muss. Dieses Schlüssel-Wert-Paar ist nur für den Regex-Datensatz-Parser erforderlich.

ExtractionPattern

Gibt einen regulären Ausdruck an, der benannte Gruppen verwenden soll. Der Datensatz wird unter Verwendung dieses regulären Ausdrucks analysiert, und die benannten Gruppen bilden die Felder des analysierten Datensatzes. Diese Felder werden dann als Basis für die Erstellung von JSON- oder XML-Objekten oder -Dokumenten verwendet, die durch Senken an verschiedene AWS-Services gestreamt werden. Dieses Schlüssel-Wert-Paar ist optional und ist mit der OptionRegexDatensatzparser und der Timestamp-Parser.

Der Timestamp-Gruppenname wird speziell verarbeitet, da er dem Regex-Parser anzeigt, welches Feld das Datum und die Uhrzeit für jeden Datensatz in jeder Protokolldatei enthält.

Delimiter

Gibt das Zeichen und die Zeichenfolge an, durch die jedes Element in jedem Protokolldatensatz getrennt wird. Dieses Schlüssel-Wert-Paar darf (und kann) nur mit dem Delimited-Datensatz-Parser verwendet werden. Verwenden Sie zur Darstellung des Tabulatorzeichens die aus zwei Buchstaben bestehende Sequenz \t.

HeaderPattern

Gibt einen regulären Ausdruck zur Anpassung der Zeile in der Protokolldatei an, die die Gruppe von Headern für den Datensatz enthält. Wenn die Protokolldatei keine Header-Informationen enthält, verwenden Sie das Headers-Schlüssel-Wert-Paar zur Angabe der impliziten Header. Dieses HeaderPattern-Schlüssel-Wert-Paar ist optional und ist nur für den Delimited-Datensatz-Parser gültig.

Anmerkung

Ein leerer (0 Länge) Header-Eintrag für eine Spalte bewirkt, dass die Daten für diese Spalte aus der endgültigen Ausgabe der analysierten DirectorySource-Ausgabe gefiltert werden.

Headers

Gibt die Namen für die analysierten Datenspalten unter Verwendung des angegebenen Trennzeichens an. Dieses Schlüssel-Wert-Paar ist optional und ist nur für den Delimited-Datensatz-Parser gültig.

Anmerkung

Ein leerer (0 Länge) Header-Eintrag für eine Spalte bewirkt, dass die Daten für diese Spalte aus der endgültigen Ausgabe der analysierten DirectorySource-Ausgabe gefiltert werden.

RecordPattern

Gibt einen regulären Ausdruck an, der Zeilen in der Protokolldatei mit Datensatzdaten identifiziert. Außer der von HeaderPattern identifizierten Header-Zeile werden Zeilen, die nicht mit dem angegebenen RecordPattern übereinstimmen, während der Datensatzverarbeitung ignoriert. Dieses Schlüssel-Wert-Paar ist optional und ist nur für den Delimited-Datensatz-Parser gültig. Wenn es nicht angegeben wird, wird standardmäßig eine beliebige Zeile, die nicht mit dem optionalen HeaderPattern oder dem optionalen CommentPattern übereinstimmt, als eine Zeile mit analysierbaren Datensatzdaten angesehen.

CommentPattern

Gibt einen regulären Ausdruck an, der Zeilen in der Protokolldatei identifiziert, die ausgeschlossen werden sollen, bevor die Daten in der Protokolldatei analysiert werden. Dieses Schlüssel-Wert-Paar ist optional und ist nur für den Delimited-Datensatz-Parser gültig. Wenn es nicht angegeben wird, wird standardmäßig eine beliebige Zeile, die nicht mit dem optionalen HeaderPattern übereinstimmt, als eine Zeile mit analysierbaren Datensatzdaten angesehen, sofern nicht RecordPattern angegeben wird.

TimeZoneKind

Gibt an, ob sich der Zeitstempel in der Protokolldatei auf die lokale Zeitzone oder die UTC-Zeitzone bezieht. Dies ist optional und standardmäßig auf UTC eingestellt. Die einzigen gültigen Werte für dieses Schlüssel-Wert-Paar sind Local oder UTC. Der Zeitstempel wird niemals geändert, wenn TimeZoneKind nicht angegeben wird oder wenn der Wert UTC ist. Der Zeitstempel wird in UTC konvertiert, wenn derTimeZoneKindWert istLocalDie Senke, die den Zeitstempel empfängt, ist CloudWatch Logs, oder wenn der analysierte Datensatz zu anderen Senken gesendet wird. Datums- und Zeitangaben, die in Meldungen eingebettet sind, werden nicht konvertiert.

SkipLines

Steuert, sofern angegeben, die Anzahl von Zeilen, die am Anfang jeder Protokolldatei ignoriert werden, bevor der Datensatz analysiert wird. Dies ist optional und der Standardwert ist 0.

Codierung

Standardmäßig kann Kinesis Agent für Windows die Codierung automatisch aus Bytemark erkennen. Bei einigen älteren Unicode-Formaten funktioniert die automatische Codierung jedoch möglicherweise nicht korrekt. Im folgenden Beispiel wird die Codierung angegeben, die zum Streamen eines Microsoft SQL Server-Protokolls erforderlich ist.

"Encoding": "utf-16"

Eine Liste der Codierungsnamen finden Sie unterListe der Kodierungenin der Microsoft .NET-Dokumentation.

ExtractionRegexOptions

Sie können die Verwendung vonExtractionRegexOptionsReguläre Ausdrücke zu vereinfachen. Dieses Schlüssel-Wert-Paar ist optional. Der Standardwert ist "None".

Im folgenden Beispiel wird angegeben, dass die Eigenschaft"."Ausdruck entspricht einem beliebigen Zeichen, einschließlich\r\n.

"ExtractionRegexOptions" = "Multiline"

Eine Liste möglicher Felder für ExtractionRegexOptions finden Sie unter der DokumentationRegExOptions-Aufzählungsumin der Microsoft .NET-Dokumentation.

Regex-Datensatz-Parser

Sie können unstrukturierte Textprotokolle mit dem Regex-Datensatz-Parser zusammen mit den TimestampFormat–, Pattern- und ExtractionPattern-Schlüssel-Wert-Paaren analysieren. Angenommen, Ihre Protokolldatei sieht folgendermaßen aus:

[FATAL][2017/05/03 21:31:00.534][0x00003ca8][0000059c][][ActivationSubSystem][GetActivationForSystemID][0] 'ActivationException.File: EQCASLicensingSubSystem.cpp' [FATAL][2017/05/03 21:31:00.535][0x00003ca8][0000059c][][ActivationSubSystem][GetActivationForSystemID][0] 'ActivationException.Line: 3999'

Sie können in diesem Fall den folgenden regulären Ausdruck für das Pattern-Schlüssel-Wert-Paar angeben, um die Protokolldatei leichter in einzelne Protokolldatensätze aufzuteilen:

^\[\w+\]\[(?<TimeStamp>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}\.\d{3})\]

Dieser reguläre Ausdruck weist folgende Sequenz auf:

  1. Die Startposition der auszuwertenden Zeichenfolge.

  2. Ein oder mehrere Wortzeichen in eckigen Klammern.

  3. Ein Zeitstempel in eckigen Klammern. Der Zeitstempel weist folgende Sequenz auf:

    1. Das vierstellige Jahr

    2. Ein Schrägstrich

    3. Der zweistellige Monat

    4. Ein Schrägstrich

    5. Der zweistellige Tag

    6. Ein Leerzeichen

    7. Die zweistellige Stunde

    8. Ein Doppelpunkt

    9. Die zweistellige Minute

    10. Ein Doppelpunkt

    11. Die zweistellige Sekunde

    12. Ein Punkt

    13. Die dreistellige Millisekunde

Sie können das folgende Format für das TimestampFormat-Schlüssel-Wert-Paar angeben, um den Zeitstempel in Textform in ein Datum und eine Uhrzeit umzuwandeln:

yyyy/MM/dd HH:mm:ss.fff

Sie können den folgenden regulären Ausdruck zum Extrahieren der Felder des Protokolldatensatzes über das ExtractionPattern-Schlüssel-Wert-Paar extrahieren.

^\[(?<Severity>\w+)\]\[(?<TimeStamp>\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2}\.\d{3})\]\[[^]]*\]\[[^]]*\]\[[^]]*\]\[(?<SubSystem>\w+)\]\[(?<Module>\w+)\]\[[^]]*\] '(?<Message>.*)'$

Dieser reguläre Ausdruck weist die folgenden Gruppen in der Sequenz auf:

  1. Severity— Ein oder mehrere Wortzeichen in eckigen Klammern.

  2. TimeStamp— Siehe die vorherige Beschreibung des Zeitstempels.

  3. Drei unbenannte Sequenzen mit null oder mehr Zeichen in eckigen Klammern werden übersprungen.

  4. SubSystem— Ein oder mehrere Wortzeichen in eckigen Klammern.

  5. Module— Ein oder mehrere Wortzeichen in eckigen Klammern.

  6. Eine unbenannte Sequenz mit null oder mehr Zeichen in eckigen Klammern wird übersprungen.

  7. Eine unbenannte Leerstelle wird übersprungen.

  8. Message— Null oder mehr Zeichen, die von einfachen Anführungszeichen umgeben sind.

Die folgende Quell-Deklaration kombiniert diese regulären Ausdrücke und das Format für Datum und Uhrzeit in den vollständigen Anleitungen für Kinesis Agent für Windows zum Analysieren dieser Art von Protokolldatei.

{ "Id": "PrintLog", "SourceType": "DirectorySource", "Directory": "C:\\temp\\PrintLogTest", "FileNameFilter": "*.log", "RecordParser": "Regex", "TimestampFormat": "yyyy/MM/dd HH:mm:ss.fff", "Pattern": "^\\[\\w+\\]\\[(?<TimeStamp>\\d{4}/\\d{2}/\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d{3})\\]", "ExtractionPattern": "^\\[(?<Severity>\\w+)\\]\\[(?<TimeStamp>\\d{4}/\\d{2}/\\d{2} \\d{2}:\\d{2}:\\d{2}\\.\\d{3})\\]\\[[^]]*\\]\\[[^]]*\\]\\[[^]]*\\]\\[(?<SubSystem>\\w+)\\]\\[(?<Module>\\w+)\\]\\[[^]]*\\] '(?<Message>.*)'$", "TimeZoneKind": "UTC" }
Anmerkung

Umgekehrte Schrägstriche in JSON-formatierten Dateien müssen mit einem zusätzlichen umgekehrten Schrägstrich als Escapezeichen geschützt werden.

Weitere Informationen zu regulären Ausdrücken finden Sie unter Regular Expression Language - Quick Reference in der Microsoft .NET-Dokumentation.

Delimited-Datensatz-Parser

Sie können mit dem Delimited-Datensatz-Parser halbstrukturierte Protokoll- und Datendateien analysieren, bei denen die einzelnen Datenspalten in den einzelnen Datenzeile durch eine konsistente Zeichenfolge voneinander getrennt sind. Beispiel: In CSV-Dateien sind die einzelnen Spaltendaten durch ein Semikolon und bei TSV-Dateien durch ein Tabulatorzeichen voneinander getrennt.

Angenommen, Sie möchten eine Microsoft Protokolldatei im NPS-Datenbankformat analysieren, die von einem Netzwerkrichtlinienserver erstellt wurde. Eine solche Datei könnte in diesem Fall folgendermaßen aussehen:

"NPS-MASTER","IAS",03/22/2018,23:07:55,1,"user1","Domain1\user1",,,,,,,,0,"192.168.86.137","Nate - Test 1",,,,,,,1,,0,"311 1 192.168.0.213 03/15/2018 08:14:29 1",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,, "NPS-MASTER","IAS",03/22/2018,23:07:55,3,,"Domain1\user1",,,,,,,,0,"192.168.86.137","Nate - Test 1",,,,,,,1,,16,"311 1 192.168.0.213 03/15/2018 08:14:29 1",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"Use Windows authentication for all users",1,,,,

Das folgende Beispiel einer appsettings.json-Konfigurationsdatei enthält eine DirectorySource-Deklaration, die diesen Text mittels eines Delimited-Datensatz-Parsers als Objektdarstellung analysiert. Anschließend streamt sie die Daten im JSON-Format an Kinesis Data Firehose:

{ "Sources": [ { "Id": "NPS", "SourceType": "DirectorySource", "Directory": "C:\\temp\\NPS", "FileNameFilter": "*.log", "RecordParser": "Delimited", "Delimiter": ",", "Headers": "ComputerName,ServiceName,Record-Date,Record-Time,Packet-Type,User-Name,Fully-Qualified-Distinguished-Name,Called-Station-ID,Calling-Station-ID,Callback-Number,Framed-IP-Address,NAS-Identifier,NAS-IP-Address,NAS-Port,Client-Vendor,Client-IP-Address,Client-Friendly-Name,Event-Timestamp,Port-Limit,NAS-Port-Type,Connect-Info,Framed-Protocol,Service-Type,Authentication-Type,Policy-Name,Reason-Code,Class,Session-Timeout,Idle-Timeout,Termination-Action,EAP-Friendly-Name,Acct-Status-Type,Acct-Delay-Time,Acct-Input-Octets,Acct-Output-Octets,Acct-Session-Id,Acct-Authentic,Acct-Session-Time,Acct-Input-Packets,Acct-Output-Packets,Acct-Terminate-Cause,Acct-Multi-Ssn-ID,Acct-Link-Count,Acct-Interim-Interval,Tunnel-Type,Tunnel-Medium-Type,Tunnel-Client-Endpt,Tunnel-Server-Endpt,Acct-Tunnel-Conn,Tunnel-Pvt-Group-ID,Tunnel-Assignment-ID,Tunnel-Preference,MS-Acct-Auth-Type,MS-Acct-EAP-Type,MS-RAS-Version,MS-RAS-Vendor,MS-CHAP-Error,MS-CHAP-Domain,MS-MPPE-Encryption-Types,MS-MPPE-Encryption-Policy,Proxy-Policy-Name,Provider-Type,Provider-Name,Remote-Server-Address,MS-RAS-Client-Name,MS-RAS-Client-Version", "TimestampField": "{Record-Date} {Record-Time}", "TimestampFormat": "MM/dd/yyyy HH:mm:ss" } ], "Sinks": [ { "Id": "npslogtest", "SinkType": "KinesisFirehose", "Region": "us-west-2", "StreamName": "npslogtest", "Format": "json" } ], "Pipes": [ { "Id": "W3SVCLog1ToKinesisStream", "SourceRef": "NPS", "SinkRef": "npslogtest" } ] }

An Kinesis Data Firehose gestreamt Daten im JSON-Format sehen wie folgt aus:

{ "ComputerName": "NPS-MASTER", "ServiceName": "IAS", "Record-Date": "03/22/2018", "Record-Time": "23:07:55", "Packet-Type": "1", "User-Name": "user1", "Fully-Qualified-Distinguished-Name": "Domain1\\user1", "Called-Station-ID": "", "Calling-Station-ID": "", "Callback-Number": "", "Framed-IP-Address": "", "NAS-Identifier": "", "NAS-IP-Address": "", "NAS-Port": "", "Client-Vendor": "0", "Client-IP-Address": "192.168.86.137", "Client-Friendly-Name": "Nate - Test 1", "Event-Timestamp": "", "Port-Limit": "", "NAS-Port-Type": "", "Connect-Info": "", "Framed-Protocol": "", "Service-Type": "", "Authentication-Type": "1", "Policy-Name": "", "Reason-Code": "0", "Class": "311 1 192.168.0.213 03/15/2018 08:14:29 1", "Session-Timeout": "", "Idle-Timeout": "", "Termination-Action": "", "EAP-Friendly-Name": "", "Acct-Status-Type": "", "Acct-Delay-Time": "", "Acct-Input-Octets": "", "Acct-Output-Octets": "", "Acct-Session-Id": "", "Acct-Authentic": "", "Acct-Session-Time": "", "Acct-Input-Packets": "", "Acct-Output-Packets": "", "Acct-Terminate-Cause": "", "Acct-Multi-Ssn-ID": "", "Acct-Link-Count": "", "Acct-Interim-Interval": "", "Tunnel-Type": "", "Tunnel-Medium-Type": "", "Tunnel-Client-Endpt": "", "Tunnel-Server-Endpt": "", "Acct-Tunnel-Conn": "", "Tunnel-Pvt-Group-ID": "", "Tunnel-Assignment-ID": "", "Tunnel-Preference": "", "MS-Acct-Auth-Type": "", "MS-Acct-EAP-Type": "", "MS-RAS-Version": "", "MS-RAS-Vendor": "", "MS-CHAP-Error": "", "MS-CHAP-Domain": "", "MS-MPPE-Encryption-Types": "", "MS-MPPE-Encryption-Policy": "", "Proxy-Policy-Name": "Use Windows authentication for all users", "Provider-Type": "1", "Provider-Name": "", "Remote-Server-Address": "", "MS-RAS-Client-Name": "", "MS-RAS-Client-Version": "" }

SysLog-Datensatz-Parser

Für den SysLog-Datensatz-Parser enthält die analysierte Ausgabe aus der Quelle die folgenden Informationen:

Attribut Typ Beschreibung
SysLogTimeStamp Zeichenfolge Das ursprüngliche Datum und die ursprüngliche Uhrzeit aus der Syslog-formatierten Protokolldatei.
Hostname Zeichenfolge Der Name des Computers, auf dem die Syslog-formatierte Protokolldatei gespeichert ist.
Program Zeichenfolge Der Name der Anwendung oder des Service, mit der bzw. dem die Protokolldatei erstellt wurde.
Message Zeichenfolge Der von der Anwendung oder dem Service erstellte Protokolleintrag.
TimeStamp Zeichenfolge Das analysierte Datum und die analysierte Uhrzeit im ISO 8601-Format.

Im Folgenden finden Sie ein Beispiel von in das JSON-Format umgewandelten SysLog-Daten:

{ "SysLogTimeStamp": "Jun 18 01:34:56", "Hostname": "myhost1.example.mydomain.com", "Program": "mymailservice:", "Message": "Info: ICID 123456789 close", "TimeStamp": "2017-06-18T01:34.56.000" }

Summary

Im Folgenden finden Sie eine Zusammenfassung der verfügbaren Schlüssel-Wert-Paare für die DirectorySource-Quelle und die RecordParser, die sich auf diese Schlüssel-Wert-Paare beziehen.

Schlüsselname RecordParser Hinweise
SourceType Erforderlich für alle Der Wert muss DirectorySource lauten
Directory Erforderlich für alle
FileNameFilter Optional für alle
RecordParser Erforderlich für alle
TimestampField Optional für SingleLineJson
TimestampFormat Erforderlich für Timestamp und für SingleLineJson, wenn TimestampField angegeben wird
Pattern Erforderlich für Regex
ExtractionPattern Optional für Regex Erforderlich für Regex, wenn die Senke als Format json oder xml angibt
Delimiter Erforderlich für Delimited
HeaderPattern Optional für Delimited
Headers Optional für Delimited
RecordPattern Optional für Delimited
CommentPattern Optional für Delimited
TimeZoneKind Optional für Regex, Timestamp, SysLog und SingleLineJson, wenn ein Zeitstempel-Feld identifiziert wird
SkipLines Optional für alle

ExchangeLogSource-Konfiguration

Der ExchangeLogSource-Typ wird verwendet, um Protokolle von Microsoft Exchange zu sammeln. Exchange erstellt Protokolle in mehrere verschiedene Protokollformaten. Dieser Quelltyp analysiert alle von ihnen. Es ist zwar auch möglich, sie unter Verwendung des Typs DirectorySource mit dem Datensatz-Parser Regex zu analysieren, aber wesentlich einfacher, ExchangeLogSource zu verwenden. Dies liegt daran, dass Sie für die Protokolldateiformate keine regulären Ausdrücke entwerfen und bereitstellen müssen. Es folgt ein Beispiel für eine ExchangeLogSource-Deklaration:

{ "Id": "MyExchangeLog", "SourceType": "ExchangeLogSource", "Directory": "C:\\temp\\ExchangeLogTest", "FileNameFilter": "*.log" }

Alle Exchange-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "ExchangeLogSource" sein (erforderlich).

Directory

Der Pfad zum Verzeichnis mit den Protokolldateien (erforderlich).

FileNameFilter

Schränkt optional den Satz von Dateien in dem Verzeichnis ein, in dem Protokolldaten basierend auf einem Dateibenennungsmuster mit Platzhaltern gesammelt werden. Wenn dieses Schlüssel-Wert-Paar nicht angegeben wird, werden standardmäßig Protokolldaten aus allen Dateien im Verzeichnis gesammelt.

TimestampField

Der Name der Spalte enthält das Datum und die Uhrzeit für den Datensatz. Dieses Schlüssel-Wert-Paar ist optional und muss nicht angegeben werden, wenn der Feldname date-time oder DateTime lautet. Andernfalls ist er erforderlich.

W3SVCLogSource-Konfiguration

Der Typ W3SVCLogSource wird verwendet, um Protokolle von Internet Information Services (IIS) für Windows zu sammeln.

Es folgt ein Beispiel für eine W3SVCLogSource-Deklaration:

{ "Id": "MyW3SVCLog", "SourceType": "W3SVCLogSource", "Directory": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "FileNameFilter": "*.log" }

Alle W3SVCLogSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "W3SVCLogSource" sein (erforderlich).

Directory

Der Pfad zum Verzeichnis mit den Protokolldateien (erforderlich).

FileNameFilter

Schränkt optional den Satz von Dateien in dem Verzeichnis ein, in dem Protokolldaten basierend auf einem Dateibenennungsmuster mit Platzhaltern gesammelt werden. Wenn dieses Schlüssel-Wert-Paar nicht angegeben wird, werden standardmäßig Protokolldaten aus allen Dateien im Verzeichnis gesammelt.

UlsSource-Configuration

Der UlsSource-Typ wird verwendet, um Protokolle von Microsoft SharePoint zu sammeln. Es folgt ein Beispiel für eine UlsSource-Deklaration:

{ "Id": "UlsSource", "SourceType": "UlsSource", "Directory": "C:\\temp\\uls", "FileNameFilter": "*.log" }

Alle UlsSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "UlsSource" sein (erforderlich).

Directory

Der Pfad zum Verzeichnis mit den Protokolldateien (erforderlich).

FileNameFilter

Schränkt optional den Satz von Dateien in dem Verzeichnis ein, in dem Protokolldaten basierend auf einem Dateibenennungsmuster mit Platzhaltern gesammelt werden. Wenn dieses Schlüssel-Wert-Paar nicht angegeben wird, werden standardmäßig Protokolldaten aus allen Dateien im Verzeichnis gesammelt.

WindowsEventLogSource-Konfiguration

Der Typ WindowsEventLogSource wird verwendet, um Ereignisse vom Windows-Ereignisprotokoll-Service zu sammeln. Es folgt ein Beispiel für eine WindowsEventLogSource-Deklaration:

{ "Id": "mySecurityLog", "SourceType": "WindowsEventLogSource", "LogName": "Security" }

Alle WindowsEventLogSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "WindowsEventLogSource" sein (erforderlich).

LogName

Ereignisse werden aus dem angegebenen Protokoll gesammelt. Geläufige Werte sind Application, Security und System, Sie können aber einen beliebigen gültigen Windows-Ereignisprotokollnamen angeben. Dieser Schlüssel-Wert-Paar ist erforderlich.

Query

Schränkt optional ein, welche Ereignisse von WindowsEventLogSource ausgegeben werden. Wenn dieses Schlüssel-Wert-Paar nicht angegeben wird, werden standardmäßig alle Ereignisse ausgegeben. Weitere Informationen zur Syntax dieses Wertes finden Sie unter Event Queries and Event XML in der Windows-Dokumentation. Weitere Informationen zu Definitionen auf Protokollebene finden Sie unter Event Types in der Windows-Dokumentation.

IncludeEventData

Ermöglicht optional das Sammeln und Streamen von anbieterspezifischen Ereignisdaten im Zusammenhang mit Ereignissen aus dem angegebenen Windows-Ereignisprotokoll, wenn der Wert des Schlüssel-Wert-Paares "true" ist. Eingeschlossen werden nur Ereignisdaten, die erfolgreich serialisiert werden können. Dieses Schlüssel-Wert-Paar ist optional. Wenn es nicht angegeben wird, werden keine anbieterspezifische Ereignisdaten gesammelt.

Anmerkung

Wenn Ereignisdaten eingeschlossen werden, könnte sich die von dieser Quelle gestreamte Datenmenge signifikant erhöhen. Die maximale Größe eines Ereignisses mit eingeschlossenen Ereignisdaten kann 262.143 Bytes betragen.

Die analysierte Ausgabe von WindowsEventLogSource enthält die folgenden Informationen:

Attribut Typ Beschreibung
EventId Int Die ID der Art von Ereignisses.
Description Zeichenfolge Text zur Beschreibung der Details des Ereignisses.
LevelDisplayName Zeichenfolge Die Kategorie des Ereignisses (Fehler, Warnung, Informationen, Erfolgsüberwachung, Fehlerüberwachung).
LogName Zeichenfolge Wo das Ereignis aufgezeichnet wurde (typische Werte sind Application, Security und System, aber es gibt zahlreiche Möglichkeiten).
MachineName Zeichenfolge Von welchem Computer das Ereignis aufgezeichnet wurde.
ProviderName Zeichenfolge Von welcher Anwendung oder welchem Service das Ereignis aufgezeichnet wurde.
TimeCreated Zeichenfolge Wann das Ereignis aufgetreten ist, im ISO 8601-Format.
Index Int An welcher Stelle im Protokoll sich das Ereignis befindet.
UserName Zeichenfolge Wer den Eintrag verfasst hat, sofern bekannt.
Keywords Zeichenfolge Der Ereignistyp. Standard-Werte sind AuditFailure (fehlgeschlagene Sicherheitsüberwachungsereignisse), AuditSuccess (erfolgreiche Sicherheitsüberwachungsereignisse), Classic (mit der Funktion RaiseEvent gemeldete Ereignisse), Correlation Hint (Übertragungsereignisse), SQM (Ereignisse des Servicequalitätsmechanismus), WDI Context (Kontextereignisse der Windows Diagnostic Infrastructure) und WDI Diag (Diagnoseereignisse der Windows Diagnostic Infrastructure).
EventData Liste von Objekten Optionale anbieterspezifische zusätzliche Daten über das Protokollereignis. Diese werden nur eingeschlossen, wenn der Wert für das IncludeEventData-Schlüssel-Wert-Paar "true" lautet.

Es folgt ein Beispiel eines in das JSON-Format umgewandelten Ereignisses:

{[ "EventId": 7036, "Description": "The Amazon SSM Agent service entered the stopped state.", "LevelDisplayName": "Informational", "LogName": "System", "MachineName": "mymachine.mycompany.com", "ProviderName": "Service Control Manager", "TimeCreated": "2017-10-04T16:42:53.8921205Z", "Index": 462335, "UserName": null, "Keywords": "Classic", "EventData": [ "Amazon SSM Agent", "stopped", "rPctBAMZFhYubF8zVLcrBd3bTTcNzHvY5Jc2Br0aMrxxx==" ]}

WindowSeventLogPollingSource-Konfiguration

WindowsEventLogPollingSourceverwendet einen abfragebasierten Mechanismus, um alle neuen Ereignisse aus dem Ereignisprotokoll zu sammeln, die den konfigurierten Parametern entsprechen. Das Abrufintervall wird dynamisch zwischen 100 ms und 5000 ms aktualisiert, je nachdem, wie viele Ereignisse während der letzten Umfrage gesammelt wurden. Es folgt ein Beispiel für eine WindowsEventLogPollingSource-Deklaration:

{ "Id": "MySecurityLog", "SourceType": "WindowsEventLogPollingSource", "LogName": "Security", "IncludeEventData": "true", "Query": "", "CustomFilters": "ExcludeOwnSecurityEvents" }

Alle WindowsEventLogPollingSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "WindowsEventLogPollingSource" sein (erforderlich).

LogName

Gibt das Protokoll an. Gültige Optionen sind:Application,Security,Systemoder andere gültige Protokolle.

IncludeEventData

Optional. Wanntrue, gibt an, dass zusätzliche EventData beim Streamen als JSON und XML enthalten ist. Der Standardwert ist false.

Query

Optional. Windows-Ereignisprotokolle unterstützen das Abfragen von Ereignissen mithilfe von XPath-Ausdrücken, die Sie mitQuery. Weitere Informationen finden Sie unterEreignisabfragen und Ereignis-XMLin der Microsoft-Dokumentation.

CustomFilters

Optional. Eine Liste von Filtern, die durch ein Semikolon getrennt sind (;) enthalten. Die folgenden Filter können angegeben werden.

ExcludeOwnSecurityEvents

Schließt Sicherheitsereignisse aus, die von Kinesis Agent für Windows selbst generiert wurden.

WindowsETWEventSource-Konfiguration

Der WindowsETWEventSource-Typ wird verwendet, um Ereignisablaufverfolgungen für Anwendungen und Services mithilfe der Funktion Event Tracing for Windows (ETW) zu sammeln. Weitere Informationen finden Sie unter Event Tracing in der Windows-Dokumentation.

Es folgt ein Beispiel für eine WindowsETWEventSource-Deklaration:

{ "Id": "ClrETWEventSource", "SourceType": "WindowsETWEventSource", "ProviderName": "Microsoft-Windows-DotNETRuntime", "TraceLevel": "Verbose", "MatchAnyKeyword": 32768 }

Alle WindowsETWEventSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "WindowsETWEventSource" sein (erforderlich).

ProviderName

Gibt an, welcher Ereignisanbieter zum Sammeln von Ablaufverfolgungsereignissen verwendet werden soll. Dies muss ein gültiger ETW-Anbietername für einen installierten Anbieter sein. Um zu bestimmen, welche Anbieter installiert sind, führen Sie in einem Windows-Befehlszeilenfenster Folgendes aus:

logman query providers
TraceLevel

Gibt an, welche Kategorien von Ablaufverfolgungsereignissen erfasst werden sollen. Zulässige Werte sind Critical, Error, Warning, Informational und Verbose. Die genaue Bedeutung ist von dem jeweils ausgewählten ETW-Anbieter abhängig.

MatchAnyKeyword

Dieser Wert ist eine 64-Bit-Zahl, bei der jedes Bit ein einzelnes Schlüsselwort darstellt. Jedes Schlüsselwort beschreibt eine Kategorie von Ereignissen, die erfasst werden sollen. Informationen zu den unterstützten Schlüsselwörtern und deren Werten und Beziehung zu TraceLevel finden Sie in der Dokumentation des Anbieters. Beispiel: Informationen über den CLR-ETW-Anbieter finden Sie unter CLR ETW Keywords and Levels in der Microsoft .NET Framework-Dokumentation.

Im vorherigen Beispiel stellt 32768 (0x00008000) das ExceptionKeyword für den CLR-ETW-Anbieter dar, durch das der Anbieter angewiesen wird, Informationen zu den ausgelösten Ausnahmen zu erfassen. Obwohl JSON keine Hex-Konstanten unterstützt, können Sie sie für MatchAnyKeyword angeben, indem Sie sie in einer Zeichenfolge platzieren. Sie können auch mehrere, durch Kommata getrennte Konstanten eingeben. Führen Sie z. B. die folgenden Schritt durch, um sowohl ExceptionKeyword als auch SecurityKeyword (0x00000400) anzugeben:

{ "Id": "MyClrETWEventSource", "SourceType": "WindowsETWEventSource", "ProviderName": "Microsoft-Windows-DotNETRuntime", "TraceLevel": "Verbose", "MatchAnyKeyword": "0x00008000, 0x00000400" }

Um sicherzustellen, dass alle angegebenen Schlüsselwörter für einen Anbieter aktiviert sind, werden mehrere Schlüsselwortwerte mit OR miteinander kombiniert und an diesen Anbieter übergeben.

Die Ausgabe von WindowsETWEventSource enthält die folgenden Informationen für jedes Ereignis:

Attribut Typ Beschreibung
EventName Zeichenfolge Welche Art von Ereignis aufgetreten ist.
ProviderName Zeichenfolge Welcher Anbieter das Ereignis erkannt hat.
FormattedMessage Zeichenfolge Ein Text mit einer Zusammenfassung des Ereignisses.
ProcessID Int Welcher Prozess das Ereignis gemeldet hat.
ExecutingThreadID Int Welcher Thread innerhalb der Prozesses das Ereignis gemeldet hat.
MachineName Zeichenfolge Der Name des Desktops oder Servers, von dem das Ereignis gemeldet wird.
Payload Hashtabelle Eine Tabelle mit einem Zeichenfolgenschlüssel und jeder Art von Objekt als Wert. Der Schlüssel ist der Name des Nutzlastelements und der Wert ist der Wert des Nutzlastelements. Die Nutzlast ist anbieterabhängig.

Es folgt ein Beispiel eines in das JSON-Format umgewandelten Ereignisses:

{ "EventName": "Exception/Start", "ProviderName": "Microsoft-Windows-DotNETRuntime", "FormattedMessage": "ExceptionType=System.Exception;\r\nExceptionMessage=Intentionally unhandled exception.;\r\nExceptionEIP=0x2ab0499;\r\nExceptionHRESULT=-2,146,233,088;\r\nExceptionFlags=CLSCompliant;\r\nClrInstanceID=9 ", "ProcessID": 3328, "ExecutingThreadID": 6172, "MachineName": "MyHost.MyCompany.com", "Payload": { "ExceptionType": "System.Exception", "ExceptionMessage": "Intentionally unhandled exception.", "ExceptionEIP": 44762265, "ExceptionHRESULT": -2146233088, "ExceptionFlags": 16, "ClrInstanceID": 9 } }

WindowsPerformanceCounterSource-Konfiguration

Der WindowsPerformanceCounterSource-Typ erfasst die Leistungsindikator-Metriken von Windows. Es folgt ein Beispiel für eine WindowsPerformanceCounterSource-Deklaration:

{ "Id": "MyPerformanceCounter", "SourceType": "WindowsPerformanceCounterSource", "Categories": [{ "Category": "Server", "Counters": ["Files Open", "Logon Total", "Logon/sec", "Pool Nonpaged Bytes"] }, { "Category": "System", "Counters": ["Processes", "Processor Queue Length", "System Up Time"] }, { "Category": "LogicalDisk", "Instances": "*", "Counters": [ "% Free Space", "Avg. Disk Queue Length", { "Counter": "Disk Reads/sec", "Unit": "Count/Second" }, "Disk Writes/sec" ] }, { "Category": "Network Adapter", "Instances": "^Local Area Connection\* \d$", "Counters": ["Bytes Received/sec", "Bytes Sent/sec"] } ] }

Alle WindowsPerformanceCounterSource-Deklarationen können die folgenden Schlüssel-Wert-Paare angeben:

SourceType

Muss die Literalzeichenfolge "WindowsPerformanceCounterSource" sein (erforderlich).

Categories

Gibt einen Satz von Leistungsindikator-Metrikgruppen an, die von Windows erfasst werden sollen. Jede Metrikgruppe enthält die folgenden Schlüssel-Wert-Paare:

Category

Gibt den Leistungsindikatorsatz von Metriken an, die erfasst werden sollen (erforderlich).

Instances

Gibt den Satz relevanter Objekte an, wenn ein eindeutiger Satz von Leistungsindikatoren pro Objekt vorhanden ist. Wenn die Kategorie beispielsweise LogicalDisk lautet, ist ein Satz von Leistungsindikatoren pro Festplattenlaufwerk vorhanden. Dieses Schlüssel-Wert-Paar ist optional. Sie könne die Platzhalter * und ? verwenden, um mehrere Instances abzugleichen. Um Werte für alle Instances zu aggregieren, geben Sie _Total an.

Sie können auchInstanceRegex, die reguläre Ausdrücke akzeptiert, die die*Platzhalterzeichen als Teil des Instanznamens.

Counters

Gibt an, welche Metriken für die angegebene Kategorie zu sammeln sind. Dieser Schlüssel-Wert-Paar ist erforderlich. Sie könne die Platzhalter * und ? verwenden, um mehrere Leistungsindikatoren abzugleichen. Sie können Counters nur nach Namen oder nach Namen und Einheit angeben. Wenn keine Leistungsindikatoreinheiten angegeben werden, versucht Kinesis Agent für Windows, die Einheiten vom Namen abzuleiten. Wenn diese Inferenzen falsch sind, kann die Einheit explizit angegeben werden. Sie können die Counter-Namen auf Wunsch ändern. Die komplexere Darstellung eines Leisungsindikators ist ein Objekt mit den folgenden Schlüssel-Wert-Paaren:

Counter

Der Name des Leistungsindikators. Dieser Schlüssel-Wert-Paar ist erforderlich.

Rename

Der der Senke anzuzeigende Name des Leistungsindikators. Dieses Schlüssel-Wert-Paar ist optional.

Unit

Die Bedeutung des Wertes, der mit dem Leistungsindikator verknüpft ist. Eine vollständige Liste gültiger Namen für Einheiten finden Sie in der Dokumentation zu Einheiten unterMetricDatum, mit derimAmazon CloudWatch ch-API-Referenz.

Es folgt ein Beispiel für eine komplexe Leistungsindikator-Spezifikation:

{ "Counter": "Disk Reads/sec, "Rename": "Disk Reads per second", "Unit": "Count/Second" }

WindowsPerformanceCounterSourceKann nur mit einer Pipe verwendet werden, die eine Amazon CloudWatch ch-Senke angibt. Verwenden Sie eine separate Senke, wenn integrierte -Metriken von Kinesis Agent für Windows auch zu CloudWatch gestreamt werden. Überprüfen Sie nach dem Start des -Service das Kinesis Agent für Windows-Protokoll, welche Einheiten für Leistungsindikatoren abgeleitet wurden, wenn keine Einheiten in denWindowsPerformanceCounterSource-Deklarationen. Bestimmen Sie mithilfe von PowerShell die gültigen Namen für Kategorien, Instances und Leistungsindikatoren.

Um Informationen zu allen Kategorien, einschließlich mit Leistungsindikatorsätzen verknüpften Leistungsindikatoren, anzuzeigen, führen Sie diesen Befehl in einem PowerShell-Fenster aus:

Get-Counter -ListSet * | Sort-Object

Um zu bestimmen, welche Instances für jeden der Leistungsindikatoren im Leistungsindikatorsatz verfügbar sind, führen Sie in einem PowerShell-Fenster einen Befehl wie den folgenden aus:

Get-Counter -Counter "\Process(*)\% Processor Time"

Der Wert des Counter-Parameters sollte einer der Pfade aus einem untergeordneten PathsWithInstances-Elements sein, das durch den vorherigen Get-Counter -ListSet-Befehlsaufruf aufgeführt wurde.

Integrierte Quelle von Kinesis Agent für Windows -Metriken: Quelle

Zusätzlich zu gewöhnlichen Metrikquellen wie demWindowsPerformanceCounterSourceTyp (sieheWindowsPerformanceCounterSource-Konfiguration), kann der -Senkentyp von CloudWatch Metriken von einer besonderen Quelle erhalten, die Metriken zu Kinesis Agent für Windows selbst erfasst. Kinesis Agent für Windows-Metriken sind auch im BereichKinesisTap-Kategorie von Windows-Leistungsindikatoren.

DieMetricsFilterDas -Schlüssel-Wert-Paar für die CloudWatch enken-Deklarationen gibt an, welche Metriken von der integrierten -Kinesis Agent für Windows-Metrikenquelle an CloudWatch gestreamt werden. Der Wert ist eine Zeichenfolge mit einem oder mehreren Filterausdrücken, die durch Semikolons getrennt sind, z. B.:

"MetricsFilter": "FilterExpression1;FilterExpression2"

Eine Metrik, die mit einem oder mehreren Filterausdrücken übereinstimmt, wird zu CloudWatch gestreamt.

Einzel-Instance-Metriken sind global und nicht an eine bestimmte Quelle oder Senke gebunden. Mehrfach-Instance-Metriken sind dimensional basierend auf der Id der Quell- oder Senken-Deklaration. Jeder Quell- oder Senkentyp kann über einen anderen Satz von Metriken verfügen.

Eine Liste integrierter -Metriknamen von Kinesis Agent für Windows finden Sie unterListe der Kinesis Agent für Windows-Metriken.

Bei Einzel-Instance-Metriken ist der Filterausdruck der Name der Metrik, z. B.:

"MetricsFilter": "SourcesFailedToStart;SinksFailedToStart"

Bei Mehrfach-Instance-Metriken ist der Filterausdruck der Name der Metrik, ein Punkt (.) und dann die Id der Quell- oder Senken-Deklaration, von der die Metrik generiert wurde. Angenommen, die Id einer Senken-Deklaration lautet MyFirehose:

"MetricsFilter": "KinesisFirehoseRecordsFailedNonrecoverable.MyFirehose"

Sie können in diesem Fall spezielle Platzhaltermuster verwenden, die zwischen Einzel-Instance- und Mehrfach-Instance-Metriken unterscheiden.

  • Das Sternchen (*) entspricht null oder mehreren Zeichen außer einem Punkt (.).

  • Das Fragezeichen (?) entspricht jedem beliebigen Zeichen außer einem Punkt.

  • Alle anderen Zeichen entsprechen nur ihnen selbst.

  • _Total ist ein spezielles Token, das die Aggregation aller übereinstimmenden Werte mehrerer Instances für die Dimension bewirkt.

Das folgende Beispiel entspricht allen Einzel-Instance-Metriken:

"MetricsFilter": "*"

Da ein Sternchen keinem Punkt entspricht, werden nur Einzel-Instance-Metriken eingeschlossen.

Das folgende Beispiel entspricht allen Mehrfach-Instance-Metriken:

"MetricsFilter": "*.*"

Das folgende Beispiel entspricht allen Metriken (Einzel- und Mehrfach-Instance):

"MetricsFilter": "*;*.*"

Das folgende Beispiel fasst alle Mehrfach-Instance-Metriken für alle Quellen und Senken zusammen:

"MetricsFilter": "*._Total"

Im folgenden Beispiel werden alle Kinesis Data Firehose -Metriken für alle Kinesis Data Firehose Senken aggregiert:

"MetricsFilter": "*Firehose*._Total"

Das folgende Beispiel entspricht allen Einzel- und Mehrfach-Instance-Fehlermetriken:

"MetricsFilter": "*Failed*;*Error*.*;*Failed*.*"

Das folgende Beispiel entspricht allen nicht wiederherstellbaren Fehlermetriken, die für alle Quellen und Senken aggregiert werden:

"MetricsFilter": "*Nonrecoverable*._Total"

Informationen dazu, wie eine Pipe angegeben wird, die die integrierte -Metrikquelle von Kinesis Agent für Windows verwendet, finden Sie unterKonfigurieren von Kinesis Agent für Windows-Metrik-Pipes.

Liste der Kinesis Agent für Windows-Metriken

Im Folgenden finden Sie eine Liste der Einzel-Instance- und Mehrfach-Instance-Metriken, die für Kinesis Agent für Windows verfügbar sind.

Einzel-Instance-Metriken

Die folgenden Einzel-Instance-Metriken sind verfügbar:

KinesisTapBuildNumber

Die Versionsnummer von Kinesis Agent für Windows.

PipesConnected

Anzahl von Pipes, die ihre Quelle erfolgreich mit ihrer Senke verbunden haben.

PipesFailedToConnect

Anzahl von Pipes, die ihre Quelle nicht erfolgreich mit ihrer Senke verbunden haben.

SinkFactoriesFailedToLoad

Anzahl von Senkungsarten, die nicht erfolgreich in Kinesis Agent für Windows geladen wurden.

SinkFactoriesLoaded

Anzahl von Senkungsarten, die erfolgreich in Kinesis Agent für Windows geladen wurden.

SinksFailedToStart

Anzahl von Senken, die gewöhnlich aufgrund inkorrekter Senken-Deklarationen nicht erfolgreich gestartet wurden.

SinksStarted

Anzahl von Senken, die erfolgreich gestartet wurden.

SourcesFailedToStart

Anzahl von Quellen, die gewöhnlich aufgrund inkorrekter Quell-Deklarationen nicht erfolgreich gestartet wurden.

SourcesStarted

Anzahl von Quellen, die erfolgreich gestartet wurden.

SourceFactoriesFailedToLoad

Anzahl von Quelltypen, die nicht erfolgreich in Kinesis Agent für Windows geladen wurden.

SourceFactoriesLoaded

Anzahl von Quelltypen, die erfolgreich in Kinesis Agent für Windows geladen wurden.

Mehrfach-Instance-Metriken

Die folgenden Mehrfach-Instance-Metriken sind verfügbar:

DirectorySource-Metriken

DirectorySourceBytesRead

Anzahl von Bytes, die während des Intervalls für diese DirectorySource gelesen wurden.

DirectorySourceBytesToRead

Anzahl der bekannten zum Lesen verfügbare Bytes, die von Kinesis Agent für Windows noch nicht gelesen wurden.

DirectorySourceFilesToProcess

Anzahl von bekannten zu untersuchenden bekannten Dateien, die von Kinesis Agent für Windows noch nicht untersucht wurden.

DirectorySourceRecordsRead

Anzahl von Datensätzen, die während des Intervalls für diese DirectorySource gelesen wurden.

WindowsEventLogSource-Metriken

EventLogSourceEventsError

Anzahl von Windows-Ereignisprotokoll-Ereignissen, die nicht erfolgreich gelesen wurden.

EventLogSourceEventsRead

Anzahl von Windows-Ereignisprotokoll-Ereignissen, die erfolgreich gelesen wurden.

KinesisFirehose-Senken-Metriken

KinesisFirehoseBytesAccepted

Anzahl von Bytes, die während des Intervalls akzeptiert wurden.

KinesisFirehoseClientLatency

Zeitspanne, die zwischen dem Erstellen und dem Streamen des Datensatzes an den -Service von Kinesis Data Firehose verstrichen ist.

KinesisFirehoseLatency

Zeitspanne, die zwischen dem Beginn und dem Ende des Datensatz-Streamings für den Kinesis Data Firehose -Service verstrichen ist.

KinesisFirehoseNonrecoverableServiceErrors

Häufigkeit, mit der Datensätze trotz Neuversuche nicht fehlerfrei an den Kinesis Data Firehose -Service gesendet werden konnten.

KinesisFirehoseRecordsAttempted

Anzahl von Datensätzen, bei denen das Streamen an den Kinesis Data Firehose -Service versucht wurde.

KinesisFirehoseRecordsFailedNonrecoverable

Anzahl von Datensätzen, die trotz Wiederholungsversuche nicht erfolgreich an den Kinesis Data Firehose -Service gestreamt wurden.

KinesisFirehoseRecordsFailedRecoverable

Anzahl von Datensätzen, die erfolgreich an den Kinesis Data Firehose -Service gestreamt wurden, aber nur mit Wiederholungsversuchen.

KinesisFirehoseRecordsSuccess

Anzahl von Datensätzen, die erfolgreich ohne Wiederholungsversuche an den Kinesis Data Firehose -Service gestreamt wurden.

KinesisFirehoseRecoverableServiceErrors

Häufigkeit, mit der Datensätze erfolgreich an den Kinesis Data Firehose -Service gesendet werden konnten, aber nur mit Wiederholungsversuchen.

KinesisStream-Metrics

KinesisStreamBytesAccepted

Anzahl von Bytes, die während des Intervalls akzeptiert wurden.

KinesisStreamClientLatency

Zeitspanne, die zwischen dem Erstellen und dem Streamen des Datensatzes an den -Service für Kinesis Data Streams verstrichen ist.

KinesisStreamLatency

Zeitspanne, die zwischen dem Beginn und dem Ende des Datensatz-Streamings für den -Service Kinesis Data Streams verstrichen ist.

KinesisStreamNonrecoverableServiceErrors

Häufigkeit, mit der Datensätze trotz Neuversuche nicht fehlerfrei an den Kinesis Data Streams -Service gesendet werden konnten.

KinesisStreamRecordsAttempted

Anzahl von Datensätzen, bei denen das Streamen an den Kinesis Data Streams -Service versucht wurde.

KinesisStreamRecordsFailedNonrecoverable

Anzahl von Datensätzen, die trotz Wiederholungsversuche nicht erfolgreich an den Kinesis Data Streams -Service gestreamt wurden.

KinesisStreamRecordsFailedRecoverable

Anzahl von Datensätzen, die erfolgreich an den Kinesis-Datenstream-Service gestreamt wurden, aber nur mit Wiederholungsversuchen.

KinesisStreamRecordsSuccess

Anzahl von Datensätzen, die erfolgreich ohne Wiederholungsversuche an den Kinesis Data Streams -Service gestreamt wurden.

KinesisStreamRecoverableServiceErrors

Häufigkeit, mit der Datensätze erfolgreich an den Kinesis Data Streams -Service gesendet werden konnten, aber nur mit Wiederholungsversuchen.

CloudWatchLog-Metriken

CloudWatchLogBytesAccepted

Anzahl von Bytes, die während des Intervalls akzeptiert wurden.

CloudWatchLogClientLatency

Anzahl von Datensatz-Generierung und Datensatz-Streamen an den CloudWatch Logs -Service.

CloudWatchLogLatency

Zeitspanne, die zwischen dem Beginn und dem Ende des Datensatz-Streamings für den CloudWatch Logs -Service verstrichen ist.

CloudWatchLogNonrecoverableServiceErrors

Häufigkeit, mit der Datensätze trotz Wiederholungsversuche nicht fehlerfrei an den CloudWatch Logs -Service gesendet werden konnten.

CloudWatchLogRecordsAttempted

Anzahl von Datensätzen, bei denen das Streamen an den CloudWatch Logs -Service versucht wurde.

CloudWatchLogRecordsFailedNonrecoverable

Anzahl von Datensätzen, die trotz Wiederholungsversuche nicht erfolgreich an den CloudWatch Logs -Service gestreamt wurden.

CloudWatchLogRecordsFailedRecoverable

Anzahl von Datensätzen, die erfolgreich an den CloudWatch Logs -Service gestreamt wurden, aber nur mit Wiederholungsversuchen.

CloudWatchLogRecordsSuccess

Anzahl von Datensätzen, die erfolgreich ohne Wiederholungsversuche an den CloudWatch Logs -Service gestreamt wurden.

CloudWatchLogRecoverableServiceErrors

Häufigkeit, mit der Datensätze erfolgreich an den CloudWatch Logs -Service gesendet werden konnten, aber nur mit Wiederholungsversuchen.

CloudWatch-Metriken

CloudWatchLatency

Durchschnittliche Zeitspanne, die zwischen dem Beginn und dem Ende des Metrik-Streamings für den CloudWatch -Service verstrichen ist.

CloudWatchNonrecoverableServiceErrors

Häufigkeit, mit der Metriken trotz Wiederholungsversuche nicht fehlerfrei an den CloudWatch ch-Service gesendet werden konnten.

CloudWatchRecoverableServiceErrors

Häufigkeit, mit der Metriken fehlerfrei an den CloudWatch ch-Service gesendet wurden, aber nur mit Wiederholungsversuchen.

CloudWatchServiceSuccess

Häufigkeit, mit der Metriken fehlerfrei an den CloudWatch ch-Service gesendet wurden, ohne erforderliche Wiederholungsversuche.

Lesezeichen-Konfiguration

Standardmäßig sendet Kinesis Agent für Windows Protokolldatensätze an Senken, die nach dem Starten des Agenten erstellt werden. Manchmal ist es sinnvoll, frühere Protokolldatensätze zu senden, z. B. Protokolldatensätze, die in dem Zeitraum erstellt werden, wenn Kinesis Agent für Windows während einer automatischen Aktualisierung gestoppt wird. Die Lesezeichen-Funktion verfolgt, welche Datensätze zu Senken gesendet wurden. Wenn Kinesis Agent für Windows im Lesezeichenmodus gestartet wird, sendet er alle Protokolldatensätze, die erstellt wurden, nachdem Kinesis Agent für Windows gestoppt wurde, zusammen mit allen anschließend erstellten Protokolldatensätzen. Zur Steuerung dieses Verhaltens können dateibasierte Quell-Deklarationen optional die folgenden Schlüssel-Wert-Paare enthalten:

InitialPosition

Gibt die anfängliche Situation für das Lesezeichen an. Die möglichen Werte lauten wie folgt:

EOS

Legt das Ende des Streams- (EOS) fest. Es werden nur Protokolldatensätze, die bei aktiven Agenten erstellt wurden, an Senken gesendet.

0

Alle verfügbaren Protokolldatensätze und Ereignisse werden anfänglich gesendet. Danach wird ein Lesezeichen erstellt, um sicherzustellen, dass alle Protokolldatensätze und Ereignisse, die nach dem Hinzufügen des Lesezeichens erstellt wurden, auf alle Fälle gesendet werden, egal ob Kinesis Agent für Windows aktiv ist oder ob nicht.

Bookmark

Das Lesezeichen wird direkt nach dem neuesten Protokolldatensatz oder Ereignis initialisiert. Danach wird ein Lesezeichen erstellt, um sicherzustellen, dass alle Protokolldatensätze und Ereignisse, die nach dem Hinzufügen des Lesezeichens erstellt wurden, auf alle Fälle gesendet werden, egal ob Kinesis Agent für Windows aktiv ist oder ob nicht.

Standardmäßig sind Lesezeichen aktiviert. Dateien werden in der Eigenschaft%ProgramData%\Amazon\KinesisTap-Verzeichnis.

Timestamp

Es werden Protokolldatensätze und Ereignisse gesendet, die nach dem Wert InitialPositionTimestamp (Definition folgt) erstellt wurden. Danach wird ein Lesezeichen erstellt, um sicherzustellen, dass alle Protokolldatensätze und Ereignisse, die nach dem Hinzufügen des Lesezeichens erstellt wurden, auf alle Fälle gesendet werden, egal ob Kinesis Agent für Windows aktiv ist oder ob nicht.

InitialPositionTimestamp

Gibt den von Ihnen gewünschten frühesten Protokolldatensatz- oder Ereigniszeitstempel an. Geben Sie dieses Schlüssel-Wert-Paar nur dann an, wenn der Parameter InitialPosition den Wert Timestamp hat.

BookmarkOnBufferFlush

Diese Einstellung kann beliebigen Lesezeichenquellen hinzugefügt werden. Bei Einstellung auftrue, stellt sicher, dass Lesezeichenaktualisierungen nur durchgeführt werden, wenn eine Senke erfolgreich ein Ereignis an AWS versendet. Sie können nur eine einzelne Senke für eine Quelle abonnieren. Wenn Sie Protokolle an mehrere Ziele senden, duplizieren Sie Ihre Quellen, um potenzielle Probleme mit Datenverlust zu vermeiden.

Wenn Kinesis Agent für Windows für eine lange Zeit angehalten wurde, müssen diese Lesezeichen möglicherweise gelöscht werden, da die mit einem Lesezeichen versehenen Protokolldatensätze und Ereignisse möglicherweise nicht mehr vorhanden sind. Lesezeichendateien für eine bestimmte Quell-ID befinden sich in %PROGRAMDATA%\Amazon\AWSKinesisTap\source id.bm.

Lesezeichen funktionieren nicht bei Dateien, die umbenannt oder abgeschnitten wurden. ETW-Ereignisse und Leistungsindikatoren können aufgrund ihrer Beschaffenheit nicht mit einem Lesezeichen versehen werden.