

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

# Microsoft Windows 用 Amazon Kinesis エージェントのトラブルシューティング
<a name="troubleshooting-kinesis-agent-windows"></a>

Microsoft Windows 用 Amazon Kinesis Agent を使用する際の問題を診断して修正するには、以下の手順を実行します。

**Topics**
+ [デスクトップまたはサーバーから予想される AWS のサービスにデータがストリーミングされない](#troubleshooting-no-data)
+ [予想されるデータがない場合がある](#troubleshooting-missing-data)
+ [データが間違った形式で到着する](#troubleshooting-bad-format)
+ [パフォーマンスの問題](#troubleshooting-poor-performance)
+ [ディスク容量の不足](#troubleshooting-out-of-disk-space)
+ [トラブルシューティングツール](#troubleshooting-tools)

## デスクトップまたはサーバーから予想される AWS のサービスにデータがストリーミングされない
<a name="troubleshooting-no-data"></a>

### Symptoms
<a name="troubleshooting-no-data-symptoms"></a>

Windows の Kinesis Agent からデータのストリームを受け取るように設定されているさまざまな AWS サービスによってホストされるログ、イベント、およびメトリクスを調べると、Kinesis Agent for Windows によってデータがストリーミングされていません。

### Causes
<a name="troubleshooting-no-data-causes"></a>

この問題の原因はいくつか考えられます。
+ ソース、シンク、またはパイプが正しく設定されていない。
+ Windows 用 Kinesis Agent の認証が正しく設定されていない。
+ Windows 用 Kinesis Agent の承認が正しく設定されていない。
+ `DirectorySource` 宣言で提供された正規表現にエラーがある。
+ 存在しないディレクトリが `DirectorySource` 宣言に指定されている。
+ AWS サービスに無効な値が指定されているため、Windows 用 Kinesis Agent からのリクエストが拒否される。
+ シンクが、指定された AWS リージョンまたは暗黙的な AWS リージョンに存在しないリソースを参照している。
+ 無効なクエリが `WindowsEventLogSource` 宣言に指定されている。
+ 無効な値がソースの `InitialPosition` キーと値のペアに指定されている。
+ `appsettings.json` 設定ファイルが目的のファイルの JSON スキーマに準拠していない。
+ AWS マネジメントコンソールで選択されたリージョンとは別のリージョンにデータがストリーミングされる。
+ Windows 用 Kinesis Agent が正しくインストールされていないか、実行中でない。

### Resolutions
<a name="troubleshooting-no-data-resolutions"></a>

ストリーミングされないデータに関する問題を解決するには、以下の手順を実行します。

1. Windows 用 Kinesis エージェントのログを`%PROGRAMDATA%\Amazon\AWSKinesisTap\logs`ディレクトリに。文字列「`ERROR`」を検索します。

   1. ソースまたはシンクがロードされなかった場合は、以下を実行します。

      1. エラーメッセージを調べ、ソースまたはシンクの `Id` を見つけます。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイル内のその `Id` に対応するソースまたはシンク宣言で、見つかったエラーメッセージに関連するエラーを確認します。詳細については、「[Microsoft Windows 用の Amazon Kinesis エージェントの設定](configuring-kinesis-agent-windows.md)」を参照してください。

      1. エラーに関連する設定ファイルの問題を修正します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、パイプ用の `SourceRef` または `SinkRef` 見つからなかったことが示されている場合は、以下を実行します。

      1. パイプ `Id` を記録します。

      1. 記録した `Id` に対応する `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルでパイプ宣言を調べます。`SourceRef` と `SinkRef` のキーと値のペアの値が、参照対象のソースおよびシンク宣言の正しいスペルの `Id` であることを確認します。誤字や脱字を修正します。ソースまたはシンク宣言が設定ファイルから欠落している場合は、宣言を追加します。詳細については、「[Microsoft Windows 用の Amazon Kinesis エージェントの設定](configuring-kinesis-agent-windows.md)」を参照してください。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、特定の IAM ユーザーまたはロールに特定のオペレーションを実行する権限が特定の IAM ユーザーまたはロールに与えられていないことが示されている場合は、以下を実行します。

      1. Windows 用 Kinesis Agent で正しい IAM ユーザーまたはロールが使用されていることを確認します。そうでない場合は、[シンクセキュリティの設定](sink-object-declarations.md#configuring-kinesis-agent-windows-sink-security-configuration)を実行し、正しい IAM ユーザーまたはロールが使用されるように Kinesis Agent for Windows の認証方法を調整します。

      1. 正しい IAM ユーザーまたはロールが使用されている場合は、AWS マネジメントコンソールを使用して、ユーザーまたはロールに関連付けられたポリシーを調べます。Windows の Kinesis Agent がアクセスするすべての AWS リソースのエラーメッセージに記載されているすべての権限がユーザーまたはロールに与えられていることを確認します。詳細については、「[認可の設定](sink-object-declarations.md#configuring-kinesis-agent-windows-authorization)」を参照してください。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルでセキュリティの問題が解決されたことを確認します。

   1. エラーメッセージに、`%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルに含まれている正規表現を解析する際に引数エラーが発生したことが示されている場合は、以下を実行します。

      1. 設定ファイルの正規表現を調べます。

      1. 正規表現の構文を確認します。正規表現を確認するために使用できるいくつかのウェブサイトがあります。または、以下のコマンドラインを使用して、`DirectorySource` ソース宣言の正規表現を確認します。

         ```
         cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
         ktdiag.exe /r sourceId
         ```

         *sourceId* を、正規表現が正しくない `DirectorySource` ソース宣言の `Id` キーと値のペアの値に置き換えます。

      1. 設定ファイルが有効になるように正規表現に必要な修正を行います。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、`%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルに含まれていない正規表現で、特定のシンクに関連する正規表現を解析する際に引数エラーが発生したことが示されている場合は、以下を実行します。

      1. 設定ファイルでシンク宣言を見つけます。

      1. AWS のサービスに特に関連するキーと値のペアが、そのサービスの検証ルールに準拠する名前を使用していることを確認します。たとえば、CloudWatch Logs グループ名には正規表現を使用して指定された特定の文字のセットのみが含まれている必要があります。`[\.\-_/#A-Za-z0-9]+`。

      1. シンク宣言のキーと値のペアで無効な名前を修正し、これらのリソースが AWS で適切に設定されていることを確認します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、パラメータが null か、欠落しているため、ソースまたはシンクをロードできないことが示された場合は、以下を実行します。

      1. ソースまたはシンクの `Id` を記録します。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで、記録した `Id` に一致するソースまたはシンク宣言を見つけます。

      1. 関連するシンクタイプについて、「[Microsoft Windows 用の Amazon Kinesis エージェントの設定](configuring-kinesis-agent-windows.md)」ドキュメントのソースまたはシンクのタイプの要件と比較して、ソースまたはシンク宣言で提供されたキーと値のペアを確認します。欠落している必要なキーと値のペアをソースまたはシンク宣言に追加します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、ディレクトリ名が無効であることが示されている場合は、以下を実行します。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで無効なディレクトリ名を見つけます。

      1. このディレクトリが存在し、ストリーミングする必要があるログファイルが含まれていることを確認します。

      1. 設定ファイルで指定されたディレクトリ名の誤りや誤字を修正します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、リソースが存在しないことが示されている場合は、以下を実行します。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで、シンク宣言に存在しないリソースのリソースリファレンスを見つけます。

      1. AWS マネジメントコンソールを使用して、シンク宣言に使用される必要がある正しい AWS リージョンでリソースを見つけます。このリソースと設定ファイルで指定されている内容を比較します。

      1. 正しいリソース名と正しいリージョンが指定されるように、設定ファイルでシンク宣言を変更します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、特定の `WindowsEventLogSource` に対してクエリが無効であることが示されている場合は、以下を実行します。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで、エラーメッセージに表示されているものと同じ `Id` の `WindowsEventLogSource` 宣言を見つけます。

      1. ソース宣言の `Query` キーと値のペアの値が「[Event queries and Event XML](https://msdn.microsoft.com/en-us/library/bb399427(v=vs.90).aspx)」に準拠していることを確認します。

      1. 準拠するようにクエリを変更します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

   1. エラーメッセージに、無効な初期位置が存在することが示されている場合は、以下を実行します。

      1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで、エラーメッセージに表示されているものと同じ `Id` のソース宣言を見つけます。

      1. 「[ブックマーク設定](source-object-declarations.md#advanced-source-configuration)」の説明に従って、許容値に準拠するようにソース宣言の `InitialPosition` キーと値のペアの値を変更します。

      1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルが JSON スキーマに準拠していることを確認します。

   1. コマンドプロンプトウィンドウで、以下のラインを呼び出します。

      ```
      cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
      %PROGRAMFILES%\Amazon\AWSKinesisTap\ktdiag.exe /c
      ```

   1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルで検出された問題を修正します。

   1. `AWSKinesisTap` サービスを停止および開始します。次に、最新のログファイルで設定の問題が解決されたことを確認します。

1. より詳細なログ作成情報を取得できるように、ログ記録のレベルを変更します。

   1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\nlog.xml` 設定ファイルを以下の内容と置き換えます。

      ```
      <?xml version="1.0" encoding="utf-8" ?>
      <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
            autoReload="true"
            throwExceptions="false"
            internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log" >
      
        <!-- 
        See https://github.com/nlog/nlog/wiki/Configuration-file 
        for information on customizing logging rules and outputs.
         -->
        <targets>
          <!-- 
          add your targets here 
          See https://github.com/nlog/NLog/wiki/Targets for possible targets.
          See https://github.com/nlog/NLog/wiki/Layout-Renderers for the possible layout renderers.
          -->
          
          <target name="logfile"
                  xsi:type="File"
                  layout="${longdate} ${logger} ${uppercase:${level}} ${message}"
                  fileName="${specialfolder:folder=CommonApplicationData}/Amazon/KinesisTap/logs/KinesisTap.log"
      	    maxArchiveFiles="90"
      	    archiveFileName="${specialfolder:folder=CommonApplicationData}/Amazon/KinesisTap/logs/Archive-{################}.log"
      	    archiveNumbering="Date"
      	    archiveDateFormat="yyyy-MM-dd"
      	    archiveEvery="Day"
      	    />
        </targets>
      
        <rules>
          <logger name="*" minlevel="Debug" writeTo="logfile" />
        </rules>
      </nlog>
      ```

   1. `AWSKinesisTap` サービスを停止および開始します。最新のログファイルで、問題の診断および解決に役立つ可能性がある追加のメッセージがログに存在するかどうかを確認します。

1. AWS マネジメントコンソールで、正しいリージョンでリソースを参照していることを確認します。

1. Windows 用 Kinesis Agent がインストールされ、実行中であることを確認します。

   1. Windows で、[**スタート**] を選択して、[**コントロール パネル**]、[**管理ツール**]、[**サービス**] の順に移動します。

   1. **AWSKinesisTap** サービスを見つけます。

   1. AWSKinesis ISTAP サービスが表示されない場合は、「」の手順を使用して Windows 用 Kinesis Agent をインストールします。[Microsoft Windows 用 Amazon Kinesis エージェントの使用開始](getting-started.md)。

   1. サービスが表示された場合は、サービスが実行中かどうかを特定します。サービスが実行されていない場合は、サービスのコンテキスト (右クリック) メニューを開き、[**開始**] を選択します。

   1. `%PROGRAMDATA%\Amazon\AWSKinesisTap\logs` ディレクトリの最新のログファイルを調べて、サービスが開始されたことを確認します。

### Applies to
<a name="troubleshooting-no-data-applies-to"></a>

この情報は、Windows バージョン 1.0.115 以降の Kinesis Agent に適用されます。

## 予想されるデータがない場合がある
<a name="troubleshooting-missing-data"></a>

### Symptoms
<a name="troubleshooting-missing-data-symptoms"></a>

Windows 用 Kinesis Agent は、ほとんどの場合、データをストリーミングしますが、一部のデータが欠落する場合があります。

### Causes
<a name="troubleshooting-missing-data-casues"></a>

この問題の原因はいくつか考えられます。
+ ブックマーク機能が使用されていない。
+ AWS サービスの現在の設定に基づいた AWS サービスのデータレート制限を超過している。
+ AWS サービスの API コールレートの制限を超過している。現在の`appsettings.json`設定ファイルと AWS アカウントの制限値を指定します。

### Resolutions
<a name="troubleshooting-missing-data-resolutions"></a>

欠落データに関する問題を解決するには、以下の手順を実行します。

1. 「[ブックマーク設定](source-object-declarations.md#advanced-source-configuration)」に記載されているブックマーク機能を使用することを検討してください。これにより、Windows 用 Kinesis Agent が停止して起動した場合でも、すべてのデータが最終的に送信されるようになります。

1. Windows 用 Kinesis Agent を使用して、問題を検出します。

   1. 「」の説明に従って、Windows 用 Kinesis Agent のストリーミングを有効にします。[Windows メトリックパイプ用の Kinesis エージェントの設定](pipe-object-declarations.md#kinesis-agent-metric-pipe-configuration)。

   1. 1 つ以上のシンクについて非常に多くの回復不能なエラーが存在する場合は、1 秒あたりに送信されるバイト数またはレコード数を特定します。次に、データがストリーミングされるリージョンとアカウントの AWS サービスに対して設定されている制限内にその値が収まっているかどうかを特定します。

   1. 制限を超えている場合は、送信されるデータの速度または量を減少するか、制限の引き揚げをリクエストするか、シャーディングを増加します (該当する場合)。

   1. 調整を行った後、Windows の組み込みメトリクスを引き続き監視して、状況が解決したことを確認します。

Kinesis Data Streams の制限については、「」を参照してください。[Kinesis Data Streams 制限](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)()*Kinesis Data Streams 開発者ガイド*。Kinesis Data Firehose の制限については、」[Amazon Kinesis Data Firehose 制限](https://docs.aws.amazon.com/firehose/latest/dev/limits.html)。

### Applies to
<a name="troubleshooting-missing-data-applies-to"></a>

この情報は、Windows バージョン 1.0.115 以降の Kinesis Agent に適用されます。

## データが間違った形式で到着する
<a name="troubleshooting-bad-format"></a>

### Symptoms
<a name="troubleshooting-bad-format-symptoms"></a>

誤ったフォーマットで AWS サービスにデータが到着します。

### Causes
<a name="troubleshooting-bad-format-causes"></a>

この問題の原因はいくつか考えられます。
+ `appsettings.json` 設定ファイルのシンク宣言の `Format` キーと値のペアの値が正しくない。
+ `DirectorySource` 宣言の `RecordParser` キーと値のペアの値が正しくない。
+ `Regex` レコードパーサーを使用する `DirectorySource` 宣言の正規表現が正しくない。

### Resolutions
<a name="troubleshooting-bad-format-resolutions"></a>

間違ったフォーマットに関する問題を解決するには、以下の手順を実行します。

1. `%PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json` 設定ファイルでシンク宣言を確認します。

1. `Format` キーと値のペアの正しい値がシンク宣言ごとに指定されていることを確認します。詳細については、「[シンク宣言](sink-object-declarations.md)」を参照してください。

1. `DirectorySource` 宣言でのソースが `Format` キーと値のペアの `xml` または `json` 値を指定するシンクにパイプで接続されている場合は、`RecordParser` キーと値のペアの以下の値のいずれかが、これらのソースによって指定されていることを確認します。
   + `SingleLineJson`
   + `Regex`
   + `SysLog`
   + `Delimited`

   その他のレコードパーサーは、テキストベースのみで、XML または JSON 形式を必要とするシンクでは正しく機能しません。

1. ログレコードが `DirectorySource` ソースタイプによって正しく解析されない場合は、コマンドプロンプトウィンドウで以下のラインを呼び出して、`DirectorySource` 宣言で指定されたタイムスタンプと正規表現のキーと値のペアを確認します。

   ```
   cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
   ktdiag.exe /r sourceID
   ```

   *sourceId* を、適切に機能していないと思われる `DirectorySource` ソース宣言の `Id` キーと値のペアの値に置き換えます。`ktdiag.exe` によってレポートされたすべての問題を修正します。

### Applies to
<a name="troubleshooting-bad-format-applies-to"></a>

この情報は、Windows バージョン 1.0.115 以降の Kinesis Agent に適用されます。

## パフォーマンスの問題
<a name="troubleshooting-poor-performance"></a>

### Symptoms
<a name="troubleshooting-poor-performance-symptoms"></a>

Windows Kinesis Agent をインストールして起動したら、アプリケーションおよびサービスのレイテンシーが増加します。

### Causes
<a name="troubleshooting-poor-performance-causes"></a>

この問題の原因はいくつか考えられます。
+ Windows 用 Kinesis Agent が実行されているマシンに、必要なデータの量をストリーミングする十分な容量がない。
+ 不要なデータが 1 つ以上の AWS サービスにストリーミングされる。
+ Windows 用 Kinesis Agent は、このような高いデータ転送速度用に設定されていない AWS サービスにデータをストリーミングします。
+ Windows 用 Kinesis Agent が、API コールレートの制限が低すぎるアカウントで AWS サービスのオペレーションを呼び出している。

### Resolutions
<a name="troubleshooting-poor-performance-resolutions"></a>

パフォーマンスの問題を解決するには、以下の手順を実行します。

1. Windows のリソースモニターアプリケーションを使用して、メモリ、CPU、ディスク、およびネットワーク使用料を確認します。Windows の Kinesis Agent を使用して大量のデータをストリーミングする必要がある場合、設定によっては、これらの領域の一部でより高い容量をマシンにプロビジョニングする必要がある場合があります。

1. フィルタリングを使用して、ログデータの量を減らすことができる場合があります。
   + [WindowsEventLogSource 設定](source-object-declarations.md#window-event-source-configuration) で `Query` キーと値のペアを確認します。
   + [パイプの設定](pipe-object-declarations.md#kinesis-agent-pipe-configuration) でパイプラインのフィルタリングを確認します。
   + Amazon CloudWatch メトリクスのフィルタリングについては、「」を参照してください。[CloudWatch シンクの設定](sink-object-declarations.md#sink-object-declarations-cloud-watch)).

1. Windows のパフォーマンスモニターアプリケーションを使用して、Windows の Kinesis エージェントメトリクスを確認するか、CloudWatch にメトリクスをストリーミングします ([Windows 組み込みメトリクスソース Kinesis エージェント](source-object-declarations.md#kinesis-agent-builin-metrics-source)). Windows パフォーマンスモニターアプリケーションで、Windows のシンクおよびソース用 Kinesis Agent のカウンターを追加できます。カウンターは、[**AWSKinesisTap Sinks**] および [**AWSKinesisTap Sources**] カウンターカテゴリの下に一覧表示されます。  
![\[Windows パフォーマンスモニターアプリケーションKinesis Windows カウンターカテゴリを表示するコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/kinesis-agent-windows/latest/userguide/images/AddPerformanceCountersScreenshot.png)

   たとえば、Kinesis Data Firehose パフォーマンスの問題を診断するには、**Kinesis Firehose**パフォーマンスカウンター。  
![\[Kinesis Data Firehose パフォーマンスカウンターを表示するコンソールのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/kinesis-agent-windows/latest/userguide/images/KinesisFirehosePerformanceCountersScreenshot.png)

   回復可能なエラーが大量にある場合は、[`%PROGRAMDATA%\Amazon\AWSKInesisTap\logs`ディレクトリに。`KinesisStream` または `KinesisFirehose` シンクについてスロットリングが発生する場合は、以下を実行します。
   + データのストリーミングが速すぎるためにスロットリングが発生した場合は、Kinesis Data Streams のシャード数を増やすことを検討してください。詳細については、「」を参照してください。[リシャーディング、拡張、並列処理](https://docs.aws.amazon.com/streams/latest/dev/kinesis-record-processor-scaling.html)()*Kinesis Data Streams 開発者ガイド*。
   + Kinesis データストリームの API コールに制限が適用されている場合は、Kinesis Data Streams の API コールの制限を引き揚げるか、シンクのバッファサイズを増やすことを検討してください。詳細については、「」を参照してください。[Kinesis Data Streams 制限](https://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html)()*Kinesis Data Streams 開発者ガイド*。
   + データのストリーミングが速すぎる場合は、Kinesis Data Firehose 配信ストリームの速度制限の増加をリクエストすることを検討してください。または、API 呼び出しに制限が適用されている場合は、API 呼び出し制限の増加をリクエストするか (「[Amazon Kinesis Data Firehose API コール制限](https://docs.aws.amazon.com/firehose/latest/dev/limits.html)」を参照)、シンクのバッファサイズを増やします。
   + Kinesis データストリームストリームのシャード数を増加するか、KinesKinesis Data Firehose e 配信システムの速度制限を増加したら、Windows の Kinesis エージェントを修正します。`appsettings.json`設定ファイルを使用して、シンクの 1 秒あたりのレコード数または 1 秒あたりのバイト数を増加します。これを実行しない場合、Windows 用 Kinesis Agent では制限の増加を活用できません。

### Applies to
<a name="troubleshooting-poor-performance-applies-to"></a>

この情報は、Windows バージョン 1.0.115 以降の Kinesis Agent に適用されます。

## ディスク容量の不足
<a name="troubleshooting-out-of-disk-space"></a>

### Symptoms
<a name="troubleshooting-out-of-disk-space-symptoms"></a>

Windows 用 Kinesis Agent が、1 つ以上のディスクドライブのディスク容量が非常に低くなっています。

### Causes
<a name="troubleshooting-out-of-disk-space-causes"></a>

この問題の原因はいくつか考えられます。
+ Windows 用 Kinesis Agent のログ記録設定ファイルが正しくない。
+ Windows 用 Kinesis Agent の永続的なキューが正しく設定されていない。
+ その他のいくつかのアプリケーションまたはサービスによってディスク容量が消費されている。

### Resolutions
<a name="troubleshooting-out-of-disk-space-resolutions"></a>

ディスク容量の問題を解決するには、以下の手順を実行します。
+ Windows の Kinesis Agent ログファイルが含まれているディスクのディスク容量が少ない場合は、ログファイルのディレクトリ (通常は`%PROGRAMDATA%\Amazon\AWSKinesisTap\logs`). 妥当な数のログファイルが保持されており、ログファイルが合理的なサイズであることを確認します。Windows 用 Kinesis Agent のログの場所、保持、および詳細レベルを制御するには、`%PROGRAMFILES%\Amazon\AWSKinesisTap\Nlog.xml`設定ファイルに。
+ シンクのキューイング機能が有効な場合は、この機能を使用するシンク宣言を調べます。`QueuePath` キーと値のペアが参照するディスクドライブの容量が、`QueueMaxBatches` キーと値のペアを使用して指定されたバッチの最大数を含むのに十分な容量であることを確認します。これができない場合は、指定されたディスクドライブの残りのディスク容量にデータが容易に適合するように `QueueMaxBatches` キーと値のペアの値を減らします。
+  Windows ファイルエクスプローラーを使用して、ディスク容量を消費しているファイルを見つけ、余分なファイルを転送または削除します。大量のディスク容量を消費しているアプリケーションまたはサービスの設定を変更します。

### Applies to
<a name="troubleshooting-out-of-disk-space-applies-to"></a>

この情報は、Windows バージョン 1.0.115 以降の Kinesis Agent に適用されます。

## トラブルシューティングツール
<a name="troubleshooting-tools"></a>

設定ファイルの検証に加えて、`ktdiag.exe`ツールを使用すると、Windows の Kinesis Agent を設定および使用する際の問題を診断および解決する複数の他の機能を利用できます。`ktdiag.exe` ツールは `%PROGRAMFILES%\Amazon\AWSKinesisTap` ディレクトリにあります。
+ 特定のファイルパターンを持つログファイルがディレクトリに書き込まれる場合でも、Kinesis Agent for Windows によって処理されていないと考えられる場合は、`/w`スイッチを使用して、これらの変更が検出されていることを確認します。たとえば、`*.log` ファイル名のパターンを持つログファイルが `c:\foo` ディレクトリに書き込まれると予想しているとします。`ktdiag.exe` ツールを実行する際に、ディレクトリとファイルパターンを指定して、`/w` スイッチを使用します。

  ```
  cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
  ktdiag /w c:\foo *.log
  ```

   ログファイルが書き込まれている場合は、次のような出力が表示されます。

  ```
  Type any key to exit this program...
  File: c:\foo\log1.log ChangeType: Created
  File: c:\foo\log1.log ChangeType: Deleted
  File: c:\foo\log1.log ChangeType: Created
  File: c:\foo\log1.log ChangeType: Changed
  File: c:\foo\log1.log ChangeType: Changed
  File: c:\foo\log1.log ChangeType: Changed
  File: c:\foo\log1.log ChangeType: Changed
  ```

  このような出力が表示されない場合は、ログの書き込み時にアプリケーションまたはサービスの問題が生じているか、Kinesis Agent for Windows の問題ではなく、セキュリティ設定の問題が存在します。このような出力が表示されているにもかかわらず、Windows 用 Kinesis Agent がログを処理していないように思われる場合は、」[デスクトップまたはサーバーから予想される AWS のサービスにデータがストリーミングされない](#troubleshooting-no-data)。
+ ログがごくまれにしか書き込まれない場合でも、Windows の Kinesis エージェントが正しく機能していることを確認するのに役立ちます。たとえば、以下のように、`/log4net` スイッチを使用して、`Log4net` ライブラリを使用してログを書き込むアプリケーションをシミュレートします。

  ```
  cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
  KTDiag.exe /log4net c:\foo\log2.log
  ```

  これによって、`Log4net` スタイルのログファイルが `c:\foo\log2.log` ログファイルに書き込まれ、キーが押されるまで新しいログエントリが追加され続きます。ファイル名の後に任意で指定される追加のスイッチを使用して、複数のオプションを設定できます。  
ロック: `-lm`、`-li`、または `-le`  
ログファイルがロックされる方法を制御する以下のロッキングスイッチのいずれかを指定できます。    
`-lm`  
最小範囲のロックがログファイルに使用され、ログファイルへの最大限のアクセスが可能になります。  
`-li`  
同じプロセス内のスレッドのみが同時にログにアクセスできます。  
`-le`  
一度に 1 つのスレッドのみがログにアクセスできます。これがデフォルト値です。  
`-tn:`*milliseconds*  
ログエントリの書き込み間の時間 (*milliseconds* の数字) を指定します。デフォルト値は 1000 ミリ秒 (1 秒) です。  
`-sm:`*bytes*  
各ログエントリの時間 (*bytes* の数字) を指定します。デフォルト値は 1000 バイトです。  
`-bk:`*number*  
一度に書き込みできるログエントリの数 (*number*) を指定します。デフォルトは 1 です。
+ Windows イベントログに書き込むアプリケーションをシミュレートすると役に立つ場合があります。以下のように、`/e` スイッチを使用して、Windows イベントログにログエントリを書き込みます。

  ```
  cd /D %PROGRAMFILES%\Amazon\AWSKinesisTap
  KTDiag.exe /e Application
  ```

  これによって、キーが押されるまで、ログエントリが Windows アプリケーションイベントログに書き込まれます。ログの名前の後に以下の追加オプションを任意で指定できます。  
`-tn:`*milliseconds*  
ログエントリの書き込み間の時間 (*milliseconds* の数字) を指定します。デフォルト値は 1000 ミリ秒 (1 秒) です。  
`-sm:`*bytes*  
各ログエントリの時間 (*bytes* の数字) を指定します。デフォルト値は 1000 バイトです。  
`-bk:`*number*  
一度に書き込みできるログエントリの数 (*number*) を指定します。デフォルトは 1 です。