Declarações de origem - Agente do Amazon Kinesis do Microsoft Windows

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Declarações de origem

No Amazon Kinesis Agent para Microsoft Windows,Declarações de origemDescrever onde e o que os dados de log, eventos e métricas devem ser coletados. Elas também podem especificar informações para analisar esses dados para que possas ser transformados. As seções a seguir descrevem as configurações para os tipos de origem integrados que estão disponíveis no Kinesis Agent para Windows. Como o Kinesis Agent para Windows é extensível, você pode adicionar tipos de origem personalizados. Cada tipo de origem geralmente requer pares de chave-valor específicos nos objetos de configuração que são relevantes para esse tipo de origem.

Todas as declarações de origem devem conter pelo menos os seguintes pares de chave-valor:

Id

Uma string exclusiva que identifica um objeto de origem específico no arquivo de configuração.

SourceType

O nome do tipo de origem para esse objeto de origem. O tipo de origem especifica a origem dos dados de log, eventos ou métricas que estão sendo coletados por esse objeto de origem. Ele também controla quais outros aspectos da origem podem ser declarados.

Para obter exemplos de arquivos de configuração completos que usam tipos diferentes de declarações de origem, consulte Streaming de várias origens para o Kinesis Data Streams.

Configuração de DirectorySource

Overview

O tipo de origem DirectorySource reúne logs de arquivos armazenados no diretório especificado. Como os arquivos de log são fornecidos em vários formatos diferentes, a declaração DirectorySource permite que você especifique o formato dos dados no arquivo de log. Depois você pode transformar o conteúdo do log em um formato padrão, como JSON ou XML, antes do streaming para vários serviços da AWS.

Veja a seguir um exemplo de declaração 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" }

Todas as declarações DirectorySource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "DirectorySource" (obrigatória).

Directory

O caminho para o diretório que contém os arquivos de log (obrigatório).

FileNameFilter

Opcionalmente, limita o conjunto de arquivos no diretório em que os dados de log são coletados com base em um padrão de nomenclatura de arquivos curinga. Se você tiver vários padrões de nome de arquivo de log, esse recurso permite que você use um únicoDirectorySource, conforme mostrado no exemplo a seguir.

FileNameFilter: "*.log|*.txt"

Às vezes, os administradores de sistema compactam arquivos de log antes de arquivá-los. Se você especificar"*.*"emFileNameFilter, os arquivos compactados conhecidos agora são excluídos. Este recurso impede.zip,.gz, e.bz2sejam transmitidos acidentalmente. Se esse par de chave/valor não for especificado, os dados de todos os arquivos no diretório serão coletados por padrão.

IncludeSubdirectories

Especifica monitorar subdiretórios para profundidade arbitrária limitada pelo sistema operacional. Esse recurso é útil para monitorar servidores da Web com vários sites. Você também pode usar oIncludeDirectoryFilterpara monitorar apenas determinados subdiretórios especificados no filtro.

RecordParser

Especifica como o tipo de origem DirectorySource deve analisar os arquivos de log que são encontrados no diretório especificado. Esse par de chave-valor é obrigatório, e os valores válidos são os seguintes:

  • SingleLine— cada linha do arquivo de log é um registro de log.

  • SingleLineJson— cada linha do arquivo de log é um registro de log formatado JSON. Esse analisador é útil quando você deseja adicionar outros pares de chave-valor ao objeto JSON usando decoração de objeto. Para obter mais informações, consulte Configuração de decorações de coletor. Para obter um exemplo que usa o analisador de registros SingleLineJson, consulte Tutorial: Transmitir arquivos de log JSON para o Amazon S3 usando o Kinesis Agent para Windows.

  • Timestamp— uma ou mais linhas podem incluir um registro de log. O registro de log começa com um timestamp. Essa opção exige a especificação do par de chave-valor TimestampFormat.

  • Regex— cada registro começa com o texto que corresponde a uma expressão regular específica. Essa opção exige a especificação do par de chave-valor Pattern.

  • SysLog— Indica que o arquivo de log foi gravado nosyslogformato padrão. O arquivo de log é analisado em registros de acordo com essa especificação.

  • Delimited— uma versão mais simples do analisador de registros Regex em que os itens de dados nos registros do log são separados por um delimitador consistente. Essa opção é mais fácil de usar e é executada com mais rapidez do que o analisador Regex, e é a opção preferencial quando está disponível. Ao usar essa opção, você deve especificar o par de chave-valor Delimiter.

TimestampField

Especifica qual campo JSON contém o timestamp para o registro. É usado somente com o SingleLineJson RecordParser. Esse par de chave/valor é opcional. Se não for especificado, o Kinesis Agent para Windows usará a hora em que o registro foi lido para o timestamp. Uma vantagem de especificar o par de chave-valor é que as estatísticas de latência geradas pelo Kinesis Agent para Windows são mais precisas.

TimestampFormat

Especifica como analisar a data e a hora associadas ao registro. O valor é a string epoch ou uma string de formato de data/hora .NET. Se o valor for epoch, o tempo será analisado com base no horário UNIX Epoch. Para obter mais informações sobre o horário UNIX Epoch, consulte Horário Unix. Para obter mais informações sobre strings de formato de data/hora do .NET, consulte Strings de formato de data e hora personalizadas na documentação do Microsoft .NET. Esse par de chave-valor será obrigatório somente se o analisador de registros Timestamp for especificado, ou o analisador de registros SingleLineJson for especificado junto com o par de chave-valor TimestampField.

Pattern

Especifica uma expressão regular que deve corresponder à primeira linha de um registro possivelmente de várias linhas. Esse par de chave-valor só é obrigatório para o analisador de registros Regex.

ExtractionPattern

Especifica uma expressão regular que deve usar grupos nomeados. O registro é analisado usando essa expressão regular e os grupos nomeados formam os campos do registro analisado. Esses campos são usados como base para criar objetos JSON ou XML ou documentos dos quais é feito streaming pelos coletores para vários serviços da AWS. Esse par de chave/valor é opcional e está disponível com oRegexe o analisador de carimbo de data/hora.

O nome do grupo Timestamp é especialmente processado, uma vez que ele indica para o analisador Regex qual campo contém a data e a hora para cada registro em cada arquivo de log.

Delimiter

Especifica o caractere ou a string que separa cada item em cada registro de log. Esse par de chave-valor deve e só pode ser usado com o analisador de registros Delimited. Use a sequência de dois caracteres \t para representar o caractere de tabulação.

HeaderPattern

Especifica uma expressão regular para corresponder à linha do arquivo de log que contém o conjunto de cabeçalhos para o registro. Se o arquivo de log não contiver informações de cabeçalho, use o par de chave-valor Headerspara especificar os cabeçalhos implícitos. O par de chave-valor HeaderPattern é opcional e só é válido para o analisador de registros Delimited.

nota

Uma entrada de cabeçalho vazia (de comprimento 0) para uma coluna faz com que os dados dessa coluna sejam filtrados da saída final da saída analisada DirectorySource.

Headers

Especifica os nomes das colunas de dados analisados usando o delimitador especificado. Esse par de chave/valor é opcional e só é válido para o analisador de registros Delimited.

nota

Uma entrada de cabeçalho vazia (de comprimento 0) para uma coluna faz com que os dados dessa coluna sejam filtrados da saída final da saída analisada DirectorySource.

RecordPattern

Especifica uma expressão regular que identifica as linhas do arquivo de log que contêm dados de registro. Diferente da linha de cabeçalho opcional identificada por HeaderPattern, as linhas que não correspondem ao RecordPattern especificado são ignoradas durante o processamento de registros. Esse par de chave/valor é opcional e só é válido para o analisador de registros Delimited. Se não for fornecido, o padrão é considerar qualquer linha que não corresponda ao HeaderPattern opcional ou ao CommentPattern opcional uma linha que contém dados de registro que podem ser analisados.

CommentPattern

Especifica uma expressão regular que identifica linhas no arquivo de log que devem ser excluídas antes de analisar os dados no arquivo de log. Esse par de chave/valor é opcional e só é válido para o analisador de registros Delimited. Se não for fornecido, o padrão é considerar qualquer linha que não corresponda ao HeaderPattern uma linha que contém dados de registro que podem ser analisados, a menos que RecordPattern seja especificado.

TimeZoneKind

Especifica se o timestamp no arquivo de log deve ser considerado no fuso horário local ou UTC. Isso é opcional e usa como padrão UTC. Os únicos valores válidos para esse par de chave-valor são Local ou UTC. O timestamp nunca é alterado se TimeZoneKind não for especificado ou se o valor for UTC. O carimbo de data/hora é convertido para UTC quando a propriedadeTimeZoneKindO valor éLocalE o coletor que recebe o timestamp é o CloudWatch Logs ou o registro analisado é enviado a outros coletores. As datas e horas que são incorporadas em mensagens não são convertidas.

SkipLines

Quando especificado, controla o número de linhas ignoradas no início de cada arquivo de log antes da análise do registro. Isso é opcional e o valor padrão é 0.

Codificação

Por padrão, o Kinesis Agent para Windows pode detectar automaticamente a codificação do bytemark. No entanto, a codificação automática pode não funcionar corretamente em alguns formatos unicode mais antigos. O exemplo a seguir especifica a codificação necessária para transmitir um log do Microsoft SQL Server.

"Encoding": "utf-16"

Para obter uma lista de nomes de codificação, consulteLista de codificaçõesna documentação do Microsoft .NET.

ExtractionRegexOptions

Você pode usarExtractionRegexOptionsPara simplificar expressões regulares. Esse par de chave/valor é opcional. O padrão é "None".

O exemplo a seguir especifica que o"."corresponde a qualquer caractere, incluindo\r\n.

"ExtractionRegexOptions" = "Multiline"

Para obter uma lista dos possíveis campos para ExtractionRegexOptions, consulte a propriedadeRegExOptions Enumna documentação do Microsoft .NET.

Analisador de registros Regex

Você pode analisar logs de texto não estruturado usando o analisador de registros Regex junto com os pares de chave-valor TimestampFormat, Pattern e ExtractionPattern. Por exemplo, digamos que seu arquivo de log tenha a seguinte aparência:

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

Você pode especificar a expressão regular a seguir para o par de chave-valor Pattern para ajudar a dividir o arquivo de log em registros de log individuais:

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

Essa expressão regular corresponde à seguinte sequência:

  1. O início da string que está sendo avaliada.

  2. Um ou mais caracteres de palavras entre colchetes.

  3. Um timestamp entre colchetes. O timestamp corresponde à seguinte sequência:

    1. Um ano com quatro dígitos

    2. Uma barra

    3. Um mês com dois dígitos

    4. Uma barra

    5. Um dia com dois dígitos

    6. Um caractere de espaço

    7. Uma hora com dois dígitos

    8. Dois pontos

    9. Minuto com dois dígitos

    10. Dois pontos

    11. Segundo com dois dígitos

    12. Um ponto

    13. Milissegundo com três dígitos

Você pode especificar o seguinte formato para o par de chave-valor TimestampFormat para converter o timestamp textual em uma data e hora:

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

Você pode usar a seguinte expressão regular para extrair os campos do registro de log por meio do par de chave-valor ExtractionPattern.

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

Essa expressão regular corresponde aos seguintes grupos em sequência:

  1. Severity— um ou mais caracteres de palavras entre colchetes.

  2. TimeStamp— consulte a descrição anterior para o timestamp.

  3. Três sequências entre colchetes de zeros ou mais caracteres são ignoradas.

  4. SubSystem— um ou mais caracteres de palavras entre colchetes.

  5. Module— um ou mais caracteres de palavras entre colchetes.

  6. Uma sequência entre colchetes de zeros ou mais caracteres é ignorada.

  7. Um espaço sem nome é ignorado.

  8. Message— Zero ou mais caracteres entre aspas simples.

A seguinte declaração de origem combina essas expressões regulares e o formato de data e hora para fornecer as instruções completas para o Kinesis Agent para Windows para analisar esse tipo de arquivo de log.

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

As barras invertidas nos arquivos em formato JSON devem ser precedidas por uma barra invertida adicional como caractere de escape.

Para obter mais informações sobre expressões regulares, consulte Linguagem de expressões regulares – referência rápida na documentação do Microsoft .NET.

Analisador de registros Delimited

Você pode usar o analisador de registros Delimited para analisar arquivos de log e dados semiestruturados nos quais há uma sequência de caracteres consistente separando cada coluna de dados em cada linha. Por exemplo, arquivos CSV usam uma vírgula para separar cada coluna de dados, e arquivos TSV usam uma guia.

Suponha que você queira analisar um arquivo de log no formato de banco de dados NPS da Microsoft produzido por um servidor de política de rede. Esse arquivo pode ser o seguinte:

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

O exemplo de arquivo de configuração appsettings.json a seguir inclui uma declaração DirectorySource que usa o analisador de registros Delimited para analisar esse texto em uma representação de objeto. Depois ele faz streaming de dados com formato JSON para o 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" } ] }

Dados com formato JSON dos quais foi feito streaming para o Kinesis Data Firehose se parecem com o seguinte:

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

Analisador de registros SysLog

Para o analisador de registros SysLog, a saída analisada da origem inclui as seguintes informações:

Atributo Tipo Descrição
SysLogTimeStamp String A data e a hora originais do arquivo de log com formato syslog.
Hostname String O nome do computador no qual reside o arquivo de log em formato syslog.
Program String O nome do aplicativo ou do serviço que gerou o arquivo de log.
Message String A mensagem de log gerada pelo aplicativo ou serviço.
TimeStamp String A data e hora analisadas no formato ISO 8601.

Veja a seguir um exemplo de dados SysLog transformados em JSON:

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

Veja a seguir um resumo dos pares de chave/valor disponíveis para a origem DirectorySource e dos RecordParsers relacionados com esses pares de chave/valor.

Nome da chave RecordParser Observações
SourceType Obrigatório para todos Deve ter o valor DirectorySource
Directory Obrigatório para todos
FileNameFilter Opcional para todos
RecordParser Obrigatório para todos
TimestampField Opcional para SingleLineJson
TimestampFormat Obrigatório para Timestamp e para SingleLineJson se TimestampField for especificado
Pattern Obrigatório para Regex
ExtractionPattern Opcional para Regex Obrigatório para Regex se o coletor especificar o formato json ou xml
Delimiter Obrigatório para Delimited
HeaderPattern Opcional para Delimited
Headers Opcional para Delimited
RecordPattern Opcional para Delimited
CommentPattern Opcional para Delimited
TimeZoneKind Opcional para Regex, Timestamp, SysLog e SingleLineJson quando um campo de timestamp é identificado
SkipLines Opcional para todos

Configuração de ExchangeLogSource

O tipo ExchangeLogSource é usado para coletar logs do Microsoft Exchange. O Exchange produz logs em vários tipos diferentes de formatos de log. Esse tipo de origem analisa todos eles. Embora seja possível analisá-los usando o tipo DirectorySource com o analisador de registros Regex, é muito mais simples de usar o ExchangeLogSource. Isso ocorre porque você não precisa projetar e fornecer expressões regulares para os formatos de arquivo de log. Veja a seguir um exemplo de declaração ExchangeLogSource:

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

Todas as declarações do Exchange podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "ExchangeLogSource" (obrigatória).

Directory

O caminho para o diretório que contém os arquivos de log (obrigatório).

FileNameFilter

Opcionalmente, limita o conjunto de arquivos no diretório em que os dados de log são coletados com base em um padrão de nomenclatura de arquivos curinga. Se esse par de chave/valor não for especificado, por padrão, os dados de log de todos os arquivos no diretório serão coletados.

TimestampField

O nome da coluna que contém a data e a hora para o registro. Esse par de chave-valor é opcional e não precisará ser especificado se o nome do campo for date-time ou DateTime. Caso contrário, ele será obrigatório.

Configuração de W3SVCLogSource

O tipo W3SVCLogSource é usado para coletar logs do Internet Information Services (IIS) para Windows.

Veja a seguir um exemplo de declaração W3SVCLogSource:

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

Todas as declarações W3SVCLogSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "W3SVCLogSource" (obrigatória).

Directory

O caminho para o diretório que contém os arquivos de log (obrigatório).

FileNameFilter

Opcionalmente, limita o conjunto de arquivos no diretório em que os dados de log são coletados com base em um padrão de nomenclatura de arquivos curinga. Se esse par de chave/valor não for especificado, por padrão, os dados de log de todos os arquivos no diretório serão coletados.

Configuração de UlsSource

O tipo UlsSource é usado para coletar logs do Microsoft SharePoint. Veja a seguir um exemplo de declaração UlsSource:

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

Todas as declarações UlsSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "UlsSource" (obrigatória).

Directory

O caminho para o diretório que contém os arquivos de log (obrigatório).

FileNameFilter

Opcionalmente, limita o conjunto de arquivos no diretório em que os dados de log são coletados com base em um padrão de nomenclatura de arquivos curinga. Se esse par de chave/valor não for especificado, por padrão, os dados de log de todos os arquivos no diretório serão coletados.

Configuração de WindowsEventLogSource

O tipo WindowsEventLogSource é usado para coletar eventos do serviço de log de eventos do Windows. Veja a seguir um exemplo de declaração WindowsEventLogSource:

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

Todas as declarações WindowsEventLogSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "WindowsEventLogSource" (obrigatória).

LogName

Os eventos são coletados do log especificado. Os valores comuns incluem Application, Security e System, mas você pode especificar qualquer nome de log de eventos válido do Windows. Esse par de chave/valor é obrigatório.

Query

Opcionalmente limita os eventos que são gerados do WindowsEventLogSource. Se esse par de chave/valor não for especificado, por padrão, todos os eventos serão gerados. Para obter informações sobre a sintaxe desse valor, verifique Consultas de eventos e Event XML na documentação do Windows. Para obter informações sobre definições no nível de log, consulte Tipos de eventos na documentação do Windows.

IncludeEventData

Opcionalmente, permite a coleta e o streaming de dados de eventos específicos do provedor associados a eventos do log de eventos especificado do Windows quando o valor desse par de chave/valor é "true". Somente dados de eventos que podem ser serializados com êxito são incluídos. Esse par de chave-valor é opcional e, se não for especificado, os dados do evento específico do provedor não serão coletados.

nota

Incluir dados de eventos pode aumentar significativamente a quantidade de dados dos quais é feito streaming da origem. O tamanho máximo de um evento pode ser 262.143 bytes com dados de eventos incluídos.

A saída analisada do WindowsEventLogSource contém as seguintes informações:

Atributo Tipo Descrição
EventId Int O identificador do tipo de evento.
Description String Texto que descreve os detalhes do evento.
LevelDisplayName String A categoria do evento (um de Erro, Aviso, Informação, Auditoria de êxito, Auditoria de falha).
LogName String Se o evento foi registrado (os valores típicos são Application, Security e System, mas há muitas possibilidades).
MachineName String Qual computador registrou o evento.
ProviderName String Qual aplicativo ou serviço registrou o evento.
TimeCreated String Quando o evento ocorreu no formato ISO 8601.
Index Int Onde a entrada está localizada no log.
UserName String Quem fez a entrada, se for conhecido.
Keywords String O tipo de evento. Os valores padrão incluem AuditFailure (eventos de auditoria de segurança com falha), AuditSuccess (eventos de auditoria de segurança bem-sucedida), Classic (eventos gerados com a função RaiseEvent), Correlation Hint (eventos de transferência), SQM (eventos do Service Quality Mechanism), WDI Context (eventos do contexto da Windows Diagnostic Infrastructure) e WDI Diag (eventos de diagnóstico da Windows Diagnostic Infrastructure).
EventData Lista de objetos Dados extras opcionais específicos do provedor sobre o evento de log. Só serão incluídos se o valor para o par de chave/valor IncludeEventData for "true".

Veja a seguir um exemplo de evento transformado em 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==" ]}

Configuração WindowsEventLogPollingSource

WindowsEventLogPollingSourceusa um mecanismo baseado em sondagem para reunir todos os novos eventos do log de eventos que correspondem aos parâmetros configurados. O intervalo de sondagem é atualizado dinamicamente entre 100 ms e 5000 ms dependendo de quantos eventos foram coletados durante a última pesquisa. Veja a seguir um exemplo de declaração WindowsEventLogPollingSource:

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

Todas as declarações WindowsEventLogPollingSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "WindowsEventLogPollingSource" (obrigatória).

LogName

Especifica o log. As opções válidas sãoApplication,Security,Systemou outros logs válidos.

IncludeEventData

Optional. Quandotrue, especifica que EventData extra quando transmitido como JSON e XML é incluído. O padrão é false.

Query

Optional. Os logs de eventos do Windows suportam consultas de eventos usando expressões XPath, que você pode especificar usandoQuery. Para obter mais informações, consulteConsultas de eventos e XML de eventosna documentação da Microsoft.

CustomFilters

Optional. Lista de filtros separados por ponto e vírgula (;). Os seguintes filtros podem ser especificados.

ExcludeOwnSecurityEvents

Exclui eventos de segurança gerados pelo Kinesis Agent para Windows propriamente dito.

Configuração de WindowsETWEventSource

O tipo WindowsETWEventSource é usado para coletar rastreamentos de eventos de serviço e de aplicativos usando um recurso chamado Rastreamento de eventos para Windows (ETW). Para obter mais informações, consulte Rastreamento de eventos na documentação do Windows.

Veja a seguir um exemplo de declaração WindowsETWEventSource:

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

Todas as declarações WindowsETWEventSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "WindowsETWEventSource" (obrigatória).

ProviderName

Especifica qual provedor de evento a ser usado para coletar eventos de rastreamento. Deve ser um nome de provedor ETW válido para um provedor instalado. Para determinar quais provedores estão instalados, execute o seguinte em uma janela de prompt de comando do Windows:

logman query providers
TraceLevel

Especifica quais categorias de eventos de rastreamento devem ser coletadas. Os valores permitidos são Critical, Error, Warning, Informational e Verbose. O significado exato depende do provedor ETW que está selecionado.

MatchAnyKeyword

Esse valor é um número de 64 bits, em que cada bit representa uma palavra-chave individual. Cada palavra-chave descreve uma categoria de eventos a serem coletados. Para as palavras-chave com suporte e seus valores e como elas se relacionam com TraceLevel, consulte a documentação do provedor. Por exemplo, para obter informações sobre o provedor ETW CLR, consulte Palavras-chave de CLR ETW e níveis na documentação do Microsoft .NET Framework.

No exemplo anterior, 32768 (0x00008000) representa a ExceptionKeyword para o provedor ETW CLR que instrui o provedor para coletar informações sobre as exceções lançadas. Embora o JSON não ofereça suporte nativamente a constantes hexadecimais, você pode especificá-las para MatchAnyKeyword colocando-as em uma string. Você também pode especificar várias constantes separadas por vírgulas. Por exemplo, use o seguinte para especificar a ExceptionKeyword e a SecurityKeyword (0x00000400):

{ "Id": "MyClrETWEventSource", "SourceType": "WindowsETWEventSource", "ProviderName": "Microsoft-Windows-DotNETRuntime", "TraceLevel": "Verbose", "MatchAnyKeyword": "0x00008000, 0x00000400" }

Para garantir que todas as palavras-chave especificadas sejam ativadas para um provedor, vários valores de palavra-chave são combinados usando OR e são transmitidos para esse provedor.

A saída de WindowsETWEventSource contém as seguintes informações de cada evento:

Atributo Tipo Descrição
EventName String Que tipo de evento ocorrido.
ProviderName String Qual provedor detectou o evento.
FormattedMessage String Um texto de resumo do evento.
ProcessID Int Qual processo relatou o evento.
ExecutingThreadID Int Qual thread dentro do processo relatou o evento.
MachineName String O nome do desktop ou do servidor que está relatando o evento.
Payload Tabela de hash Uma tabela com uma chave de string e qualquer tipo de objeto como um valor. A chave é o nome do item de carga, e o valor é o valor do item de carga. A carga depende do provedor.

Veja a seguir um exemplo de evento transformado em 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 } }

Configuração de WindowsPerformanceCounterSource

O tipo WindowsPerformanceCounterSource coleta métricas do contador de desempenho do Windows. Veja a seguir um exemplo de declaração 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"] } ] }

Todas as declarações WindowsPerformanceCounterSource podem fornecer os seguintes pares de chave/valor:

SourceType

Deve ser a string literal "WindowsPerformanceCounterSource" (obrigatória).

Categories

Especifica um conjunto de grupos de métricas do contador de desempenho a serem reunidos do Windows. Cada grupo de métricas contém os seguintes pares de chave/valor:

Category

Especifica o conjunto de métricas do contador a serem coletadas (obrigatório).

Instances

Especifica o conjunto de objetos de interesse quando há um conjunto exclusivo de contadores de desempenho por objeto. Por exemplo, quando a categoria é LogicalDisk, há um conjunto de contadores de desempenho por unidade de disco. Esse par de chave/valor é opcional. Você pode usar os curingas * e ? para fazer a correspondência com várias instâncias. Para valores agregados em todas as instâncias, especifique _Total.

Você também pode usarInstanceRegex, que aceita expressões regulares que contêm o*caractere curinga como parte do nome da ocorrência.

Counters

Especifica quais métricas a serem reunidas para a categoria especificada. Esse par de chave/valor é obrigatório. Você pode usar os curingas * e ? para fazer a correspondência com vários contadores. Você pode especificar Counters usando apenas o nome e a unidade. Se as unidades não forem especificados, o Kinesis Agent para Windows tentará inferir as unidades a partir do nome. Se essas inferências estiverem incorretas, a unidade poderá ser especificada explicitamente. Se desejar, você poderá alterar os nomes Counter. A representação mais complexa de um contador é um objeto com os seguintes pares de chave/valor:

Counter

O nome do contador. Esse par de chave/valor é obrigatório.

Rename

O nome do contador a ser apresentado ao coletor. Esse par de chave/valor é opcional.

Unit

O significado do valor que está associado ao contador. Para obter uma lista completa de nomes de unidade válidos, consulte a documentação da unidade emMetricDatumnoReferência de API do Amazon CloudWatch.

Veja a seguir um exemplo de uma especificação complexa de um contador:

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

WindowsPerformanceCounterSourcepode ser usado apenas com um pipe que especifique um coletor do Amazon CloudWatch. Use um coletor separado se também for feito streaming das métricas incorporadas do Kinesis Agent para Windows para o CloudWatch. Examine o log do Kinesis Agent para o Windows após a inicialização do serviço para determinar quais unidades foram inferidas para contadores quando as unidades não foram especificados noWindowsPerformanceCounterSourceDeclarações. Use o PowerShell para determinar os nomes válidos para categorias, instâncias e contadores.

Para ver as informações sobre todas as categorias, incluindo contadores associados a conjuntos de contadores, execute este comando em uma janela do PowerShell:

Get-Counter -ListSet * | Sort-Object

Para determinar quais instâncias estão disponíveis para cada um dos contadores do conjunto, execute um comando semelhante ao exemplo a seguir em uma janela do PowerShell:

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

O valor do parâmetro Counter deve ser um dos caminhos de um membro PathsWithInstances listado pela invocação do comando Get-Counter -ListSet anterior.

Origem de métricas incorporadas do Kinesis Agent para Windows

Além de fontes de métricas comuns, como oWindowsPerformanceCounterSourcetipo (consulteConfiguração de WindowsPerformanceCounterSource), o tipo de coletor do CloudWatch do pode receber métricas de uma origem especial que reúne métricas sobre o próprio Kinesis Agent para Windows. As métricas do Kinesis Agent para Windows também estão disponíveis noKinesisTapcategoria de contadores de desempenho do Windows.

OMetricsFilterO par de chave-valor para as declarações do coletor do CloudWatch do especifica de quais métricas é feito streaming do CloudWatch da origem de métricas incorporadas do Kinesis Agent para Windows. O valor é uma string que contém uma ou mais expressões de filtro separadas por ponto-e-vírgula; por exemplo:

"MetricsFilter": "FilterExpression1;FilterExpression2"

É feito streaming de uma métrica que corresponde a uma ou mais expressões de filtro para o CloudWatch.

As métricas de instância única são globais por natureza e não são vinculadas a uma origem ou coletor específico. Várias métricas de instância são dimensionais com base no Id da declaração de origem ou de coletor. Cada tipo de origem ou coletor pode ter um conjunto diferente de métricas.

Para obter uma lista de nomes de métricas incorporadas do Kinesis Agent para Windows, consulteLista de métricas do agente Kinesis para Windows.

Para métricas de instância única, a expressão de filtro é o nome da métrica, por exemplo:

"MetricsFilter": "SourcesFailedToStart;SinksFailedToStart"

Para várias métricas de instância, a expressão de filtro é o nome da métrica, um ponto (.) e depois o Id da origem ou da declaração de coletor que gerou essa métrica. Por exemplo, supondo-se que haja uma declaração de coletor com um Id de MyFirehose:

"MetricsFilter": "KinesisFirehoseRecordsFailedNonrecoverable.MyFirehose"

Você pode usar padrões de curinga especiais que são projetados para distinguir entre métricas de várias instâncias ou de uma instância única.

  • O asterisco (*) corresponde a zero ou mais caracteres, exceto ponto (.).

  • O ponto de interrogação (?) corresponde a um caractere exceto ponto.

  • Qualquer outro caractere apenas corresponde a si mesmo.

  • _Total é um token especial que causa a agregação de todos os valores de várias instâncias correspondentes em toda a dimensão.

O exemplo a seguir corresponde a todas as métricas de instância única:

"MetricsFilter": "*"

Como um asterisco não corresponde ao período de caractere, apenas as métricas de instância são incluídas.

O exemplo a seguir corresponde a várias métricas de instância:

"MetricsFilter": "*.*"

O exemplo a seguir corresponde a todas as métricas (instância única e várias instâncias):

"MetricsFilter": "*;*.*"

O exemplo a seguir agrega todas as métricas de várias instâncias em todas as origens e coletores:

"MetricsFilter": "*._Total"

O exemplo a seguir agrega todas as métricas do Kinesis Data Firehose para todos os coletores do Kinesis Data Firehose:

"MetricsFilter": "*Firehose*._Total"

O exemplo a seguir corresponde a todas as métricas de erro de instância única e de várias instâncias:

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

O exemplo a seguir corresponde a todas as métricas de erro não recuperável agregadas em todas as origens e coletores:

"MetricsFilter": "*Nonrecoverable*._Total"

Para obter informações sobre como especificar um pipe que use a origem de métricas incorporadas do Kinesis Agent para Windows, consulteConfiguração do Kinesis Agent para Pipes Métricos do Windows.

Lista de métricas do agente Kinesis para Windows

Veja a seguir uma lista de métricas de uma instância única e de várias instâncias que estão disponíveis para o Kinesis Agent para Windows.

Métricas de instância única

As seguintes métricas de instância única estão disponíveis:

KinesisTapBuildNumber

O número da versão do Kinesis Agent para Windows.

PipesConnected

Quantos pipes conectaram sua origem ao coletor com êxito.

PipesFailedToConnect

Quantos pipes conectaram sua origem ao coletor sem êxito.

SinkFactoriesFailedToLoad

Quantos tipos de coletores não foram carregados para o Kinesis Agent para Windows com êxito.

SinkFactoriesLoaded

Quantos tipos de coletores foram carregados para o Kinesis Agent para Windows com êxito.

SinksFailedToStart

Quantos coletores não foram iniciados com êxito, geralmente devido a declarações de coletor incorretas.

SinksStarted

Quantos coletores foram iniciados com êxito.

SourcesFailedToStart

Quantas origens não foram iniciadas com êxito, geralmente devido a declarações de origem incorretas.

SourcesStarted

Quantas origens foram iniciadas com êxito.

SourceFactoriesFailedToLoad

Quantos tipos de origens não foram carregados para o Kinesis Agent para Windows com êxito.

SourceFactoriesLoaded

Quantos tipos de origens foram carregados para o Kinesis Agent para Windows.

Métricas de várias instâncias

A métricas de várias instâncias a seguir estão disponíveis:

Métricas DirectorySource

DirectorySourceBytesRead

Quantos bytes foram lidos durante o intervalo para essa DirectorySource.

DirectorySourceBytesToRead

Quantos números conhecidos de bytes estão disponíveis para leitura que ainda não foram lidos pelo Kinesis Agent para Windows.

DirectorySourceFilesToProcess

Quantos arquivos conhecidos que ainda não foram examinados pelo Kinesis Agent para Windows.

DirectorySourceRecordsRead

Quantos registros foram lidos durante o intervalo para essa DirectorySource.

Métricas WindowsEventLogSource

EventLogSourceEventsError

Quantos eventos de log de eventos do Windows não foram lidos com êxito.

EventLogSourceEventsRead

Quantos eventos de log de eventos do Windows foram lidos com êxito.

Métricas do coletor KinesisFirehose

KinesisFirehoseBytesAccepted

Quantos bytes foram aceitos durante o intervalo.

KinesisFirehoseClientLatency

Quanto tempo decorreu entre a geração e o streaming dos registros para o serviço Kinesis Data Firehose.

KinesisFirehoseLatency

Quanto tempo decorreu entre o início e o fim do streaming dos registros para o serviço Kinesis Data Firehose.

KinesisFirehoseNonrecoverableServiceErrors

Quantas vezes não foi possível enviar os registros sem erro para o serviço Kinesis Data Firehose apesar das novas tentativas.

KinesisFirehoseRecordsAttempted

De quantos registros houve tentativa de streaming para o serviço de Data Firehose do Kinesis.

KinesisFirehoseRecordsFailedNonrecoverable

De quantos registros o streaming não foi feito com êxito para o serviço de Kinesis Data Firehose apesar das novas tentativas.

KinesisFirehoseRecordsFailedRecoverable

De quantos registros o streaming foi feito com êxito para o serviço de Kinesis Data Firehose, mas apenas com novas tentativas.

KinesisFirehoseRecordsSuccess

De quantos registros o streaming foi feito com êxito para o serviço de Kinesis Data Firehose sem novas tentativas.

KinesisFirehoseRecoverableServiceErrors

Quantas vezes foi possível enviar os registros com êxito para o serviço de Kinesis Data Firehose, mas apenas com novas tentativas.

Métricas KinesisStream

KinesisStreamBytesAccepted

Quantos bytes foram aceitos durante o intervalo.

KinesisStreamClientLatency

Quanto tempo decorreu entre a geração e o streaming dos registros para o serviço de Streams de Dados do Kinesis.

KinesisStreamLatency

Quanto tempo decorreu entre o início e o fim do streaming dos registros para o serviço de Streams de Dados do Kinesis.

KinesisStreamNonrecoverableServiceErrors

Quantas vezes não foi possível enviar os registros sem erro para o serviço de Streams de Dados do Kinesis apesar das novas tentativas.

KinesisStreamRecordsAttempted

De quantos registros houve tentativa de streaming para o serviço de Streams de dados do Kinesis.

KinesisStreamRecordsFailedNonrecoverable

De quantos registros o streaming não foi feito com êxito para o serviço de Kinesis Data Streams apesar das novas tentativas.

KinesisStreamRecordsFailedRecoverable

De quantos registros o streaming foi feito com êxito para o serviço de Streams de Dados do Kinesis, mas apenas com novas tentativas.

KinesisStreamRecordsSuccess

De quantos registros o streaming foi feito com êxito para o serviço de Streams de dados do Kinesis sem novas tentativas.

KinesisStreamRecoverableServiceErrors

Quantas vezes foi possível enviar os registros com êxito para o serviço de Kinesis Data Streams, mas apenas com novas tentativas.

Métricas do CloudWatchLog

CloudWatchLogBytesAccepted

Quantos bytes foram aceitos durante o intervalo.

CloudWatchLogClientLatency

Quanto tempo decorreu entre a geração e o streaming dos registros para o serviço CloudWatch Logs.

CloudWatchLogLatency

Quanto tempo decorreu entre o início e o fim do streaming dos registros para o serviço CloudWatch Logs.

CloudWatchLogNonrecoverableServiceErrors

Quantas vezes não foi possível enviar os registros sem erro para o serviço do CloudWatch Logs, apesar de repetidas tentativas.

CloudWatchLogRecordsAttempted

De quantos registros houve tentativa de streaming para o serviço CloudWatch Logs.

CloudWatchLogRecordsFailedNonrecoverable

De quantos registros o streaming não foi feito com êxito para o serviço CloudWatch Logs apesar das novas tentativas.

CloudWatchLogRecordsFailedRecoverable

De quantos registros o streaming foi feito com êxito para o serviço CloudWatch Logs, mas apenas com novas tentativas.

CloudWatchLogRecordsSuccess

De quantos registros o streaming foi feito com êxito para o serviço CloudWatch Logs sem novas tentativas.

CloudWatchLogRecoverableServiceErrors

Quantas vezes foi possível enviar os registros com êxito para o serviço do CloudWatch Logs, mas apenas com novas tentativas.

Métricas do CloudWatch

CloudWatchLatency

Quanto tempo em média decorreu entre o início e o fim do streaming de métricas para o serviço do CloudWatch.

CloudWatchNonrecoverableServiceErrors

Quantas vezes não foi possível enviar as métricas sem erro para o serviço CloudWatch apesar das novas tentativas.

CloudWatchRecoverableServiceErrors

Quantas vezes as métricas foram enviadas sem erro para o serviço CloudWatch, mas apenas com novas tentativas.

CloudWatchServiceSuccess

Quantas vezes as métricas foram enviadas sem erro para o serviço CloudWatch sem a necessidade de novas tentativas.

Configuração de marcador

Por padrão, o Kinesis Agent para Windows envia registros de log para coletores que são criados depois que o agente é iniciado. Às vezes é útil enviar registros de log anteriores, por exemplo, registros de log criados durante a interrupção do Agente do Kinesis para o Windows durante uma atualização automática. O recurso de marcador controla quais registros foram enviados para coletores. Quando o Kinesis Agent para Windows está no modo de marcador e é iniciado, ele envia todos os registros de log criados depois que o Kinesis Agent para Windows foi interrompido, junto com todos os registros de log criados posteriormente. Para controlar esse comportamento, as declarações de origem baseada em arquivo podem os seguintes pares de chave-valor:

InitialPosition

Especifica a situação inicial para o marcador. Os valores possíveis são:

EOS

Especifica o fim do streaming (EOS). Somente os registros de log criados enquanto o agente está em execução são enviados para coletores.

0

Todos os registros de log e eventos disponíveis são inicialmente enviados. Depois um marcador é criado para garantir que todos os novos registros de log e eventos criados depois que o marcador foi criado sejam enviados, esteja ou não o Kinesis Agent para Windows em execução.

Bookmark

O marcador é inicializado apenas após o último registro de log ou evento. Depois um marcador é criado para garantir que todos os novos registros de log e eventos criados depois que o marcador foi criado sejam enviados, esteja ou não o Kinesis Agent para Windows em execução.

Os marcadores estão habilitados por padrão. Os arquivos são armazenados no%ProgramData%\Amazon\KinesisTapdiretório.

Timestamp

Os registros de log e eventos que são criados após o valor InitialPositionTimestamp (segue definição) são enviados. Depois um marcador é criado para garantir que todos os novos registros de log e eventos criados depois que o marcador foi criado sejam enviados, esteja ou não o Kinesis Agent para Windows em execução.

InitialPositionTimestamp

Especifica o primeiro registro de log ou timestamp de evento mais antigo que você desejar. Especifique esse par chave-valor somente quando InitialPosition tem um valor de Timestamp.

BookmarkOnBufferFlush

Essa configuração pode ser adicionada a qualquer fonte de favoritos. Quando definido comotrue, garante que as atualizações de marcadores ocorram somente quando um coletor envia com êxito um evento para a AWS. Você só pode inscrever um único coletor em uma fonte. Se você estiver enviando logs para vários destinos, duplique suas fontes para evitar possíveis problemas com a perda de dados.

Quando o Kinesis Agent para Windows foi interrompido por um longo período, pode ser necessário excluir esses marcadores porque os registros de log e eventos marcados podem não existir mais. Arquivos de marcador para um id de origem estão localizados em %PROGRAMDATA%\Amazon\AWSKinesisTap\source id.bm.

Os marcadores não funcionam em arquivos renomeados ou truncados. Devido à natureza dos eventos ETW e contadores de desempenho, eles não podem ser marcados.