

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ソース宣言
<a name="source-object-declarations"></a>

Microsoft Windows 向け Amazon Kinesis エージェントでは、*ソース宣言*ログデータ、イベント、メトリクスのデータを収集する場所と対象を記述します。オプションで、そうしたデータを変換できるようにデータ解析のための情報も指定します。以下のセクションでは、Windows 用 Kinesis エージェントで使用可能な組み込みソースタイプの設定について説明します。Windows 用 Kinesis Agent は拡張可能であるため、カスタムのソースタイプを追加できます。通常、各ソースタイプの設定オブジェクトには、そのソースタイプに適切な特定のキーと値のペアが必要です。

すべてのソース宣言には、少なくとも次のキーと値のペアを含める必要があります。

`Id`  
設定ファイル内で特定のソースオブジェクトを識別する一意の文字列。

`SourceType`  
このソースオブジェクトのソースタイプの名前。ソースタイプは、このソースオブジェクトによって収集されるログ、イベント、またはメトリクスのデータのオリジンを指定します。また、宣言可能なソースの他の側面を制御します。

さまざまな種類のソース宣言を使用する完全な設定ファイルの例については、[さまざまなソースから Kinesis Data Streams へのストリーミング](configuring-kaw-examples.md#configuring-kaw-examples-sources) を参照してください。

**Topics**
+ [DirectorySource 設定](#directory-source-configuration)
+ [ExchangeLogSource 設定](#exchange-source-configuration)
+ [W3SVCLogSource 設定](#iis-source-configuration)
+ [UlsSource 設定](#sharepoint-source-configuration)
+ [WindowsEventLogSource 設定](#window-event-source-configuration)
+ [WindowsEventLogPollingSource 設定](#eventlogpolling-source-configuration)
+ [WindowsETWEventSource 設定](#etw-source-configuration)
+ [WindowsPerformanceCounterSource 設定](#performance-counter-source-configuration)
+ [Windows 組み込みメトリクスソース Kinesis エージェント](#kinesis-agent-builin-metrics-source)
+ [Windows メトリックス用 Kinesis エージェントのリスト](#kinesis-agent-metric-list)
+ [ブックマーク設定](#advanced-source-configuration)

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

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

`DirectorySource` ソースタイプは、指定したディレクトリに保存されているファイルからログを収集します。ログファイルはさまざまな形式であるため、`DirectorySource` 宣言を使用してログファイルのデータの形式を指定できます。その後、ログの内容を JSON または XML などの標準形式に変換してからさまざまな AWS のサービスにストリーミングすることができます。

次に、`DirectorySource` 宣言の例を示します。

```
{
	   "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"
}
```

すべての `DirectorySource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"DirectorySource"` である必要があります (必須)。

`Directory`  
ログファイルを含むディレクトリのパス (必須)。

`FileNameFilter`  
オプションで、ログデータが収集されるディレクトリにある一連のファイルを、ワイルドカードによるファイル命名パターンに基づいて制限します。複数のログファイル名パターンがある場合、この機能により、単一の`DirectorySource`次の例に示すように、。  

```
FileNameFilter: "*.log|*.txt"
```
システム管理者は、ログファイルをアーカイブする前に圧縮することがあります。指定すると`"*.*"`が`FileNameFilter`では、既知の圧縮ファイルが除外されるようになりました。この機能により、`.zip`,`.gz`, および`.bz2`ファイルが誤ってストリーミングされないようにします。このキーと値のペアが指定されていない場合、デフォルトでは、ディレクトリにあるすべてのファイルからデータが収集されます。

`IncludeSubdirectories`  
オペレーティングシステムによって制限された任意の深さにサブディレクトリを監視するように指定します。この機能は、複数の Web サイトを持つ Web サーバーを監視する場合に便利です。また、 を使用することもできます`IncludeDirectoryFilter`属性を使用して、フィルタで指定された特定のサブディレクトリのみを監視します。

`RecordParser`  
指定したディレクトリで見つかったログファイルを `DirectorySource` ソースタイプでどのように解析するかを指定します。このキーと値のペアは必須です。有効な値は次のとおりです。  
+ `SingleLine`-ログファイルの各行は 1 つのログレコードです。
+ `SingleLineJson`-ログファイルの各行は JSON 形式の 1 つのログレコードです。このパーサーは、オブジェクトデコレーションを使用して追加のキーと値のペアを JSON に追加する場合に役立ちます。詳細については、「[シンクデコレーションの設定](sink-object-declarations.md#configuring-kinesis-agent-windows-decoration-configuration)」を参照してください。`SingleLineJson` レコードパーサーを使用する例については、[チュートリアル: Windows 用 Kinesis エージェントを使用して JSON ログファイルを Amazon S3 にストリーミング](directory-source-to-s3-tutorial.md) を参照してください。
+ `Timestamp`-1 つ以上の行に 1 つのログレコードを含めることができます。ログレコードはタイムスタンプで始まります。このオプションでは、`TimestampFormat` キーと値のペアを指定する必要があります。
+ `Regex`-各レコードは特定の正規表現に一致するテキストで始まります。このオプションでは、`Pattern` キーと値のペアを指定する必要があります。
+ `SysLog`— ログファイルが[syslog](https://en.wikipedia.org/wiki/Syslog)標準形式。ログファイルはその仕様に基づいてレコードに解析されます。
+ `Delimited`— よりシンプルなバージョンの Regex レコードパーサーで、ログレコードのデータ項目は一貫した区切り記号で区切られます。このオプションは、Regex パーサーよりも使いやすく高速で実行されます。このオプションが使用可能なときは使用することを推奨します。このオプションを使用する場合、`Delimiter` キーと値のペアを指定する必要があります。

`TimestampField`  
JSON フィールドに、レコードのタイムスタンプが含まれることを指定します。これは、`SingleLineJson` `RecordParser` でのみ使用されます。このキーと値のペアはオプションです。指定しない場合、Kinesis Agent for Windows はレコードが読み取られた時刻をタイムスタンプとして使用します。このキーと値のペアを指定する利点の 1 つは、Kinesis Agent for Windows によって生成されたレイテンシー統計の精度が向上することです。

`TimestampFormat`  
レコードに関連付けられた日付と時刻を解析する方法を指定します。この値は、文字列 `epoch` または .NET 日時形式文字列です。値が `epoch` の場合、時間が UNIX エポック時間に基づいて解析されます。UNIX エポック時間の詳細については、「[UNIX 時間](https://en.wikipedia.org/wiki/Unix_time)」を参照してください。.NET 日時形式文字列の詳細については、Microsoft .NET ドキュメントの「[カスタム日時書式指定文字列](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings)」を参照してください。このキーと値のペアは、`Timestamp` レコードパーサーを指定する場合、または `SingleLineJson` レコードパーサーを `TimestampField` キーと値のペアと共に指定する場合にのみ必要です。

`Pattern`  
複数行の可能性があるレコードの最初の行に一致する必要がある正規表現を指定します。このキーと値のペアは、`Regex` レコードパーサーにのみ必要です。

`ExtractionPattern`  
名前付きグループを使用する正規表現を指定します。レコードはこの正規表現を使用して解析され、名前付きグループは解析されたレコードのフィールドを形成します。これらのフィールドは JSON や XML オブジェクトまたはドキュメントを構築する基礎として使用されます。その後、これらのオブジェクトまたはドキュメントはシンクによってさまざまな AWS のサービスにストリーミングされます。このキーと値のペアはオプションです。このペアは`Regex`レコードパーサーとタイムスタンプパーサーです。  
`Timestamp` グループ名は、どのフィールドに各ログファイルの各レコードの日時が含まれるかを `Regex` パーサーに示すため、特別に処理されます。

`Delimiter`  
各ログレコードの各項目を区切る文字または文字列を指定します。このキーと値のペアは `Delimited` レコードパーサーと共に使用する必要があります (およびこのパーサーでのみ使用できます)。2 文字の表記 `\t` を使用してタブ文字を表します。

`HeaderPattern`  
レコードのヘッダーのセットが含まれるログファイルの行に一致させるための正規表現を指定します。ログファイルにヘッダー情報が含まれていない場合は、`Headers` キーと値のペアを使用して暗黙的なヘッダーを指定します。`HeaderPattern` キーと値のペアはオプションであり、`Delimited` レコードパーサーでのみ有効です。  
列に対して空 (0 長) のヘッダーエントリがあると、その列のデータは `DirectorySource` によって解析された出力の最終出力からフィルタリングされます。

`Headers`  
指定した区切り記号を使用して解析されたデータの列の名前を指定します。このキーと値のペアはオプションであり、`Delimited` レコードパーサーでのみ有効です。  
列に対して空 (0 長) のヘッダーエントリがあると、その列のデータは `DirectorySource` によって解析された出力の最終出力からフィルタリングされます。

`RecordPattern`  
レコードデータが含まれるログファイルの行を識別する正規表現を指定します。`HeaderPattern` によって識別されたオプションのヘッダー行を除き、指定した `RecordPattern` に一致しない行はレコード処理中に無視されます。このキーと値のペアはオプションであり、`Delimited` レコードパーサーでのみ有効です。これを指定しない場合は、デフォルトで、オプションの `CommentPattern` にもオプションの `HeaderPattern` にも一致しないすべての行は、解析可能なレコードデータを含む行であると見なされます。

`CommentPattern`  
ログファイルのデータを解析する前に除外する必要のある、ログファイルの行を識別する正規表現を指定します。このキーと値のペアはオプションであり、`Delimited` レコードパーサーでのみ有効です。これを指定しない場合は、デフォルトで、オプションの `HeaderPattern` と一致しないすべての行は、解析可能なレコードデータを含む行であると見なされます。ただし、`RecordPattern` が指定されている場合を除きます。

`TimeZoneKind`  
ログファイルのタイムスタンプをローカルタイムゾーンであると見なすか UTC タイムゾーンであると見なすかを指定します。これはオプションであり、デフォルトは UTC です。このキーと値のペアの有効な値は `Local` または `UTC` のみです。`TimeZoneKind` が指定されていない場合または値が UTC である場合、タイムスタンプを変更することはできません。タイムスタンプは UTC に変換され、`TimeZoneKind`値は`Local`で、タイムスタンプを受信するシンクが CloudWatch Logs である場合、または解析されたレコードが他のシンクに送信される場合、または処理されたレコードです。メッセージに埋め込まれた日付と時刻は変換されません。

`SkipLines`  
指定した場合、レコードの解析が発生する前に各ログファイルの先頭で無視する行数を制御します。これはオプションであり、デフォルト値は 0 です。

エンコード  
デフォルトでは、Kinesis Agent for Windows は、バイトマークからエンコーディングを自動的に検出できます。ただし、一部の古いユニコード形式では、自動エンコードが正しく動作しないことがあります。次の例では、Microsoft SQL Server ログのストリーミングに必要なエンコーディングを指定します。  

```
"Encoding": "utf-16"
```
エンコード名の一覧については、[エンコードの一覧](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.8#list-of-encodings)Microsoft .NET のドキュメントを参照してください。

抽出正規表現オプション  
次を使用できます。`ExtractionRegexOptions`正規表現を単純化します。このキーと値のペアはオプションです。デフォルト: `"None"`。  
次の例では、`"."`式を含む任意の文字に一致します`\r\n`。  

```
"ExtractionRegexOptions" = "Multiline"
```
ExtractionRegexOptions で使用できるフィールドの一覧については、[正規表現オプションの列挙型](https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regexoptions?view=netframework-4.7.2#fields)Microsoft .NET のドキュメントを参照してください。

### `Regex` レコードパーサー
<a name="directory-source-configuration-regex"></a>



`Regex` レコードパーサーを `TimestampFormat`、`Pattern`、`ExtractionPattern` キーと値のペアと共に使用して非構造化テキストログを解析できます。たとえば、次のようなログファイルがあるとします。

```
[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'
```

`Pattern` キーと値のペアに次の正規表現を指定すると、ログファイルを個々のログレコードに分割できます。

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

この正規表現は、次のシーケンスに一致します。

1. 評価される文字列の最初。

1. 角括弧で囲まれた 1 つ以上の単語の文字。

1. 角括弧で囲まれたタイムスタンプ。タイムスタンプは、次のシーケンスに一致します。

   1. 4 桁の年

   1. スラッシュ

   1. 2 桁の月

   1. スラッシュ

   1. 2 桁の日

   1. 空白文字

   1. 2 桁の時間

   1. コロン

   1. 2 桁の分

   1. コロン

   1. 2 桁の秒

   1. ピリオド

   1. 3 桁のミリ秒

`TimestampFormat` キーと値のペアに次の形式を指定すると、テキストタイムスタンプを日付と時刻に変換できます。

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

`ExtractionPattern` キーと値のペアによってログレコードのフィールドを抽出するために、次の正規表現を使用できます。

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

この正規表現は、順に以下のグループに一致します。

1. `Severity`— 角括弧で囲まれた 1 つ以上の単語の文字。

1. `TimeStamp`-前のタイムスタンプの説明を参照してください。

1. 角括弧で囲まれた、3 つの名前のない一連のゼロ個以上の文字はスキップされます。

1. `SubSystem`— 角括弧で囲まれた 1 つ以上の単語の文字。

1. `Module`— 角括弧で囲まれた 1 つ以上の単語の文字。

1. 角括弧で囲まれた、1 つの名前のない一連のゼロ個以上の文字はスキップされます。

1. 1 つの名前のないスペースはスキップされます。

1. `Message`— 一重引用符で囲まれた 0 個以上の文字。

以下のソース宣言は、これらの正規表現と日時形式を組み合わせて、このようなログファイルを解析するための Kinesis Agent for Windows への完全な手順を Kinesis Agent に提供するものです。

```
{
    "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"
}
```

**注記**  
JSON 形式ファイルでのバックスラッシュは、追加のバックスラッシュを使用してエスケープする必要があります。

正規表現の詳細については、Microsoft .NET ドキュメントの「[正規表現言語 - クイックリファレンス](https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference)」を参照してください。

### `Delimited` レコードパーサー
<a name="directory-source-configuration-delimited"></a>

`Delimited` レコードパーサーを使用すると、半構造化されたログファイルおよびデータファイルを解析することができます。これらのファイルには、データ各行のデータ列それぞれを区切る一貫した文字シーケンスが存在します。たとえば、CSV ファイルではデータの各列を区切るためにカンマを使用し、TSV ファイルではタブを使用します。

ネットワークポリシーサーバーによって生成された Microsoft [NPS データベース形式](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771748(v=ws.10))ログファイルを解析するとします。そのようなファイルを以下に示します。

```
"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,,,,
```

以下の `appsettings.json` 設定ファイルの例には `DirectorySource` 宣言が含まれています。この宣言では `Delimited` レコードパーサーを使用してこのテキストをオブジェクト表現に解析します。その後、JSON 形式のデータを 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"
        }
    ]
}
```

Kinesis Data Firehose にストリーミングされた JSON 形式のデータは以下のようになります。

```
{
    "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` レコードパーサー
<a name="directory-source-configuration-syslog"></a>

`SysLog` レコードパーサーの場合、解析後のソースからの出力には次の情報が含まれています。


| 属性 | タイプ | 説明 | 
| --- | --- | --- | 
| SysLogTimeStamp | 文字列 | syslog 形式のログファイルからの元の日付と時刻。 | 
| Hostname | 文字列 | syslog 形式のログファイルが存在するコンピュータの名前。 | 
| Program | 文字列 | ログファイルを生成したアプリケーションまたはサービスの名前。 | 
| Message | 文字列 | アプリケーションまたはサービスによって生成されたログメッセージ。 | 
| TimeStamp | 文字列 | 解析された日時 (ISO 8601 形式)。 | 

JSON に変換された SysLog データの例を次に示します。

```
{
    "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>

以下に、`DirectorySource` ソースで使用可能なキーと値のペア、およびそれらのキーと値のペアに関連する `RecordParser` の概要を示します。


| キー名 | RecordParser | コメント | 
| --- | --- | --- | 
| SourceType | すべての場合に必須 | 値 DirectorySource が必要 | 
| Directory | すべての場合に必須 |  | 
| FileNameFilter | すべての場合にオプション |  | 
| RecordParser | すべての場合に必須 |  | 
| TimestampField | SingleLineJson ではオプション |  | 
| TimestampFormat | Timestamp では必須、TimestampField が指定されている場合の SingleLineJson では必須 |  | 
| Pattern | Regex では必須 |  | 
| ExtractionPattern | Regex ではオプション | シンクが json または xml 形式を指定している場合、Regex では必須 | 
| Delimiter | Delimited では必須 |  | 
| HeaderPattern | Delimited ではオプション |  | 
| Headers | Delimited ではオプション |  | 
| RecordPattern | Delimited ではオプション |  | 
| CommentPattern | Delimited ではオプション |  | 
| TimeZoneKind | タイムスタンプフィールドが指定されるとき、Regex、Timestamp、SysLog、および SingleLineJson ではオプション |  | 
| SkipLines | すべての場合にオプション |  | 

## ExchangeLogSource 設定
<a name="exchange-source-configuration"></a>

 `ExchangeLogSource` タイプは Microsoft Exchange からログを収集するために使用します。Exchange では、ログが複数の異なる種類のログ形式で作成されます。このソースタイプはそれらのすべてを解析します。その解析に `DirectorySource` タイプと `Regex` レコードパーサーを一緒に使用することはできますが、`ExchangeLogSource` を使用する方がはるかに簡単です。これは、そうしたログファイル形式用に正規表現を設計して提供する必要がないためです。次に、`ExchangeLogSource` 宣言の例を示します。

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

すべての Exchange 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"ExchangeLogSource"` である必要があります (必須)。

`Directory`  
ログファイルを含むディレクトリのパス (必須)。

`FileNameFilter`  
オプションで、ログデータが収集されるディレクトリにある一連のファイルを、ワイルドカードによるファイル命名パターンに基づいて制限します。このキーと値のペアが指定されていない場合、デフォルトではディレクトリにあるすべてのファイルからログデータが収集されます。

`TimestampField`  
レコードの日付と時刻が含まれている列の名前。フィールド名が `date-time` または `DateTime` である場合、このキーと値のペアはオプションであり指定する必要はありません。それ以外の場合は必須です。

## W3SVCLogSource 設定
<a name="iis-source-configuration"></a>

 `W3SVCLogSource` タイプは、Windows 用インターネットインフォメーションサービス (IIS) からログを収集するために使用します。

次に、`W3SVCLogSource` 宣言の例を示します。

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

すべての `W3SVCLogSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"W3SVCLogSource"` である必要があります (必須)。

`Directory`  
ログファイルを含むディレクトリのパス (必須)。

`FileNameFilter`  
オプションで、ログデータが収集されるディレクトリにある一連のファイルを、ワイルドカードによるファイル命名パターンに基づいて制限します。このキーと値のペアが指定されていない場合、デフォルトではディレクトリにあるすべてのファイルからログデータが収集されます。

## UlsSource 設定
<a name="sharepoint-source-configuration"></a>

 `UlsSource` タイプは Microsoft SharePoint からログを収集するために使用します。次に、`UlsSource` 宣言の例を示します。

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

すべての `UlsSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"UlsSource"` である必要があります (必須)。

`Directory`  
ログファイルを含むディレクトリのパス (必須)。

`FileNameFilter`  
オプションで、ログデータが収集されるディレクトリにある一連のファイルを、ワイルドカードによるファイル命名パターンに基づいて制限します。このキーと値のペアが指定されていない場合、デフォルトではディレクトリにあるすべてのファイルからログデータが収集されます。

## WindowsEventLogSource 設定
<a name="window-event-source-configuration"></a>

`WindowsEventLogSource` タイプは Windows イベントログサービスからイベントを収集するために使用します。次に、`WindowsEventLogSource` 宣言の例を示します。

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

すべての `WindowsEventLogSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"WindowsEventLogSource"` である必要があります (必須)。

`LogName`  
指定されたログからイベントが収集されます。一般的な値として `Application`、`Security`、`System` がありますが、有効なすべての Windows イベントログ名を指定できます。このキーと値のペアは必須です。

`Query`  
オプションで `WindowsEventLogSource` から出力されるイベントを制限します。このキーと値のペアが指定されていない場合、デフォルトでは、すべてのイベントが出力されます。この値の構文については、Windows のドキュメント [Event Queries and Event XML](https://msdn.microsoft.com/en-us/library/bb399427(v=vs.90).aspx) を参照してください。ログレベルの定義については、Windows のドキュメント [Event Types](https://docs.microsoft.com/en-us/windows/desktop/eventlog/event-types) を参照してください。

`IncludeEventData`  
オプション。このキーと値のペアの値が `"true"` であるとき、指定された Windows イベントログからイベントに関連付けられたプロバイダー固有のイベントデータを収集してストリーミングできるようにします。正常にシリアル化できるイベントデータのみが含められます。このキーと値のペアはオプションです。指定しない場合、プロバイダー固有のイベントデータは収集されません。  
イベントデータを含めることによって、このソースからストリーミングされるデータの量が大幅に増える可能性があります。イベントの最大可能サイズは、イベントデータを含めて 262,143 バイトです。

解析後の `WindowsEventLogSource` からの出力には次の情報が含まれています。


| 属性 | タイプ | 説明 | 
| --- | --- | --- | 
| EventId | Int | イベントタイプの識別子。 | 
| Description | 文字列 | イベントの詳細を説明するテキスト。 | 
| LevelDisplayName | 文字列 | イベントのカテゴリ (Error、Warning、Information、Success Audit、Failure Audit のいずれか 1 つ)。 | 
| LogName | 文字列 | イベントが記録された場所 (一般的な値は Application、Security、System ですが、多数の値が指定可能です)。 | 
| MachineName | 文字列 | イベントを記録したコンピュータ。 | 
| ProviderName | 文字列 | イベントを記録したアプリケーションまたはサービス。 | 
| TimeCreated | 文字列 | イベントが発生した時刻 (ISO 8601 形式)。 | 
| Index | Int | ログにおいてエントリが配置されている場所。 | 
| UserName | 文字列 | エントリを作成したユーザー (確認済みの場合)。 | 
| Keywords | 文字列 | イベントのタイプ。標準の値には、AuditFailure (障害が発生したセキュリティ監査イベント)、AuditSuccess (成功したセキュリティ監査イベント)、Classic (RaiseEvent 関数によって生じたイベント)、Correlation Hint (転送イベント)、SQM (サービス品質メカニズムのイベント)、WDI Context (Windows 診断インフラストラクチャのコンテキストイベント)、および WDI Diag (Windows 診断インフラストラクチャの診断イベント) が含まれます。 | 
| EventData | オブジェクトのリスト | オプション。ログイベントに関するプロバイダー固有の追加データ。これは、IncludeEventData キーと値のペアの値が "true" である場合にのみ含まれます。 | 

次に、JSON に変換されたイベントの例を示します。

```
{[ 
    "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 設定
<a name="eventlogpolling-source-configuration"></a>

`WindowsEventLogPollingSource`は、ポーリングベースのメカニズムを使用して、設定されたパラメータに一致するすべての新しいイベントをイベントログから収集します。ポーリング間隔は、前回のポーリング中に収集されたイベントの数に応じて、100 ミリ秒から 5000 ミリ秒の間で動的に更新されます。次に、`WindowsEventLogPollingSource` 宣言の例を示します。

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

すべての `WindowsEventLogPollingSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"WindowsEventLogPollingSource"` である必要があります (必須)。

`LogName`  
ログを指定します。有効なオプションは次のとおりです。`Application`,`Security`,`System`、またはその他の有効なログ。

`IncludeEventData`  
省略可能。メトリック`true`の場合、JSON および XML としてストリーミングされるときに追加の EventData が含まれることを指定します。デフォルトは `false` です。

`Query`  
省略可能。Windows イベントログでは、XPath 式を使用したイベントのクエリがサポートされます。`Query`。詳細については、「」を参照してください。[イベントクエリとイベント XML](https://docs.microsoft.com/en-us/previous-versions/bb399427(v=vs.90))マイクロソフトのドキュメントを参照してください。

`CustomFilters`  
省略可能。セミコロン (`;`). 次のフィルタを指定できます。    
`ExcludeOwnSecurityEvents`  
Windows 用 Kinesis エージェントによって生成されたセキュリティイベントを除外します。

## WindowsETWEventSource 設定
<a name="etw-source-configuration"></a>

 `WindowsETWEventSource` タイプは、Windows イベントトレーシング (ETW) という機能を使用してアプリケーションおよびサービスのイベントトレースを収集するために使用します。詳細については、Windows のドキュメント [Event Tracing](https://docs.microsoft.com/en-us/windows/desktop/etw/event-tracing-portal) を参照してください。

次に、`WindowsETWEventSource` 宣言の例を示します。

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

すべての `WindowsETWEventSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"WindowsETWEventSource"` である必要があります (必須)。

`ProviderName`  
トレースイベントを収集するために使用するイベントプロバイダーを指定します。これは、インストールされたプロバイダーの有効な ETW プロバイダー名にする必要があります。インストールされているプロバイダーを確認するには、Windows コマンドプロンプトウィンドウで次のコマンドを実行します。  

```
logman query providers
```

`TraceLevel`  
収集する必要があるトレースイベントのカテゴリを指定します。使用できる値は、`Critical`、`Error`、`Warning`、`Informational`、および `Verbose` です。選択されている ETW プロバイダーによって、正確な意味は異なります。

`MatchAnyKeyword`  
この値は 64 ビットの数値で、各ビットは個別のキーワードを表します。各キーワードは、収集されるイベントのカテゴリを示します。サポートされるキーワードとその値、およびそれらと `TraceLevel` の関係については、そのプロバイダーのドキュメントを参照してください。たとえば、CLR ETW プロバイダーについては Microsoft .NET Framework ドキュメントの「[CLR ETW キーワードおよびレベル](https://docs.microsoft.com/en-us/dotnet/framework/performance/clr-etw-keywords-and-levels)」を参照してください。  
前の例で、32768 (0x00008000) は、スローされる例外に関する情報を収集するようプロバイダーに指示する、CLR ETW プロバイダーの `ExceptionKeyword` を表します。16 進定数は JSON ではネイティブにサポートされませんが、それらを文字列に配置することによって `MatchAnyKeyword` に指定できます。いくつかの定数をカンマで区切って指定することもできます。たとえば、次のように使用して `ExceptionKeyword` と `SecurityKeyword` (0x00000400) の両方を指定します。  

```
{
   "Id": "MyClrETWEventSource",
   "SourceType": "WindowsETWEventSource",
   "ProviderName": "Microsoft-Windows-DotNETRuntime",
   "TraceLevel": "Verbose",
   "MatchAnyKeyword": "0x00008000, 0x00000400"
}
```
指定したすべてのキーワードがプロバイダーに対して有効であることを保証するため、複数のキーワード値は OR を使用して結合されてそのプロバイダーに渡されます。

`WindowsETWEventSource` からの出力には、イベントごとに次の情報が含まれています。


| 属性 | タイプ | 説明 | 
| --- | --- | --- | 
| EventName | 文字列 | 発生したイベントの種類。 | 
| ProviderName | 文字列 | イベントを検出したプロバイダー。 | 
| FormattedMessage | 文字列 | テキストによるイベントの概要。 | 
| ProcessID | Int | イベントを報告したプロセス。 | 
| ExecutingThreadID | Int | イベントを報告したプロセス内のスレッド。 | 
| MachineName | 文字列 | イベントを報告しているデスクトップまたはサーバーの名前。 | 
| Payload | ハッシュテーブル | 文字列キーと、値として任意の種類のオブジェクトを持つテーブル。キーはペイロード項目名であり、値はペイロード項目の値です。ペイロードはプロバイダーに依存します。 | 

次に、JSON に変換されたイベントの例を示します。

```
{ 
     "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 設定
<a name="performance-counter-source-configuration"></a>

 `WindowsPerformanceCounterSource` タイプは、Windows からパフォーマンスカウンターメトリクスを収集します。次に、`WindowsPerformanceCounterSource` 宣言の例を示します。

```
{
	"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"]
		}
	]
}
```

すべての `WindowsPerformanceCounterSource` 宣言で、次のキーと値のペアを指定することができます。

`SourceType`  
リテラル文字列 `"WindowsPerformanceCounterSource"` である必要があります (必須)。

`Categories`  
Windows から収集するための一連のパフォーマンスカウンターメトリクスグループを指定します。各メトリクスグループには、次のキーと値のペアが含まれます。    
`Category`  
収集されるメトリクスのカウンターセットを指定します (必須)。  
`Instances`  
オブジェクトごとに固有の一連のパフォーマンスカウンターがあるときに、目的のオブジェクトのセットを指定します。たとえば、カテゴリが `LogicalDisk` であるとき、ディスクドライブごとに一連のパフォーマンスカウンターが存在します。このキーと値のペアはオプションです。複数のインスタンスに一致させるには、ワイルドカード `*` と `?` を使用できます。すべてのインスタンス間で値を集計するには、`_Total` を指定します。  
また、`InstanceRegex`を含む正規表現を受け入れ、`*`ワイルドカード文字を、インスタンス名の一部として使用します。  
`Counters`  
指定されたカテゴリについて収集するメトリクスを指定します。このキーと値のペアは必須です。複数のカウンターに一致させるには、ワイルドカード `*` と `?` を使用できます。`Counters` を指定するには、名前のみを使用するか、名前と単位を使用することができます。カウンターの単位が指定されていない場合、Kinesis Agent for Windows は名前から単位を推測しようとします。それらの推測が正しくない場合には、単位を明示的に指定できます。必要に応じて `Counter` 名を変更できます。より複雑な表現のカウンターは、オブジェクトに次のキーと値のペアを加えた表現になります。    
`Counter`  
カウンターの名前。このキーと値のペアは必須です。  
`Rename`  
シンクに提示するカウンターの名前。このキーと値のペアはオプションです。  
`Unit`  
カウンターに関連付けられている値の意味。有効なユニット名の詳細なリストについては、[MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)()*Amazon CloudWatch API リファレンス*。
複雑なカウンターの指定の例を次に示します。  

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

`WindowsPerformanceCounterSource`Amazon CloudWatch シンクを指定するパイプでのみ使用できます。Windows 用 Kinesis Agent for Windows 組み込みメトリクスも CloudWatch にストリーミングされる場合は、別個のシンクを使用します。サービス起動後に Kinesis Agent for Windows ログを調べて、単位が`WindowsPerformanceCounterSource`宣言. カテゴリ、インスタンス、およびカウンターの有効な名前を確認するには、PowerShell を使用します。

カウンターセットに関連するカウンターを含め、すべてのカテゴリに関する情報を見るには、PowerShell ウィンドウで次のコマンドを実行します。

```
    Get-Counter -ListSet * | Sort-Object
```

カウンターセットの各カウンターで使用できるインスタンスを確認するには、PowerShell ウィンドウで次の例のようなコマンドを実行します。

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

`Counter` パラメータの値は、前の `Get-Counter -ListSet` コマンド呼び出しによってリストされた `PathsWithInstances` メンバーのいずれかのパスになります。

## Windows 組み込みメトリクスソース Kinesis エージェント
<a name="kinesis-agent-builin-metrics-source"></a>

通常のメトリックスソースに加えて、`WindowsPerformanceCounterSource`タイプ ([WindowsPerformanceCounterSource 設定](#performance-counter-source-configuration))、CloudWatch シンクタイプは Windows 自体に関する Kinesis Agent に関するメトリクスを収集する特別なソースからメトリクスを受け取ることができます。Windows の Kinesis エージェントメトリクスは、`KinesisTap`Windows パフォーマンスカウンターのカテゴリ。

-`MetricsFilter`CloudWatch シンク宣言のキーと値のペアは、組み込みの Kinesis エージェントの Windows メトリクスソースから CloudWatch にストリーミングされるメトリクスを指定します。この値は、1 つのフィルター式、またはセミコロンで区切られた複数のフィルター式を含む文字列です。次に例を示します。

`"MetricsFilter": "`*FilterExpression1*`;`*FilterExpression2*`"`

1 つ以上のフィルター式に一致するメトリクスが CloudWatch にストリーミングされます。

単一インスタンスメトリクスは性質上、グローバルであり、特定のソースやシンクに関連付けられていません。複数インスタンスメトリクスは、ソース宣言またはシンク宣言の `Id` に基づく側面があります。各ソースタイプまたはシンクタイプは、さまざまな一連のメトリクスを持つことができます。

Windows 用 Kinesis エージェントの組み込みのメトリクス名の一覧については、[Windows メトリックス用 Kinesis エージェントのリスト](#kinesis-agent-metric-list)。

単一インスタンスメトリクスの場合、フィルター式はメトリクスの名前です。次に例を示します。

```
"MetricsFilter": "SourcesFailedToStart;SinksFailedToStart"
```

複数インスタンスメトリクスの場合、フィルター式は、メトリクスの名前、ピリオド (`.`)、そのメトリクスを生成したソース宣言またはシンク宣言の `Id` になります。たとえば、`Id` が `MyFirehose` であるシンク宣言があるとします。

```
"MetricsFilter": "KinesisFirehoseRecordsFailedNonrecoverable.MyFirehose"      
```

単一と複数のインスタンスメトリクスを区別するように設計されている特別なワイルドカードパターンを使用できます。
+ アスタリスク (`*`) は、ピリオド (`.`) を除くゼロ個以上の文字に一致します。
+ 疑問符 (`?`) は、ピリオドを除く 1 文字に一致します。
+ その他の文字は、その文字自体にのみ一致します。
+ `_Total` は、ディメンション間で一致するすべての複数インスタンス値を集計する特別なトークンです。

次の例は、すべての単一インスタンスメトリクスに一致します。

```
"MetricsFilter": "*"
```

アスタリスクはピリオド文字に一致しないため、単一インスタンスメトリクスのみが含められます。

次の例は、すべての複数インスタンスメトリクスに一致します。

```
"MetricsFilter": "*.*"
```

次の例は、すべてのメトリクス (単一と複数) に一致します。

```
"MetricsFilter": "*;*.*"
```

次の例は、すべてのソースおよびシンク間で複数インスタンスメトリクスをすべて集計します。

```
"MetricsFilter": "*._Total"
```

次の例は、すべての Kinesis Data Firehose シンクの Kinesis データ Firehose メトリクスを集計します。

```
"MetricsFilter": "*Firehose*._Total"
```

次の例は、すべての単一および複数インスタンスエラーメトリクスに一致します。

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

次の例は、すべてのソースおよびシンク間で集計されたすべての回復不能エラーメトリクスに一致します。

```
"MetricsFilter": "*Nonrecoverable*._Total"
```



Kinesis Agent for Windows 組み込みメトリクスソースを使用するパイプの指定方法については、[Windows メトリックパイプ用の Kinesis エージェントの設定](pipe-object-declarations.md#kinesis-agent-metric-pipe-configuration)。

## Windows メトリックス用 Kinesis エージェントのリスト
<a name="kinesis-agent-metric-list"></a>

以下は、Windows 用 Kinesis Agent で使用可能な単一インスタンスメトリクスと複数インスタンスメトリクスの一覧です。

### 単一インスタンスメトリクス
<a name="single-instance-metrics"></a>

次の単一インスタンスメトリクスを使用できます。

`KinesisTapBuildNumber`  
Windows 用 Kinesis エージェントのバージョン番号。

`PipesConnected`  
正常にソースをシンクに接続したパイプの数。

`PipesFailedToConnect`  
正常にソースをシンクに接続しなかったパイプの数。

`SinkFactoriesFailedToLoad`  
Windows 用 Kinesis エージェントに正常にロードされなかったシンクタイプの数。

`SinkFactoriesLoaded`  
Windows 用 Kinesis エージェントに正常にロードされたシンクタイプの数。

`SinksFailedToStart`  
通常はシンク宣言が正しくないことが原因で、正常に開始されなかったシンクの数。

`SinksStarted`  
正常に開始されたシンクの数。

`SourcesFailedToStart`  
通常はソース宣言が正しくないことが原因で、正常に開始されなかったソースの数。

`SourcesStarted`  
正常に開始されたソースの数。

`SourceFactoriesFailedToLoad`  
Windows 用 Kinesis エージェントに正常にロードされなかったソースタイプの数。

`SourceFactoriesLoaded`  
Windows 用 Kinesis エージェントに正常にロードされたソースタイプの数。

### 複数インスタンスメトリクス
<a name="multiple-instance-metrics"></a>

次の複数インスタンスメトリクスを使用できます。

#### DirectorySource メトリクス
<a name="directory-source-metrics"></a>

`DirectorySourceBytesRead`  
この `DirectorySource` について、この間隔で読み取られたバイト数。

`DirectorySourceBytesToRead`  
Kinesis Agent for Windows によってまだ読み取られていない、読み取り可能な既知のバイト数。

`DirectorySourceFilesToProcess`  
Windows 用 Kinesis Agent for Windows によって検証されていない、既知の検証対象ファイル数。

`DirectorySourceRecordsRead`  
この `DirectorySource` について、この間隔で読み取られたレコード数。

#### WindowsEventLogSource メトリクス
<a name="windows-event-log-source-metrics"></a>

`EventLogSourceEventsError`  
正常に読み取られなかった Windows イベントログイベント数。

`EventLogSourceEventsRead`  
正常に読み取られた Windows イベントログイベント数。

#### KinesisFirehose シンクメトリクス
<a name="kinesis-firehose-sink-metrics"></a>

`KinesisFirehoseBytesAccepted`  
この間隔で受け入れられたバイト数。

`KinesisFirehoseClientLatency`  
レコードの生成からレコードの Kinesis Data Firehose サービスへのストリーミングまでの経過時間。

`KinesisFirehoseLatency`  
Kinesis Data Firehose サービスに対するレコードのストリーミングの開始から終了までの経過時間。

`KinesisFirehoseNonrecoverableServiceErrors`  
再試行したにもかかわらず、エラーなしでレコードを Kinesis Data Firehose サービスに送信できなかった回数。

`KinesisFirehoseRecordsAttempted`  
Kinesis Data Firehose サービスへのストリーミングを試みたレコード数。

`KinesisFirehoseRecordsFailedNonrecoverable`  
再試行したにもかかわらず、Kinesis Data Firehose サービスにストリーミングできなかったレコード数。

`KinesisFirehoseRecordsFailedRecoverable`  
再試行した場合にのみ、Kinesis Data Firehose サービスにストリーミングが正常に行われたレコード数。

`KinesisFirehoseRecordsSuccess`  
再試行せずに、Kinesis Data Firehose サービスへのストリーミングが正常に行われたレコード数。

`KinesisFirehoseRecoverableServiceErrors`  
再試行した場合にのみ、Kinesis Data Firehose サービスにレコードを正常に送信できた回数。

#### KinesisStream メトリクス
<a name="kinesis-stream-metrics"></a>

`KinesisStreamBytesAccepted`  
この間隔で受け入れられたバイト数。

`KinesisStreamClientLatency`  
レコードの生成からレコードの Kinesis Data Streams サービスへのストリーミングまでの経過時間。

`KinesisStreamLatency`  
Kinesis Data Streams サービスに対するレコードのストリーミングの開始から終了までの経過時間。

`KinesisStreamNonrecoverableServiceErrors`  
再試行したにもかかわらず、エラーなしでレコードを Kinesis Data Streams サービスに送信できなかった回数。

`KinesisStreamRecordsAttempted`  
Kinesis Data Streams サービスへのストリーミングを試みたレコード数。

`KinesisStreamRecordsFailedNonrecoverable`  
再試行したにもかかわらず、Kinesis Data Streams サービスへのストリーミングが正常に行われなかったレコード数。

`KinesisStreamRecordsFailedRecoverable`  
再試行した場合にのみ、Kinesis Data Streams サービスにストリーミングが正常に行われたレコード数。

`KinesisStreamRecordsSuccess`  
再試行せずに、Kinesis Data Streams サービスへのストリーミングが正常に行われたレコード数。

`KinesisStreamRecoverableServiceErrors`  
再試行した場合にのみ、Kinesis Data Streams サービスにレコードを正常に送信できた回数。

#### CloudWatchLog メトリクス
<a name="cloud-watch-log-metrics"></a>

`CloudWatchLogBytesAccepted`  
この間隔で受け入れられたバイト数。

`CloudWatchLogClientLatency`  
レコード生成からレコードの CloudWatch Logs サービスへのストリーミングまでの経過時間。

`CloudWatchLogLatency`  
CloudWatch Logs サービスに対するレコードストリーミングの開始から終了までの経過時間。

`CloudWatchLogNonrecoverableServiceErrors`  
再試行したにもかかわらず、エラーなしでレコードを CloudWatch Logs サービスに送信できなかった回数。

`CloudWatchLogRecordsAttempted`  
CloudWatch Logs サービスへのストリーミングを試みたレコード数。

`CloudWatchLogRecordsFailedNonrecoverable`  
再試行したにもかかわらず、CloudWatch Logs サービスへのストリーミングが正常に行われなかったレコード数。

`CloudWatchLogRecordsFailedRecoverable`  
再試行した場合にのみ、CloudWatch Logs サービスへのストリーミングが正常に行われたレコード数。

`CloudWatchLogRecordsSuccess`  
再試行せずに、CloudWatch Logs サービスへのストリーミングが正常に行われたレコード数。

`CloudWatchLogRecoverableServiceErrors`  
再試行した場合にのみ、CloudWatch Logs サービスにレコードを正常に送信できた回数。

#### CloudWatch Metrics
<a name="cloud-watch-metrics"></a>

`CloudWatchLatency`  
CloudWatch サービスに対するメトリクスのストリーミングの開始から終了までの平均経過時間。

`CloudWatchNonrecoverableServiceErrors`  
再試行したにもかかわらず、メトリクスがエラーなしで CloudWatch サービスに送信できなかった回数。

`CloudWatchRecoverableServiceErrors`  
再試行した場合にのみ、メトリクスがエラーなしで CloudWatch サービスに送信された回数。

`CloudWatchServiceSuccess`  
再試行を必要とせずに、メトリクスがエラーなしで CloudWatch サービスに送信された回数。

## ブックマーク設定
<a name="advanced-source-configuration"></a>

 デフォルトでは、Kinesis Agent for Windows は、エージェントの開始後に作成されたログレコードをシンクに送信します。以前のログレコードを送信すると便利な場合もあります。たとえば、自動更新中に Kinesis Agent for Windows が停止した期間に作成されたログレコードなどです。ブックマーク機能は、シンクに送信されたレコードを追跡します。Windows 用 Kinesis エージェントがブックマークモードで起動すると、Kinesis Agent for Windows の停止後に作成されたすべてのログレコードを、続いて作成されたログレコードとともに送信します。この動作を制御するため、ファイルベースのソース宣言に次のキーと値のペアをオプションで含めることができます。

`InitialPosition`  
ブックマークの初期状態を指定します。指定できる値は次のとおりです。    
`EOS`  
ストリームの終了 (EOS) を指定します。エージェントの実行中に作成されたログレコードのみがシンクに送信されます。  
`0`  
使用可能なすべてのログレコードとイベントが最初に送信されます。その後でブックマークが作成されて、Kinesis Agent for Windows が実行されているかどうかに関係なく、ブックマークの作成後に作成された新しいログレコードとイベントがすべて最終的に送信されるようになります。  
`Bookmark`  
ブックマークは、最新のログレコードまたはイベントの直後の状態に初期化されます。その後でブックマークが作成されて、Kinesis Agent for Windows が実行されているかどうかに関係なく、ブックマークの作成後に作成された新しいログレコードとイベントがすべて最終的に送信されるようになります。  
ブックマークはデフォルトで有効になっています。ファイルは`%ProgramData%\Amazon\KinesisTap`ディレクトリに移動します。  
`Timestamp`  
`InitialPositionTimestamp` 値 (定義は下記) の後に作成されたログレコードとイベントが送信されます。その後でブックマークが作成されて、Kinesis Agent for Windows が実行されているかどうかに関係なく、ブックマークの作成後に作成された新しいログレコードとイベントがすべて最終的に送信されるようになります。

`InitialPositionTimestamp`  
必要な最も古いログレコードまたはイベントのタイムスタンプを指定します。このキーと値のペアは、`InitialPosition` に値 `Timestamp` が含まれている場合にのみ指定します。

`BookmarkOnBufferFlush`  
 この設定は、ブックマーク可能なソースに追加できます。に設定した場合`true`に設定すると、ブックマークの更新は、シンクがイベントを AWS に正常に送信したときにのみ行われるようになります。1 つのソースにサブスクライブできるシンクは 1 つだけです。ログを複数の宛先に配布する場合は、データの損失に関する潜在的な問題を回避するために、ソースを複製してください。

Kinesis Agent for Windows が長時間停止しているときは、ブックマークされたログレコードやイベントが存在しなくなることがあるため、それらのブックマークの削除が必要になる可能性があります。指定の *source id* のブックマークファイルは `%PROGRAMDATA%\Amazon\AWSKinesisTap\source id.bm` にあります。

名前が変更されたり切り捨てられたファイルにあるブックマークは機能しません。ETW イベントおよびパフォーマンスカウンターは、その性質上、ブックマークできません。