ソース宣言 - Microsoft Windows の Amazon Kinesis エージェント

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

ソース宣言

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

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

Id

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

SourceType

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

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

DirectorySource 設定

Overview

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 に追加する場合に役立ちます。詳細については、「シンクデコレーションの設定」を参照してください。SingleLineJson レコードパーサーを使用する例については、チュートリアル: Windows 用 Kinesis エージェントを使用して JSON ログファイルを Amazon S3 にストリーミング を参照してください。

  • Timestamp-1 つ以上の行に 1 つのログレコードを含めることができます。ログレコードはタイムスタンプで始まります。このオプションでは、TimestampFormat キーと値のペアを指定する必要があります。

  • Regex-各レコードは特定の正規表現に一致するテキストで始まります。このオプションでは、Pattern キーと値のペアを指定する必要があります。

  • SysLog— ログファイルが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 時間」を参照してください。.NET 日時形式文字列の詳細については、Microsoft .NET ドキュメントの「カスタム日時書式指定文字列」を参照してください。このキーと値のペアは、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"

エンコード名の一覧については、エンコードの一覧Microsoft .NET のドキュメントを参照してください。

抽出正規表現オプション

次を使用できます。ExtractionRegexOptions正規表現を単純化します。このキーと値のペアはオプションです。デフォルト: "None"

次の例では、"."式を含む任意の文字に一致します\r\n

"ExtractionRegexOptions" = "Multiline"

ExtractionRegexOptions で使用できるフィールドの一覧については、正規表現オプションの列挙型Microsoft .NET のドキュメントを参照してください。

Regex レコードパーサー

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

[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. 評価される文字列の最初。

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

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

    1. 4 桁の年

    2. スラッシュ

    3. 2 桁の月

    4. スラッシュ

    5. 2 桁の日

    6. 空白文字

    7. 2 桁の時間

    8. コロン

    9. 2 桁の分

    10. コロン

    11. 2 桁の秒

    12. ピリオド

    13. 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 つ以上の単語の文字。

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

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

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

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

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

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

  8. 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 ドキュメントの「正規表現言語 - クイックリファレンス」を参照してください。

Delimited レコードパーサー

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

ネットワークポリシーサーバーによって生成された Microsoft NPS データベース形式ログファイルを解析するとします。そのようなファイルを以下に示します。

"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 レコードパーサー

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

以下に、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 タイムスタンプフィールドが指定されるとき、RegexTimestampSysLog、および SingleLineJson ではオプション
SkipLines すべての場合にオプション

ExchangeLogSource 設定

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 設定

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

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

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

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

SourceType

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

Directory

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

FileNameFilter

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

UlsSource 設定

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

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

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

SourceType

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

Directory

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

FileNameFilter

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

WindowsEventLogSource 設定

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

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

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

SourceType

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

LogName

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

Query

オプションで WindowsEventLogSource から出力されるイベントを制限します。このキーと値のペアが指定されていない場合、デフォルトでは、すべてのイベントが出力されます。この値の構文については、Windows のドキュメント Event Queries and Event XML を参照してください。ログレベルの定義については、Windows のドキュメント Event Types を参照してください。

IncludeEventData

オプション。このキーと値のペアの値が "true" であるとき、指定された Windows イベントログからイベントに関連付けられたプロバイダー固有のイベントデータを収集してストリーミングできるようにします。正常にシリアル化できるイベントデータのみが含められます。このキーと値のペアはオプションです。指定しない場合、プロバイダー固有のイベントデータは収集されません。

注記

イベントデータを含めることによって、このソースからストリーミングされるデータの量が大幅に増える可能性があります。イベントの最大可能サイズは、イベントデータを含めて 262,143 バイトです。

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

属性 タイプ 説明
EventId Int イベントタイプの識別子。
Description 文字列 イベントの詳細を説明するテキスト。
LevelDisplayName 文字列 イベントのカテゴリ (Error、Warning、Information、Success Audit、Failure Audit のいずれか 1 つ)。
LogName 文字列 イベントが記録された場所 (一般的な値は ApplicationSecuritySystem ですが、多数の値が指定可能です)。
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 設定

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マイクロソフトのドキュメントを参照してください。

CustomFilters

省略可能。セミコロン (;). 次のフィルタを指定できます。

ExcludeOwnSecurityEvents

Windows 用 Kinesis エージェントによって生成されたセキュリティイベントを除外します。

WindowsETWEventSource 設定

WindowsETWEventSource タイプは、Windows イベントトレーシング (ETW) という機能を使用してアプリケーションおよびサービスのイベントトレースを収集するために使用します。詳細については、Windows のドキュメント Event Tracing を参照してください。

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

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

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

SourceType

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

ProviderName

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

logman query providers
TraceLevel

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

MatchAnyKeyword

この値は 64 ビットの数値で、各ビットは個別のキーワードを表します。各キーワードは、収集されるイベントのカテゴリを示します。サポートされるキーワードとその値、およびそれらと TraceLevel の関係については、そのプロバイダーのドキュメントを参照してください。たとえば、CLR ETW プロバイダーについては Microsoft .NET Framework ドキュメントの「CLR ETW キーワードおよびレベル」を参照してください。

前の例で、32768 (0x00008000) は、スローされる例外に関する情報を収集するようプロバイダーに指示する、CLR ETW プロバイダーの ExceptionKeyword を表します。16 進定数は JSON ではネイティブにサポートされませんが、それらを文字列に配置することによって MatchAnyKeyword に指定できます。いくつかの定数をカンマで区切って指定することもできます。たとえば、次のように使用して ExceptionKeywordSecurityKeyword (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 設定

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()Amazon CloudWatch API リファレンス

複雑なカウンターの指定の例を次に示します。

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

WindowsPerformanceCounterSourceAmazon 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 エージェント

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

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

"MetricsFilter": "FilterExpression1;FilterExpression2"

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

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

Windows 用 Kinesis エージェントの組み込みのメトリクス名の一覧については、Windows メトリックス用 Kinesis エージェントのリスト

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

"MetricsFilter": "SourcesFailedToStart;SinksFailedToStart"

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

"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 エージェントの設定

Windows メトリックス用 Kinesis エージェントのリスト

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

単一インスタンスメトリクス

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

KinesisTapBuildNumber

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

PipesConnected

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

PipesFailedToConnect

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

SinkFactoriesFailedToLoad

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

SinkFactoriesLoaded

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

SinksFailedToStart

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

SinksStarted

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

SourcesFailedToStart

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

SourcesStarted

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

SourceFactoriesFailedToLoad

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

SourceFactoriesLoaded

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

複数インスタンスメトリクス

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

DirectorySource メトリクス

DirectorySourceBytesRead

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

DirectorySourceBytesToRead

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

DirectorySourceFilesToProcess

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

DirectorySourceRecordsRead

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

WindowsEventLogSource メトリクス

EventLogSourceEventsError

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

EventLogSourceEventsRead

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

KinesisFirehose シンクメトリクス

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 メトリクス

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 メトリクス

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

CloudWatchLatency

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

CloudWatchNonrecoverableServiceErrors

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

CloudWatchRecoverableServiceErrors

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

CloudWatchServiceSuccess

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

ブックマーク設定

デフォルトでは、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 イベントおよびパフォーマンスカウンターは、その性質上、ブックマークできません。