步驟 2:安裝、設定及執行適用於視窗的 Kinesis 代理程式 - Microsoft Windows 的 Amazon Kinesis Kinesis 代理程式

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 2:安裝、設定及執行適用於視窗的 Kinesis 代理程式

在此步驟中,您會使用 AWS 管理主控台遠端連線至您在建立 Amazon EC2 執行個體以執行適用於視窗的 Kinesis 代理程式。您接著會在執行個體上安裝 Amazon Kinesis imple Storage Agent,建立及部署適用於 Windows 的 Kinesis Agent 的組態檔案,然後啟動智慧型手機服務。

  1. 透過 Remore 桌面通訊協定 (RDP) 遠端連線至執行個體,請遵循步驟 2:連結到您的執行個體中的Amazon EC2 執行個體使用者指南

  2. 在執行個體上,使用 Windows 伺服器管理員停用使用者和系統管理員的 Microsoft Internet Explorer 增強式安全性設定。如需詳細資訊,請參閱 Microsoft TechNet 網站上的 How To Turn Off Internet Explorer Enhanced Security Configuration

  3. 在執行個體上,安裝並設定適用於 Windows 的 Kinesis 代理程式。如需詳細資訊,請參閱 安裝適用於視窗的 Kinesis 代理程式

  4. 在執行個體上,使用記事本建立 Windows 組態檔的 Kinesis Agent (Kinesis Agent)。將檔案儲存至 %PROGRAMFILES%\Amazon\AWSKinesisTap\appsettings.json。將以下內容新增至組態檔案:

    { "Sources": [ { "Id": "JsonLogSource", "SourceType": "DirectorySource", "RecordParser": "SingleLineJson", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "InitialPosition": 0 } ], "Sinks": [ { "Id": "FirehoseLogStream", "SinkType": "KinesisFirehose", "StreamName": "log-delivery-stream", "Region": "us-east-1", "Format": "json", "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}" } ], "Pipes": [ { "Id": "JsonLogSourceToFirehoseLogStream", "SourceRef": "JsonLogSource", "SinkRef": "FirehoseLogStream" } ] }

    這個檔案會設定 Windows 的 Kinesis 代理程式,以便從c:\logsource\目錄 (source) 新增至 Kinesis Data Firehose 交付串流 (名為log-delivery-stream(sink。在每個日誌記錄串流至 Kinesis Data Firehose 前,它會使用兩個包含電腦名稱和時間戳記的額外鍵/值對增加。

  5. 建立 c:\LogSource\ 目錄,然後使用記事本在該目錄中建立包含以下內容的 test.log 檔案:

    { "Message": "Copasetic message 1", "Severity": "Information" } { "Message": "Copasetic message 2", "Severity": "Information" } { "Message": "Problem message 2", "Severity": "Error" } { "Message": "Copasetic message 3", "Severity": "Information" }
  6. 在提高權限執行的 PowerShell 工作階段中,使用以下命令啟動 AWSKinesisTap 服務:

    Start-Service -ServiceName AWSKinesisTap
  7. 使用檔案總管,瀏覽至 %PROGRAMDATA%\Amazon\AWSKinesisTap\logs 目錄。開啟最近的日誌檔案。日誌檔案看起來應該會和以下內容相似:

    2018-09-28 23:51:02.2472 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AWS.AWSEventSinkFactory. 2018-09-28 23:51:02.2784 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.PerformanceCounterSinkFactory. 2018-09-28 23:51:02.5753 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.DirectorySourceFactory. 2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.ExchangeSource.ExchangeSourceFactory. 2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Uls.UlsSourceFactory. 2018-09-28 23:51:02.5909 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Windows.WindowsSourceFactory. 2018-09-28 23:51:02.9347 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.Core.Pipes.PipeFactory. 2018-09-28 23:51:03.5128 Amazon.KinesisTap.Hosting.LogManager INFO Registered factory Amazon.KinesisTap.AutoUpdate.AutoUpdateFactory. 2018-09-28 23:51:03.5440 Amazon.KinesisTap.Hosting.LogManager INFO Performance counter sink started. 2018-09-28 23:51:03.7628 Amazon.KinesisTap.Hosting.LogManager INFO KinesisFirehoseSink id FirehoseLogStream for StreamName log-delivery-stream started. 2018-09-28 23:51:03.7784 Amazon.KinesisTap.Hosting.LogManager INFO Connected source JsonLogSource to sink FirehoseLogStream 2018-09-28 23:51:03.7940 Amazon.KinesisTap.Hosting.LogManager INFO DirectorySource id JsonLogSource watching directory C:\LogSource\ with filter *.log started.

    此日誌檔案會指出服務已啟動,並且現在已會從 c:\LogSource\ 目錄收集日誌記錄。每一行都會剖析為單一 JSON 物件。電腦名稱和時間戳記的鍵/值對會新增至每個物件。然後,它會串流至 Kinesis Data Firehose。

  8. 在一兩分鐘內,導覽至您在中建立的 Amazon S3 儲存貯體建立 Amazon S3 儲存貯體使用 AWS 管理主控台。確認您已在主控台上選擇正確的區域。

    在該儲存貯體中,有一個目前年份的資料夾。開啟該資料夾來顯示目前月份的資料夾。開啟該資料夾來顯示目前日期的資料夾。開啟該資料夾來顯示目前小時 (UTC) 的資料夾。開啟該資料夾來顯示名稱開頭為 log-delivery-stream 的一或多個項目。

    螢幕擷取畫面,示範在 Amazon S3 中瀏覽日誌記錄。
  9. 開啟最新項目的內容,確認日誌記錄已成功存放在 Amazon S3 中,並包含所需的增強。若一切都設定正確,內容看起來會和以下內容相似:

    {"Message":"Copasetic message 1","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"} {"Message":"Copasetic message 2","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"} {"Message":"Problem message 2","Severity":"Error","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"} {"Message":"Copasetic message 3","Severity":"Information","ComputerName":"EC2AMAZ-ABCDEFGH","DT":"2018-09-28 23:51:04"}
  10. 如需解決任何下列問題的資訊,請參閱針對微軟視窗的 Amazon Kinesis 代理程式疑難排解

    • Windows 日誌檔案的 Kinesis Agent 包含錯誤。

    • Amazon S3 中的預期資料夾或項目不存在。

    • Amazon S3 項目的內容不正確。

後續步驟

步驟 3:在 Amazon S3 中查詢日誌資料