

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
<a name="source-object-declarations"></a>

In Amazon Kinesis Agent für Microsoft Windows*Quell-Deklarationen*Geben 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](configuring-kaw-examples.md#configuring-kaw-examples-sources). 

**Topics**
+ [DirectorySource-Konfiguration](#directory-source-configuration)
+ [ExchangeLogSource-Konfiguration](#exchange-source-configuration)
+ [W3SVCLogSource-Konfiguration](#iis-source-configuration)
+ [UlsSource-Configuration](#sharepoint-source-configuration)
+ [WindowsEventLogSource-Konfiguration](#window-event-source-configuration)
+ [WindowSeventLogPollingSource-Konfiguration](#eventlogpolling-source-configuration)
+ [WindowsETWEventSource-Konfiguration](#etw-source-configuration)
+ [WindowsPerformanceCounterSource-Konfiguration](#performance-counter-source-configuration)
+ [Integrierte Quelle von Kinesis Agent für Windows -Metriken: Quelle](#kinesis-agent-builin-metrics-source)
+ [Liste der Kinesis Agent für Windows-Metriken](#kinesis-agent-metric-list)
+ [Lesezeichen-Konfiguration](#advanced-source-configuration)

## DirectorySource-Konfiguration
<a name="directory-source-configuration"></a>

### Overview
<a name="directory-source-configuration-overview"></a>

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 einzelne`DirectorySource`Verwenden Sie, wie im folgenden Beispiel gezeigt.  

```
FileNameFilter: "*.log|*.txt"
```
Systemadministratoren komprimieren manchmal Protokolldateien, bevor sie archiviert werden. Wenn Sie`"*.*"`in`FileNameFilter`, werden bekannte komprimierte Dateien jetzt ausgeschlossen. Diese Funktion verhindert`.zip`,`.gz`, und`.bz2`Dateien 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](sink-object-declarations.md#configuring-kinesis-agent-windows-decoration-configuration). 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](directory-source-to-s3-tutorial.md).
+ `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 das[syslog](https://en.wikipedia.org/wiki/Syslog)Standardformat. 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](https://en.wikipedia.org/wiki/Unix_time). Weitere Informationen zu .NET-Formatzeichenfolgen für Datum/Uhrzeit finden Sie unter [Custom Date and Time Format Strings](https://docs.microsoft.com/en-us/dotnet/standard/base-types/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 Option`Regex`Datensatzparser 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.   
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.   
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 der`TimeZoneKind`Wert ist`Local`Die 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 unter[Liste der Kodierungen](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.8#list-of-encodings)in der Microsoft .NET-Dokumentation.

ExtractionRegexOptions  
Sie können die Verwendung von`ExtractionRegexOptions`Regulä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 Dokumentation[RegExOptions-Aufzählungsum](https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regexoptions?view=netframework-4.7.2#fields)in der Microsoft .NET-Dokumentation.

### `Regex`-Datensatz-Parser
<a name="directory-source-configuration-regex"></a>



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.

1. Ein oder mehrere Wortzeichen in eckigen Klammern.

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

   1. Das vierstellige Jahr

   1. Ein Schrägstrich

   1. Der zweistellige Monat

   1. Ein Schrägstrich

   1. Der zweistellige Tag

   1. Ein Leerzeichen

   1. Die zweistellige Stunde

   1. Ein Doppelpunkt

   1. Die zweistellige Minute

   1. Ein Doppelpunkt

   1. Die zweistellige Sekunde

   1. Ein Punkt

   1. 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.

1. `TimeStamp`— Siehe die vorherige Beschreibung des Zeitstempels.

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

1. `SubSystem`— Ein oder mehrere Wortzeichen in eckigen Klammern.

1. `Module`— Ein oder mehrere Wortzeichen in eckigen Klammern.

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

1. Eine unbenannte Leerstelle wird übersprungen.

1. `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](https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference) in der Microsoft .NET-Dokumentation.

### `Delimited`-Datensatz-Parser
<a name="directory-source-configuration-delimited"></a>

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](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771748(v=ws.10)) 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
<a name="directory-source-configuration-syslog"></a>

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
<a name="directory-source-configuration-summary"></a>

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
<a name="exchange-source-configuration"></a>

 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
<a name="iis-source-configuration"></a>

 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
<a name="sharepoint-source-configuration"></a>

 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
<a name="window-event-source-configuration"></a>

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](https://msdn.microsoft.com/en-us/library/bb399427(v=vs.90).aspx) in der Windows-Dokumentation. Weitere Informationen zu Definitionen auf Protokollebene finden Sie unter [Event Types](https://docs.microsoft.com/en-us/windows/desktop/eventlog/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.  
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
<a name="eventlogpolling-source-configuration"></a>

`WindowsEventLogPollingSource`verwendet 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`,`System`oder andere gültige Protokolle.

`IncludeEventData`  
Optional. Wann`true`, 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 mit`Query`. Weitere Informationen finden Sie unter[Ereignisabfragen und Ereignis-XML](https://docs.microsoft.com/en-us/previous-versions/bb399427(v=vs.90))in 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
<a name="etw-source-configuration"></a>

 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](https://docs.microsoft.com/en-us/windows/desktop/etw/event-tracing-portal) 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](https://docs.microsoft.com/en-us/dotnet/framework/performance/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
<a name="performance-counter-source-configuration"></a>

 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 auch`InstanceRegex`, 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 unter[MetricDatum, mit der](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)im*Amazon 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"
}
```

`WindowsPerformanceCounterSource`Kann 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 den`WindowsPerformanceCounterSource`-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
<a name="kinesis-agent-builin-metrics-source"></a>

Zusätzlich zu gewöhnlichen Metrikquellen wie dem`WindowsPerformanceCounterSource`Typ (siehe[WindowsPerformanceCounterSource-Konfiguration](#performance-counter-source-configuration)), 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 Bereich`KinesisTap`-Kategorie von Windows-Leistungsindikatoren. 

Die`MetricsFilter`Das -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 unter[Liste der Kinesis Agent für Windows-Metriken](#kinesis-agent-metric-list).

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 unter[Konfigurieren von Kinesis Agent für Windows-Metrik-Pipes](pipe-object-declarations.md#kinesis-agent-metric-pipe-configuration).

## Liste der Kinesis Agent für Windows-Metriken
<a name="kinesis-agent-metric-list"></a>

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
<a name="single-instance-metrics"></a>

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
<a name="multiple-instance-metrics"></a>

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

#### DirectorySource-Metriken
<a name="directory-source-metrics"></a>

`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
<a name="windows-event-log-source-metrics"></a>

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

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

#### KinesisFirehose-Senken-Metriken
<a name="kinesis-firehose-sink-metrics"></a>

`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
<a name="kinesis-stream-metrics"></a>

`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
<a name="cloud-watch-log-metrics"></a>

`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
<a name="cloud-watch-metrics"></a>

`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
<a name="advanced-source-configuration"></a>

 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 auf`true`, 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.