Contoh Konfigurasi Kinesis Agent for Windows - Amazon Kinesis Agent for Microsoft Windows

Contoh Konfigurasi Kinesis Agent for Windows

File konfigurasi appsettings.json adalah dokumen JSON yang mengontrol bagaimana Amazon Kinesis Agent for Microsoft Windows mengumpulkan log, peristiwa, dan metrik. File ini juga mengontrol cara Kinesis Agent for Windows mengubah data tersebut dan mengalirkannya ke berbagai layanan AWS. Untuk detail tentang deklarasi sumber, sink, dan alur dalam file konfigurasi, lihat Deklarasi Sumber, Deklarasi Sink, dan Deklarasi Alur.

Bagian berikut berisi contoh file konfigurasi untuk beberapa jenis skenario.

Streaming dari Berbagai Sumber ke Kinesis Data Streams

Contoh file konfigurasi appsettings.json berikut menunjukkan log dan peristiwa streaming dari berbagai sumber ke Kinesis Data Streams dan dari pengukur performa Windows ke metrik Amazon CloudWatch.

DirectorySource, Pengurai Catatan SysLog

File berikut mengalirkan catatan log berformat syslog dari semua file dengan ekstensi file .log di direktori C:\LogSource\ ke aliran Kinesis Data Streams SyslogKinesisDataStream di Wilayah us-east-1. Bookmark dibuat untuk memastikan semua data dari berkas log dikirim bahkan meski agen dimatikan dan dinyalakan kembali kemudian. Aplikasi kustom dapat membaca dan memproses catatan dari aliran SyslogKinesisDataStream.

{ "Sources": [ { "Id": "SyslogDirectorySource", "SourceType": "DirectorySource", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "RecordParser": "SysLog", "TimeZoneKind": "UTC", "InitialPosition": "Bookmark" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "SyslogKinesisDataStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "SyslogDS2KSSink", "SourceRef": "SyslogDirectorySource", "SinkRef": "KinesisStreamSink" } ] }

DirectorySource, Pengurai Catatan SingleLineJson

File berikut mengalirkan catatan log berformat JSON dari semua file dengan ekstensi file .log di direktori C:\LogSource\ ke aliran Kinesis Data Streams JsonKinesisDataStream di Wilayah us-east-1. Sebelum streaming, pasangan kunci-nilai untuk kunci ComputerName dan DT ditambahkan ke setiap objek JSON, dengan nilai-nilai untuk nama komputer dan tanggal dan waktu catatan diproses. Aplikasi kustom dapat membaca dan memproses catatan dari aliran JsonKinesisDataStream.

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

ExchangeLogSource

File berikut mengalirkan catatan log yang dihasilkan oleh Microsoft Exchange dan disimpan dalam file dengan ekstensi .log di direktori C:\temp\ExchangeLog\ ke aliran data Kinesis ExchangeKinesisDataStream di Wilayah us-east-1 dalam format JSON. Meskipun log Exchange tidak dalam format JSON, Kinesis Agent for Windows dapat mengurai log dan mentransformasinya menjadi JSON. Sebelum streaming, pasangan kunci-nilai untuk kunci ComputerName dan DT ditambahkan ke setiap objek JSON yang berisi nilai-nilai untuk nama komputer dan tanggal dan waktu catatan diproses. Aplikasi kustom dapat membaca dan memproses catatan dari aliran ExchangeKinesisDataStream.

{ "Sources": [ { "Id": "ExchangeSource", "SourceType": "ExchangeLogSource", "Directory": "C:\\temp\\ExchangeLog\", "FileNameFilter": "*.log" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "ExchangeKinesisDataStream", "Region": "us-east-1", "Format": "json", "ObjectDecoration": "ComputerName={ComputerName};DT={timestamp:yyyy-MM-dd HH:mm:ss}" } ], "Pipes": [ { "Id": "ExchangeSourceToKinesisStreamSink", "SourceRef": "ExchangeSource", "SinkRef": "KinesisStreamSink" } ] }

W3SVCLogSource

File berikut mengalirkan Internet Information Services (IIS) untuk catatan log Windows yang disimpan di lokasi standar untuk file-file tersebut ke aliran Kinesis Data Streams IISKinesisDataStream di Wilayah us-east-1. Aplikasi kustom dapat membaca dan memproses catatan dari aliran IISKinesisDataStream. IIS adalah server web untuk Windows.

{ "Sources": [ { "Id": "IISLogSource", "SourceType": "W3SVCLogSource", "Directory": "C:\\inetpub\\logs\\LogFiles\\W3SVC1", "FileNameFilter": "*.log" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "IISKinesisDataStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "IISLogSourceToKinesisStreamSink", "SourceRef": "IISLogSource", "SinkRef": "KinesisStreamSink" } ] }

WindowsEventLogSource dengan Kueri

File berikut mengalirkan log acara dari log peristiwa sistem Windows yang memiliki tingkat Critical atau Error (kurang dari atau sama dengan 2) ke aliran data Kinesis SystemKinesisDataStream di Wilayah us-east-1 dalam format JSON. Aplikasi kustom dapat membaca dan memproses catatan dari aliran SystemKinesisDataStream.

{ "Sources": [ { "Id": "SystemLogSource", "SourceType": "WindowsEventLogSource", "LogName": "System", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "SystemKinesisDataStream", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "SLSourceToKSSink", "SourceRef": "SystemLogSource", "SinkRef": "KinesisStreamSink" } ] }

WindowsETWEventSource

File berikut mengalirkan pengecualian Microsoft Common Language Runtime (CLR) dan peristiwa keamanan ke aliran data Kinesis ClrKinesisDataStream di Wilayah us-east-1 dalam format JSON. Aplikasi kustom dapat membaca dan memproses catatan dari aliran ClrKinesisDataStream.

{ "Sources": [ { "Id": "ClrETWEventSource", "SourceType": "WindowsETWEventSource", "ProviderName": "Microsoft-Windows-DotNETRuntime", "TraceLevel": "Verbose", "MatchAnyKeyword": "0x00008000, 0x00000400" } ], "Sinks": [ { "Id": "KinesisStreamSink", "SinkType": "KinesisStream", "StreamName": "ClrKinesisDataStream", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "ETWSourceToKSSink", "SourceRef": "ClrETWEventSource", "SinkRef": "KinesisStreamSink" } ] }

WindowsPerformanceCounterSource

File berikut mengalirkan pengukur performa untuk total file yang terbuka, total upaya masuk sejak reboot, jumlah pembacaan disk per detik, dan persentase ruang disk kosong ke metrik CloudWatch di Wilayah us-east-1. Anda dapat membuat grafik metrik ini di CloudWatch, membangun dasbor dari grafik, dan mengatur alarm yang mengirim notifikasi bila ambang batas terlampaui.

{ "Sources": [ { "Id": "PerformanceCounter", "SourceType": "WindowsPerformanceCounterSource", "Categories": [ { "Category": "Server", "Counters": [ "Files Open", "Logon Total" ] }, { "Category": "LogicalDisk", "Instances": "*", "Counters": [ "% Free Space", { "Counter": "Disk Reads/sec", "Unit": "Count/Second" } ] } ], } ], "Sinks": [ { "Namespace": "MyServiceMetrics", "Region": "us-east-1", "Id": "CloudWatchSink", "SinkType": "CloudWatch" } ], "Pipes": [ { "Id": "PerformanceCounterToCloudWatch", "SourceRef": "PerformanceCounter", "SinkRef": "CloudWatchSink" } ] }

Streaming dari Log Peristiwa Aplikasi Windows ke Sink

Contoh file konfigurasi appsettings.json berikut menunjukkan streaming log peristiwa aplikasi Windows ke berbagai sink di Amazon Kinesis Agent for Microsoft Windows. Untuk contoh menggunakan tipe sink KinesisStream dan CloudWatch, lihat Streaming dari Berbagai Sumber ke Kinesis Data Streams.

KinesisFirehose

File berikut mengalirkan log acara aplikasi Windows Critical atau Error ke aliran pengiriman Kinesis Data Firehose WindowsLogFirehoseDeliveryStream di Wilayah us-east-1. Jika konektivitas ke Kinesis Data Firehose terganggu, peristiwa akan diantrekan terlebih dahulu di memori. Kemudian jika perlu, peristiwa akan diantrekan ke file pada disk sampai konektivitas dipulihkan. Kemudian, peristiwa akan dihapus dari antrean dan dikirim dengan diikuti peristiwa baru.

Anda dapat mengonfigurasi Kinesis Data Firehose agar menyimpan data yang dialirkan ke beberapa jenis layanan penyimpanan dan analisis berdasarkan persyaratan data pipeline.

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "WindowsEventLogSource", "LogName": "Application", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "WindowsLogKinesisFirehoseSink", "SinkType": "KinesisFirehose", "StreamName": "WindowsLogFirehoseDeliveryStream", "Region": "us-east-1", "QueueType": "file" } ], "Pipes": [ { "Id": "ALSource2ALKFSink", "SourceRef": "ApplicationLogSource", "SinkRef": "WindowsLogKinesisFirehoseSink" } ] }

CloudWatchLogs

File berikut mengalirkan log acara aplikasi Windows Critical atau Error ke aliran log CloudWatch Logs di grup log MyServiceApplicationLog-Group. Nama setiap aliran dimulai dengan Stream-. Nama diakhiri dengan empat digit tahun, dua digit bulan, dan dua digit tanggal pembuatan aliran, semua bersambung (misalnya, Stream-20180501 adalah aliran yang dibuat pada tanggal 1 Mei 2018).

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "WindowsEventLogSource", "LogName": "Application", "Query": "*[System/Level<=2]" } ], "Sinks": [ { "Id": "CloudWatchLogsSink", "SinkType": "CloudWatchLogs", "LogGroup": "MyServiceApplicationLog-Group", "LogStream": "Stream-{timestamp:yyyyMMdd}", "Region": "us-east-1", "Format": "json" } ], "Pipes": [ { "Id": "ALSource2CWLSink", "SourceRef": "ApplicationLogSource", "SinkRef": "CloudWatchLogsSink" } ] }

Menggunakan Alur

Contoh file konfigurasi appsettings.json berikut menunjukkan penggunaan fitur terkait alur.

Contoh ini mengalirkan entri log dari c:\LogSource\ ke aliran pengiriman Kinesis Data Firehose ApplicationLogFirehoseDeliveryStream. Ini hanya mencakup baris yang cocok dengan ekspresi reguler yang ditentukan oleh pasangan kunci-nilai FilterPattern. Khususnya, hanya baris dalam berkas log yang dimulai dengan 10 atau 11 yang dialirkan ke Kinesis Data Firehose.

{ "Sources": [ { "Id": "ApplicationLogSource", "SourceType": "DirectorySource", "Directory": "C:\\LogSource\\", "FileNameFilter": "*.log", "RecordParser": "SingleLine" } ], "Sinks": [ { "Id": "ApplicationLogKinesisFirehoseSink", "SinkType": "KinesisFirehose", "StreamName": "ApplicationLogFirehoseDeliveryStream", "Region": "us-east-1" } ], "Pipes": [ { "Id": "ALSourceToALKFSink", "Type": "RegexFilterPipe", "SourceRef": "ApplicationLogSource", "SinkRef": "ApplicationLogKinesisFirehoseSink", "FilterPattern": "^(10|11),.*" } ] }

Menggunakan Beberapa Sumber dan Alur

Contoh file konfigurasi appsettings.json berikut menunjukkan penggunaan beberapa sumber dan alur.

Contoh ini mengalirkan aplikasi, keamanan, dan sistem Log Peristiwa Windows ke aliran pengiriman Kinesis Data Firehose EventLogStream menggunakan tiga sumber, tiga alur, dan satu sink.

{ "Sources": [ { "Id": "ApplicationLog", "SourceType": "WindowsEventLogSource", "LogName": "Application" }, { "Id": "SecurityLog", "SourceType": "WindowsEventLogSource", "LogName": "Security" }, { "Id": "SystemLog", "SourceType": "WindowsEventLogSource", "LogName": "System" } ], "Sinks": [ { "Id": "EventLogSink", "SinkType": "KinesisFirehose", "StreamName": "EventLogStream", "Format": "json" }, ], "Pipes": [ { "Id": "ApplicationLogToFirehose", "SourceRef": "ApplicationLog", "SinkRef": "EventLogSink" }, { "Id": "SecurityLogToFirehose", "SourceRef": "SecurityLog", "SinkRef": "EventLogSink" }, { "Id": "SystemLogToFirehose", "SourceRef": "SystemLog", "SinkRef": "EventLogSink" } ] }