

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Declaraciones de origen
<a name="source-object-declarations"></a>

En Amazon Kinesis Agent para Microsoft Windows,*Declaraciones de origen*Describa dónde y qué datos de registro, eventos y métrica deben recopilarse. También brindan la posibilidad de especificar información que permita analizar esos datos de modo que puedan transformarse. En las secciones siguientes, se describen las configuraciones de los tipos de origen integrados que están disponibles en Kinesis Agent para Windows. Como Kinesis Agent para Windows es ampliable, se pueden agregar tipos de orígenes personalizados. Normalmente, todos los tipos de orígenes necesitan pares clave-valor específicos de los objetos de configuración que son importantes para cada tipo de origen.

Todas las declaraciones de origen deben tener al menos los siguientes pares clave-valor:

`Id`  
Cadena única que identifica un determinado objeto de origen en el archivo de configuración.

`SourceType`  
Nombre del tipo de origen de este objeto de origen. El tipo de origen especifica el origen de los datos del registro, el evento o la métrica que este objeto de origen recopila. También controla qué otros aspectos del origen pueden declararse.

Para ver ejemplos de archivos de configuración completos en los que se utilizan diferentes tipos de declaraciones de origen, consulte [Transmisión a desde varios orígenes de Kinesis Data Streams](configuring-kaw-examples.md#configuring-kaw-examples-sources). 

**Topics**
+ [Configuración de DirectorySource](#directory-source-configuration)
+ [Configuración de ExchangeLogSource](#exchange-source-configuration)
+ [Configuración de W3SVCLogSource](#iis-source-configuration)
+ [Configuración de UlsSource](#sharepoint-source-configuration)
+ [Configuración de WindowsEventLogSource](#window-event-source-configuration)
+ [Configuración de WindowSeventLogPollingSource](#eventlogpolling-source-configuration)
+ [Configuración de WindowsETWEventSource](#etw-source-configuration)
+ [Configuración de WindowsPerformanceCounterSource](#performance-counter-source-configuration)
+ [Origen de métricas integrado en Windows en](#kinesis-agent-builin-metrics-source)
+ [Lista de métricas del agente Kinesis para Windows](#kinesis-agent-metric-list)
+ [Configuración de Bookmark](#advanced-source-configuration)

## Configuración de DirectorySource
<a name="directory-source-configuration"></a>

### Overview
<a name="directory-source-configuration-overview"></a>

El tipo de origen `DirectorySource` recopila registros de archivos que están almacenados en el directorio especificado. Como los archivos de registro están disponibles en muchos formatos diferentes, la declaración `DirectorySource` permite especificar el formato de los datos del archivo de registro. Posteriormente, el contenido del registro se puede convertir a un formato estándar, como JSON o XML, antes de transmitirlo a los diferentes servicios de AWS.

A continuación, se muestra una declaración `DirectorySource` de ejemplo:

```
{
	   "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 las declaraciones `DirectorySource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"DirectorySource"` (obligatorio).

`Directory`  
Ruta del directorio que contiene los archivos de registro (obligatorio).

`FileNameFilter`  
Es opcional y limita el conjunto de archivos del directorio donde se van a recopilar los datos de registro en función de un patrón de nombre de archivo con caracteres comodín. Si tiene varios patrones de nombre de archivo de registro, esta función le permite utilizar un único`DirectorySource`Como se muestra en el ejemplo siguiente.  

```
FileNameFilter: "*.log|*.txt"
```
Los administradores del sistema a veces comprimen los archivos de registro antes de archivarlos. Si especifica`"*.*"`in`FileNameFilter`, ahora se excluyen los archivos comprimidos conocidos. Esta función impide que`.zip`,`.gz`, y`.bz2`se transmitan accidentalmente. Si este par clave-valor no se especifica, los datos de todos los archivos del directorio se recopilan de forma predeterminada.

`IncludeSubdirectories`  
Especifica que se supervisan los subdirectorios a una profundidad arbitraria limitada por el sistema operativo. Esta función es útil para monitorear servidores web con múltiples sitios web. También puede utilizar la`IncludeDirectoryFilter`atributo para supervisar sólo ciertos subdirectorios especificados en el filtro.

`RecordParser`  
Especifica cómo el tipo de origen `DirectorySource` debe procesar los archivos de registro que se encuentran en el directorio especificado. Este par clave-valor es obligatorio y los valores válidos son los siguientes:  
+ `SingleLine`— Cada línea del archivo de registro es un registro de registro.
+ `SingleLineJson`— Cada línea del archivo de registro es un registro de registro con formato JSON. Este analizador resulta útil si desea añadir más pares clave-valor al archivo JSON utilizando la decoración de objetos. Para obtener más información, consulte [Configuración de decoraciones de receptores](sink-object-declarations.md#configuring-kinesis-agent-windows-decoration-configuration). Para ver un ejemplo en el que se utiliza el analizador de recursos `SingleLineJson`, consulte [Tutorial: Transmitir archivos de registro JSON a Amazon S3 mediante Kinesis Agent para Windows](directory-source-to-s3-tutorial.md).
+ `Timestamp`— Una o más líneas pueden incluir un registro de registro. Esta entrada de registro comienza con una marca temporal. Esta opción requiere que se especifique el par clave-valor `TimestampFormat`.
+ `Regex`— Cada registro comienza con texto que coincide con una expresión regular determinada. Esta opción requiere que se especifique el par clave-valor `Pattern`.
+ `SysLog`— Indica que el archivo de registro está escrito en el archivo[syslog](https://en.wikipedia.org/wiki/Syslog)formato estándar. Las entradas del archivo de registro se analizan en función de dicha especificación.
+ `Delimited`— Una versión más simple del analizador de registros Regex donde los elementos de datos de los registros están separados por un delimitador consistente. Esta opción resulta más fácil de utilizar y se ejecuta más rápido que el analizador Regex, por lo que es la preferida cuando está disponible. Si utiliza esta opción, debe especificar el par clave-valor `Delimiter`.

`TimestampField`  
Especifica qué campo JSON contiene la marca temporal del registro. Solo se utiliza con `SingleLineJson` `RecordParser`. Este par clave-valor es opcional. Si no se especifica, Kinesis Agent para Windows utiliza como marca temporal el momento en que se leyó el registro. Una ventaja de especificar este par clave-valor es que las estadísticas de latencia generadas por Kinesis Agent para Windows son más precisas.

`TimestampFormat`  
Especifica cómo se van a analizar la fecha y la hora asociadas con el registro. El valor es la cadena `epoch` o una cadena con formato de fecha y hora de .NET. Si el valor es `epoch`, el valor temporal se analizará utilizando el sistema temporal UNIX Epoch. Para obtener más información sobre el sistema temporal UNIX Epoch, consulte [Unix time](https://en.wikipedia.org/wiki/Unix_time) (Tiempo Unix). Para obtener más información acerca las cadenas con formato de fecha y hora de .NET, consulte [Cadenas con formato de fecha y hora personalizado](https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings) en la documentación de Microsoft .NET. Este par clave-valor solo es obligatorio si se especifica el analizador de registros `Timestamp` o si se especifica el analizador de `SingleLineJson` registros junto con el par clave-valor `TimestampField`. 

`Pattern`  
Especifica una expresión regular que debe coincidir con la primera línea de una entrada que podría estar repartida en varias líneas. Este par clave-valor solo es necesario en el analizador de registros `Regex`. 

`ExtractionPattern`  
Especifica una expresión regular que debe utilizar grupos con nombre. El registro se analiza utilizando esta expresión regular y los grupos con nombre conforman los campos del registro analizado. Estos campos se utilizan después como base para crear objetos JSON, objetos XML o documentos que los receptores transmiten a diversos servicios de AWS. Este par clave-valor es opcional y está disponible con la`Regex`y el analizador de marcas de tiempo.  
El nombre del grupo `Timestamp` se procesa de forma diferente, lo que le indica al analizador `Regex` cuál es el campo que contiene la fecha y la hora de cada entrada del archivo de registro.

`Delimiter`  
Especifica el carácter o cadena que separa los elementos de cada entrada del registro. Este par clave-valor debe utilizarse (y solamente puede utilizarse) con el analizador de registros `Delimited`. Utilice la secuencia de dos caracteres `\t` para representar el carácter de tabulación.

`HeaderPattern`  
Especifica una expresión regular que busca la línea del archivo de registro que contiene el conjunto de encabezados de la entrada del registro. Si el archivo de registro no contiene información sobre el encabezado, utilice el par clave-valor `Headers` para especificar los encabezados implícitos. El par clave-valor `HeaderPattern` es opcional y solo es válido con el analizador de registros `Delimited`.   
Si hay una entrada en una columna con un encabezado vacío (la longitud es 0), los datos de esa columna se filtrarán desde la salida final del resultado analizado de `DirectorySource`.

`Headers`  
Especifica los nombres de las columnas de datos que se han analizado con el delimitador especificado. Este par clave-valor es opcional y solo es válido con el analizador de registros `Delimited`.   
Si hay una entrada en una columna con un encabezado vacío (la longitud es 0), los datos de esa columna se filtrarán desde la salida final del resultado analizado de `DirectorySource`. 

`RecordPattern`  
Especifica una expresión regular que identifica las líneas del archivo de registro que contienen datos de la entrada del registro. Salvo la línea de encabezado opcional identificada por `HeaderPattern`, las líneas que no coinciden con el valor de `RecordPattern` especificado no se tienen en cuenta durante el procesamiento del registro. Este par clave-valor es opcional y solo es válido con el analizador de registros `Delimited`. Si no se proporciona, de forma predeterminada, se considera que las líneas que no coinciden con el valor opcional de `HeaderPattern` o de `CommentPattern` son líneas que contienen datos de registro que se pueden analizar.

`CommentPattern`  
Especifica una expresión regular que identifica las líneas del archivo de registro que deberían excluirse antes de analizar los datos del archivo de registro. Este par clave-valor es opcional y solo es válido con el analizador de registros `Delimited`. Si no se proporciona, de forma predeterminada, se considera que las líneas que no coinciden con el valor opcional de `HeaderPattern` son líneas que contienen datos de registro que se pueden analizar, a menos que se especifique `RecordPattern`.

`TimeZoneKind`  
Especifica si la marca temporal del archivo de registro corresponde a la zona horaria local o a la zona horaria UTC. Este valor es opcional y su valor predeterminado es UTC. Los únicos valores válidos para este par clave-valor son `Local` o `UTC`. La marca temporal nunca se modifica si `TimeZoneKind` no se especifica o si el valor es UTC. La marca de tiempo se convierte a UTC cuando el parámetro`TimeZoneKind`Valor es`Local`El receptor que recibe la marca temporal es CloudWatch Logs o el registro analizado se envía a otros receptores. Las fechas y las horas insertadas en mensajes no se convierten.

`SkipLines`  
Cuando se especifica, controla el número de líneas que se omiten al comienzo de cada archivo de registro antes de que se realice el análisis. Es opcional y el valor predeterminado es 0.

Codificación  
De forma predeterminada, Kinesis Agent para Windows puede detectar automáticamente la codificación desde bytemark. Sin embargo, es posible que la codificación automática no funcione correctamente en algunos formatos Unicode antiguos. En el ejemplo siguiente se especifica la codificación necesaria para transmitir un registro de Microsoft SQL Server.  

```
"Encoding": "utf-16"
```
Para obtener una lista de los nombres de codificación, consulte[Lista de codificaciones](https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.8#list-of-encodings)en la documentación de Microsoft.NET.

ExtraccionRegexOptions  
Puede usar`ExtractionRegexOptions`Para simplificar las expresiones regulares. Este par clave-valor es opcional. El valor predeterminado es `"None"`.  
En el siguiente ejemplo se especifica que la`"."`coincide con cualquier carácter, incluyendo`\r\n`.  

```
"ExtractionRegexOptions" = "Multiline"
```
Para obtener una lista de los posibles campos de ExtractionRegexOptions, consulte la[RegexOptions enum](https://docs.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regexoptions?view=netframework-4.7.2#fields)en la documentación de Microsoft.NET.

### Analizador de registros `Regex`
<a name="directory-source-configuration-regex"></a>



Puede analizar registros de texto no estructurados utilizando el analizador de registros `Regex` con los pares clave-valor `TimestampFormat`, `Pattern` y `ExtractionPattern`. Por ejemplo, supongamos que tiene un archivo de registro similar al siguiente:

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

Puede especificar las siguientes expresiones regulares para que el par clave-valor `Pattern` le ayude a dividir el archivo de registro en varios registros distintos: 

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

Esta expresión regular coincidirá con la siguiente secuencia:

1. Comienzo de la cadena que se está evaluando.

1. Uno o varios caracteres entre corchetes.

1. Una marca temporal entre corchetes. La marca temporal encontrará coincidencias con la siguiente secuencia:

   1. Un año de cuatro dígitos

   1. Una barra inclinada

   1. Un mes de dos dígitos.

   1. Una barra inclinada

   1. Un día de dos dígitos.

   1. Un carácter de espacio

   1. Una hora de dos dígitos

   1. Un símbolo de dos puntos

   1. Un minuto de dos dígitos

   1. Un símbolo de dos puntos

   1. Un segundo de dos dígitos

   1. Un punto

   1. Un milisegundo de tres dígitos

Puede especificar el siguiente formato para que el par clave-valor `TimestampFormat` convierta el texto de la marca temporal en un formato de fecha y hora:

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

Puede utilizar la siguiente expresión regular para extraer los campos de la entrada de registro mediante el par clave-valor `ExtractionPattern`.

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

Esta expresión regular coincidirá con los siguientes grupos en este orden:

1. `Severity`: uno o varios caracteres entre corchetes.

1. `TimeStamp`— Consulte la descripción anterior de la marca de tiempo.

1. Se omiten tres secuencias de cero o más caracteres entre corchetes sin nombre.

1. `SubSystem`: uno o varios caracteres entre corchetes.

1. `Module`: uno o varios caracteres entre corchetes.

1. Se omite una secuencia de cero o más caracteres entre corchetes sin nombre.

1. Se omite un espacio sin nombre.

1. `Message`— Cero o más caracteres rodeados de comillas simples.

La siguiente declaración de origen combina estas expresiones regulares y el formato de fecha y hora a fin de proporcionar instrucciones completas para que analice este tipo de archivo de registro.

```
{
    "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**  
Las barras diagonales invertidas de los archivos con formato JSON deben incluirse en secuencias de escape utilizando barras diagonales invertidas adicionales.

Para obtener más información sobre las expresiones regulares, consulte [Lenguaje de expresiones regulares - Referencia rápida](https://docs.microsoft.com/en-us/dotnet/standard/base-types/regular-expression-language-quick-reference) en la documentación de Microsoft .NET.

### Analizador de registros `Delimited`
<a name="directory-source-configuration-delimited"></a>

Puede utilizar el analizador de registros `Delimited` para analizar registros semiestructurados y archivos de datos en los que hay una secuencia de caracteres que se utiliza sistemáticamente para separar las columnas de datos de cada fila de datos. Por ejemplo, los archivos CSV utilizan una coma para separar las columnas de datos, mientras que los archivos TSV utilizan una tabulación.

Supongamos que desea analizar un archivo de registro con el [formato de base de datos NPS](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc771748(v=ws.10)) generado por un servidor de políticas de red. Este archivo tendría un aspecto similar al siguiente:

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

El archivo de configuración `appsettings.json` del siguiente ejemplo contiene una declaración `DirectorySource` que utiliza el analizador de registros `Delimited` para analizar este texto en una representación de objetos. A continuación, transmite los datos con formato JSON a 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"
        }
    ]
}
```

Los datos con formato JSON que se transmiten a Kinesis Data Firehose tienen un aspecto similar al siguiente:

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

### Analizador de registros `SysLog`
<a name="directory-source-configuration-syslog"></a>

En el caso del analizador de registros `SysLog`, la salida analizada del origen contiene la siguiente información: 


| Atributo | Tipo | Descripción | 
| --- | --- | --- | 
| SysLogTimeStamp | Cadena | Fecha y hora originales del archivo de registro con formato syslog. | 
| Hostname | Cadena | Nombre del equipo en el que se encuentra el archivo de registro con formato syslog. | 
| Program | Cadena | Nombre de la aplicación o servicio que generó el archivo de registro. | 
| Message | Cadena | Mensaje de registro generado por la aplicación o servicio. | 
| TimeStamp | Cadena | Fecha y hora analizadas en formato ISO 8601. | 

A continuación, se muestra un ejemplo de datos SysLog convertidos a formato 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
<a name="directory-source-configuration-summary"></a>

A continuación, se muestra un resumen de los pares clave-valor disponibles para el origen `DirectorySource` y los analizadores `RecordParser` relacionados con estos pares clave-valor.


| Nombre de clave | RecordParser | Notas | 
| --- | --- | --- | 
| SourceType | Obligatorio en todos los casos | Debe tener el valor DirectorySource | 
| Directory | Obligatorio en todos los casos |  | 
| FileNameFilter | Opcional en todos los casos |  | 
| RecordParser | Obligatorio en todos los casos |  | 
| TimestampField | Opcional para SingleLineJson |  | 
| TimestampFormat | Obligatorio para Timestamp; obligatorio para SingleLineJson si se especifica TimestampField. |  | 
| Pattern | Obligatorio para Regex |  | 
| ExtractionPattern | Opcional para Regex | Obligatorio para Regex si el receptor especifica un formato json o xml. | 
| Delimiter | Obligatorio para Delimited |  | 
| HeaderPattern | Opcional para Delimited |  | 
| Headers | Opcional para Delimited |  | 
| RecordPattern | Opcional para Delimited |  | 
| CommentPattern | Opcional para Delimited |  | 
| TimeZoneKind | Opcional para Regex, Timestamp, SysLog y SingleLineJson cuando se identifica un campo de marca temporal. |  | 
| SkipLines | Opcional en todos los casos |  | 

## Configuración de ExchangeLogSource
<a name="exchange-source-configuration"></a>

 El tipo `ExchangeLogSource` se utiliza para recopilar registros de Microsoft Exchange. Exchange genera registros con diferentes tipos de formatos de registro. Este tipo de origen analiza todos ellos. Aunque es posible analizarlos utilizando el tipo `DirectorySource` con el analizador de registros `Regex`, resulta mucho más sencillo utilizar `ExchangeLogSource`, ya que no es necesario diseñar y proporcionar expresiones regulares para los formatos de los archivos de registro. A continuación, se muestra una declaración `ExchangeLogSource` de ejemplo: 

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

Todas las declaraciones de Exchange pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"ExchangeLogSource"` (obligatorio).

`Directory`  
Ruta del directorio que contiene los archivos de registro (obligatorio).

`FileNameFilter`  
Es opcional y limita el conjunto de archivos del directorio donde se van a recopilar los datos de registro en función de un patrón de nombre de archivo con caracteres comodín. Si este par clave-valor no se especifica, de forma predeterminada, se recopilan los datos de registro de todos los archivos del directorio.

`TimestampField`  
Nombre de la columna que contiene la fecha y la hora del registro. Este par clave-valor es opcional y no tiene que especificarse si el nombre de campo es `date-time` o `DateTime`. De lo contrario, es obligatorio.

## Configuración de W3SVCLogSource
<a name="iis-source-configuration"></a>

 El tipo `W3SVCLogSource` se utiliza para recopilar registros de Internet Information Services (IIS) para Windows. 

A continuación, se muestra una declaración `W3SVCLogSource` de ejemplo: 

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

Todas las declaraciones `W3SVCLogSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"W3SVCLogSource"` (obligatorio).

`Directory`  
Ruta del directorio que contiene los archivos de registro (obligatorio).

`FileNameFilter`  
Es opcional y limita el conjunto de archivos del directorio donde se van a recopilar los datos de registro en función de un patrón de nombre de archivo con caracteres comodín. Si este par clave-valor no se especifica, de forma predeterminada, se recopilan los datos de registro de todos los archivos del directorio.

## Configuración de UlsSource
<a name="sharepoint-source-configuration"></a>

 El tipo `UlsSource` se utiliza para recopilar registros de Microsoft SharePoint. A continuación, se muestra una declaración `UlsSource` de ejemplo: 

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

Todas las declaraciones `UlsSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"UlsSource"` (obligatorio).

`Directory`  
Ruta del directorio que contiene los archivos de registro (obligatorio).

`FileNameFilter`  
Es opcional y limita el conjunto de archivos del directorio donde se van a recopilar los datos de registro en función de un patrón de nombre de archivo con caracteres comodín. Si este par clave-valor no se especifica, de forma predeterminada, se recopilan los datos de registro de todos los archivos del directorio.

## Configuración de WindowsEventLogSource
<a name="window-event-source-configuration"></a>

El tipo `WindowsEventLogSource` se utiliza para recopilar eventos del servicio Registro de eventos de Windows. A continuación, se muestra una declaración `WindowsEventLogSource` de ejemplo: 

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

Todas las declaraciones `WindowsEventLogSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"WindowsEventLogSource"` (obligatorio).

`LogName`  
Eventos recopilados en el registro especificado. Los valores habituales son `Application`, `Security` y `System`, pero se puede especificar cualquier nombre de registro de eventos de Windows que sea válido. Este par clave-valor es obligatorio.

`Query`  
Es opcional y puede limitar los eventos que se van a incluir en la salida de `WindowsEventLogSource`. Si este par clave-valor no se especifica, de forma predeterminada, se incluyen todos los eventos en la salida. Para obtener más información sobre la sintaxis de este valor, consulte [Event Queries and Event XML](https://msdn.microsoft.com/en-us/library/bb399427(v=vs.90).aspx) en la documentación de Windows. Para obtener más información sobre las definiciones de nivel de registro, consulte [Event Types](https://docs.microsoft.com/en-us/windows/desktop/eventlog/event-types) en la documentación de Windows.

`IncludeEventData`  
Es opcional y permite recopilar y transmitir datos de eventos que son específicos de un proveedor y están asociados con los eventos de un registro de Windows que se ha especificado cuando el valor de este par clave-valor es `"true"`. Solo se incluyen los datos de eventos que pueden serializarse correctamente. Este par clave-valor es opcional y, si no se especifica, no se recopilan datos de eventos específicos de un proveedor.  
Si se incluyen datos de eventos, puede aumentar significativamente la cantidad de datos transmitidos desde este origen. El tamaño máximo de un evento puede ser de 262 143 bytes, incluidos sus datos.

La salida analizada de `WindowsEventLogSource` contiene la siguiente información:


| Atributo | Tipo | Descripción | 
| --- | --- | --- | 
| EventId | Int | Identificador del tipo de evento. | 
| Description | Cadena | Texto que describe los detalles del evento. | 
| LevelDisplayName | Cadena | Categoría del evento. Puede ser una de las siguientes: Error, Warning (Advertencia), Information (Información), Success Audit (Resultados positivos de auditoría) o Failure Audit (Resultados negativos de auditoría). | 
| LogName | Cadena | Lugar en el que se registró el evento (los valores más comunes suelen ser Application, Security y System, pero hay muchas otras posibilidades). | 
| MachineName | Cadena | Equipo que registró el evento. | 
| ProviderName | Cadena | Aplicación o servicio que registró el evento. | 
| TimeCreated | Cadena | Momento en que tuvo lugar el evento en formato ISO 8601. | 
| Index | Int | Lugar del registro donde se encuentra la entrada. | 
| UserName | Cadena | Persona que realizó la entrada, si se sabe quién es. | 
| Keywords | Cadena | El tipo de evento. Los valores estándar son AuditFailure (eventos de auditoría de seguridad con errores), AuditSuccess (eventos de auditoría de seguridad correctos), Classic (eventos generados con la función RaiseEvent), Correlation Hint (eventos de transferencia), SQM (eventos del mecanismo de calidad del servicio), WDI Context (eventos contextuales de Infraestructura de diagnóstico de Windows) y WDI Diag (eventos de diagnóstico de Infraestructura de diagnóstico de Windows).  | 
| EventData | Lista de objetos | (Opcional) Datos adicionales específicos de un proveedor sobre el evento de registro. Solo se incluye si el valor del par clave-valor IncludeEventData es "true". | 

A continuación, se muestra un ejemplo de un evento convertido a formato 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==" 
]}
```

## Configuración de WindowSeventLogPollingSource
<a name="eventlogpolling-source-configuration"></a>

`WindowsEventLogPollingSource`utiliza un mecanismo basado en sondeo para recopilar todos los eventos nuevos del registro de eventos que coincidan con los parámetros configurados. El intervalo de sondeo se actualiza dinámicamente entre 100 ms y 5000 ms dependiendo de cuántos eventos se reunieron durante la última encuesta. A continuación, se muestra una declaración `WindowsEventLogPollingSource` de ejemplo:

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

Todas las declaraciones `WindowsEventLogPollingSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"WindowsEventLogPollingSource"` (obligatorio).

`LogName`  
Especifica el registro. Las opciones válidas son`Application`,`Security`,`System`, u otros registros válidos.

`IncludeEventData`  
Opcional. Cuando`true`, especifica que EventData adicional cuando se transmite como JSON y XML se incluye. El valor predeterminado es `false`.

`Query`  
Opcional. Los registros de eventos de Windows admiten la consulta de eventos mediante expresiones XPath, que puede especificar mediante`Query`. Para obtener más información, consulte[Consultas de eventos y XML de eventos](https://docs.microsoft.com/en-us/previous-versions/bb399427(v=vs.90))en la documentación de Microsoft.

`CustomFilters`  
Opcional. Una lista de filtros separados por un punto y coma (`;`). Se pueden especificar los siguientes filtros.    
`ExcludeOwnSecurityEvents`  
Excluye los eventos de seguridad generados por Kinesis Agent para Windows.

## Configuración de WindowsETWEventSource
<a name="etw-source-configuration"></a>

 El tipo `WindowsETWEventSource` se utiliza para recopilar rastros de eventos de servicios y aplicaciones con una característica llamada Seguimiento de eventos para Windows (ETW). Para obtener más información, consulte [Event Tracing](https://docs.microsoft.com/en-us/windows/desktop/etw/event-tracing-portal) en la documentación de Windows.

A continuación, se muestra una declaración `WindowsETWEventSource` de ejemplo:

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

Todas las declaraciones `WindowsETWEventSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"WindowsETWEventSource"` (obligatorio).

`ProviderName`  
Especifica qué proveedor de eventos se va a utilizar para recopilar los eventos de rastreo. Debe ser un nombre de ETW válido asignado a un proveedor instalado. Para determinar qué proveedores están instalados, ejecute lo siguiente en una ventana del símbolo del sistema de Windows:  

```
logman query providers
```

`TraceLevel`  
Especifica qué categorías de los eventos de rastreo deben recopilarse. Los valores permitidos son `Critical`, `Error`, `Warning`, `Informational` y `Verbose`. El significado exacto depende del proveedor de ETW seleccionado.

`MatchAnyKeyword`  
Este valor es un número de 64 bits, donde cada bit representa una palabra clave individual. Cada palabra clave describe una categoría de eventos que se va a recopilar. Para obtener información sobre las palabras clave admitidas, sus valores y cómo se relacionan con `TraceLevel`, consulte la documentación de ese proveedor. Por ejemplo, para obtener información sobre el proveedor ETW de CLR [Palabras clave y niveles ETW de CLR](https://docs.microsoft.com/en-us/dotnet/framework/performance/clr-etw-keywords-and-levels) en la documentación de Microsoft .NET Framework.   
En el ejemplo anterior, 32768 (0x00008000) representa la `ExceptionKeyword` del proveedor ETW de CLR que indica al proveedor que recopile información sobre las excepciones generadas. Aunque JSON no admite de forma nativa constantes hexadecimales, puede especificarlas para `MatchAnyKeyword` incluyéndolas en una cadena. También puede especificar varias constantes separadas por comas. Por ejemplo, utilice lo siguiente para especificar `ExceptionKeyword` y `SecurityKeyword` (0x00000400):  

```
{
   "Id": "MyClrETWEventSource",
   "SourceType": "WindowsETWEventSource",
   "ProviderName": "Microsoft-Windows-DotNETRuntime",
   "TraceLevel": "Verbose",
   "MatchAnyKeyword": "0x00008000, 0x00000400"
}
```
Para asegurarse de que todas las palabras clave especificadas pueden utilizarse con un proveedor, se combinan varios valores de las palabras clave con OR y se pasan a ese proveedor.

La salida de `WindowsETWEventSource` contiene la siguiente información sobre cada evento:


| Atributo | Tipo | Descripción | 
| --- | --- | --- | 
| EventName | Cadena | Tipo de evento que se produjo. | 
| ProviderName | Cadena | Proveedor que detectó el evento. | 
| FormattedMessage | Cadena | Resumen del evento en formato de texto. | 
| ProcessID | Int | Proceso que registró el evento. | 
| ExecutingThreadID | Int | Subproceso que registró el evento. | 
| MachineName | Cadena | Nombre del equipo de escritorio o del servidor que registra el evento. | 
| Payload | Tabla hash | Tabla con una clave de cadena y cualquier tipo de objeto como valor. La clave es el nombre del elemento de carga, mientras que el valor es el valor del elemento de carga. La carga depende del proveedor. | 

A continuación, se muestra un ejemplo de un evento convertido a formato 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 
      } 
}
```

## Configuración de WindowsPerformanceCounterSource
<a name="performance-counter-source-configuration"></a>

 El tipo `WindowsPerformanceCounterSource` recopila métricas de contadores de rendimiento de Windows. A continuación, se muestra una declaración `WindowsPerformanceCounterSource` de ejemplo: 

```
{
	"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 las declaraciones `WindowsPerformanceCounterSource` pueden proporcionar los siguientes pares clave-valor:

`SourceType`  
Tiene que ser la cadena literal `"WindowsPerformanceCounterSource"` (obligatorio).

`Categories`  
Especifica un conjunto de grupos de métricas de contadores de rendimiento que se van a recopilar en Windows. Cada grupo de métricas contiene los siguientes pares clave-valor:    
`Category`  
Especifica el conjunto de métricas de contadores que se van a recopilar (obligatorio).  
`Instances`  
Especifica el conjunto de objetos de interés cuando hay un único conjunto de contadores de rendimiento para cada objeto. Por ejemplo, cuando la categoría es `LogicalDisk`, hay un conjunto de contadores de rendimiento para cada unidad de disco. Este par clave-valor es opcional. Puede utilizar los caracteres comodín `*` y `?` para encontrar coincidencias con varias instancias. Para sumar valores de todas las instancias, especifique `_Total`.  
También puede utilizar`InstanceRegex`, que acepta expresiones regulares que contienen el`*`carácter comodín como parte del nombre de la instancia.  
`Counters`  
Especifica qué métricas de la categoría especificada se van a recopilar. Este par clave-valor es obligatorio. Puede utilizar los caracteres comodín `*` y `?` para encontrar varios contadores. Puede especificar `Counters` utilizando el nombre y la unidad o solamente el nombre. Si no se especifican las unidades del contador, el agente de Kinesis para Windows intentará deducirlas a partir del nombre. Si esta deducción no es correcta, es posible especificar la unidad de forma explícita. Si lo desea, puede cambiar los nombres de `Counter`. Existe una representación más compleja de un contador, que sería un objeto con los siguientes pares clave-valor:    
`Counter`  
Nombre del contador. Este par clave-valor es obligatorio.  
`Rename`  
Nombre del contador que se va a presentar al receptor. Este par clave-valor es opcional.  
`Unit`  
Significado del valor asociado al contador. Para obtener una lista completa de los nombres de unidades válidos, consulte la documentación sobre unidades en[MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)en la*Referencia del API de Amazon CloudWatch*.
A continuación, se muestra un ejemplo de una especificación de contadores compleja.  

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

`WindowsPerformanceCounterSource`Solo se puede utilizar con una canalización que especifique un receptor de Amazon CloudWatch. Utilice un receptor diferente si las métricas integradas en Kinesis Agent para Windows también se transmiten a CloudWatch. Examine el registro de Kinesis Agent para Windows después de iniciar un servicio para determinar qué unidades se dedujo que usaban los contadores si no se especificó ninguna unidad en el cuadro de`WindowsPerformanceCounterSource`Declaraciones. Utilice PowerShell para determinar los nombres válidos de las categorías, las instancias y los contadores. 

Para obtener información sobre todas las categorías, incluidos los contadores asociados a conjuntos de contadores, ejecute este comando en una ventana de PowerShell:

```
    Get-Counter -ListSet * | Sort-Object
```

Para determinar qué instancias están disponibles en cada uno de los contadores del conjunto de contadores, ejecute un comando similar al del siguiente ejemplo en una ventana de PowerShell:

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

El valor del parámetro `Counter` debe ser una de las rutas de un miembro `PathsWithInstances` mostrado en la anterior invocación del comando `Get-Counter -ListSet`.

## Origen de métricas integrado en Windows en
<a name="kinesis-agent-builin-metrics-source"></a>

Además de las fuentes de métricas ordinarias como el`WindowsPerformanceCounterSource`tipo (consulte[Configuración de WindowsPerformanceCounterSource](#performance-counter-source-configuration)), el tipo de receptor de CloudWatch puede recibir métricas de un origen especial que recopile métricas sobre el propio agente de Kinesis para Windows. Las métricas de Kinesis Agent para Windows también están disponibles en la`KinesisTap`de los contadores de rendimiento de Windows. 

La`MetricsFilter`El par clave-valor de las declaraciones de receptores de CloudWatch especifica qué métricas se transmiten a CloudWatch desde el origen de métricas de integrado en Kinesis Agent para Windows. El valor es una cadena que contiene una o varias expresiones de filtro separadas por punto y coma; por ejemplo:

`"MetricsFilter": "`*ExpresiónDeFiltro1*`;`*ExpresiónDeFiltro2*`"`

Una métrica que coincide con una o varias expresiones de filtro se transmite a CloudWatch.

Las métricas de instancias únicas son de carácter global y no están vinculadas a un determinado origen o receptor. Las métricas de instancias múltiples son dimensionales y dependen de la declaración `Id` del origen o receptor. Cada tipo de origen o receptor puede tener un conjunto diferente de métricas.

Para obtener una lista de los nombres de métrica del agente de Kinesis para Windows, consulte[Lista de métricas del agente Kinesis para Windows](#kinesis-agent-metric-list).

En las métricas de instancias únicas, la expresión de filtro es el nombre de la métricas; por ejemplo:

```
"MetricsFilter": "SourcesFailedToStart;SinksFailedToStart"
```

En el caso de las métricas de instancias múltiples, la expresión de filtro es el nombre de la métrica, un punto (`.`) y el `Id` de la declaración del origen o receptor que generó esa métrica. Por ejemplo, supongamos que hay una declaración de un receptor cuyo `Id` es `MyFirehose`:

```
"MetricsFilter": "KinesisFirehoseRecordsFailedNonrecoverable.MyFirehose"      
```

Puede utilizar patrones de caracteres comodín especiales diseñados para distinguir entre las métricas de instancias únicas y las métricas de instancias múltiples.
+ El asterisco (`*`) busca coincidencias con cero o más caracteres, salvo el punto (`.`).
+ El signo de interrogación de cierre (`?`) busca coincidencias con un único carácter, salvo el punto.
+ Cualquier otro carácter solamente coincide consigo mismo.
+ `_Total` es un token especial que genera la suma de todos los valores de las instancias múltiples coincidentes que hay en la dimensión.

En el siguiente ejemplo, se buscan coincidencias con todas las métricas de instancias únicas:

```
"MetricsFilter": "*"
```

Como los asteriscos no buscan coincidencias con el carácter de punto, solo se incluyen las métricas de instancias únicas.

En el siguiente ejemplo, se buscan coincidencias con todas las métricas de instancias múltiples:

```
"MetricsFilter": "*.*"
```

En el siguiente ejemplo, se buscan coincidencias con todas las métricas (únicas y múltiples):

```
"MetricsFilter": "*;*.*"
```

En el siguiente ejemplo, se suman todas las métricas de instancias múltiples de todos los orígenes y receptores:

```
"MetricsFilter": "*._Total"
```

En el siguiente ejemplo, se suman todas las métricas de Kinesis Data Firehose de Kinesis para todos los receptores de Firehose de datos de Kinesis:

```
"MetricsFilter": "*Firehose*._Total"
```

En el siguiente ejemplo, se buscan coincidencias con todas las métricas con error de las instancias únicas y múltiples:

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

En el siguiente ejemplo, se buscan coincidencias con todas las métricas con error no recuperables que se han sumado en todos los orígenes y receptores:

```
"MetricsFilter": "*Nonrecoverable*._Total"
```



Para obtener información acerca de cómo especificar una canalización que utilice el origen de métricas integrado en Kinesis Agent para Windows, consulte[Configuración del agente Kinesis para tuberías métricas de Windows](pipe-object-declarations.md#kinesis-agent-metric-pipe-configuration).

## Lista de métricas del agente Kinesis para Windows
<a name="kinesis-agent-metric-list"></a>

A continuación, se muestra una lista con las métricas de instancias únicas y múltiples que están disponibles para Kinesis Agent para Windows.

### Métricas de instancias únicas
<a name="single-instance-metrics"></a>

Las siguientes métricas de instancias únicas están disponibles:

`KinesisTapBuildNumber`  
El número de versión de Kinesis Agent para Windows.

`PipesConnected`  
Número de canalizaciones que han conectado correctamente el origen con el receptor.

`PipesFailedToConnect`  
Número de canalizaciones que no han conectado correctamente el origen con el receptor.

`SinkFactoriesFailedToLoad`  
Número de tipos de receptores que no se cargaron correctamente en el agente de Kinesis para Windows.

`SinkFactoriesLoaded`  
Número de tipos de receptores que se cargaron correctamente en el agente de Kinesis para Windows.

`SinksFailedToStart`  
Número de receptores que no se iniciaron correctamente; por lo general, debido a una declaración incorrecta del receptor.

`SinksStarted`  
Número de receptores que se iniciaron correctamente.

`SourcesFailedToStart`  
Número de orígenes que no se iniciaron correctamente; por lo general, debido a una declaración incorrecta del origen.

`SourcesStarted`  
Número de orígenes que se iniciaron correctamente.

`SourceFactoriesFailedToLoad`  
Número de tipos de orígenes que no se cargaron correctamente en el agente de Kinesis para Windows.

`SourceFactoriesLoaded`  
Número de tipos de orígenes que se cargaron correctamente en el agente de Kinesis para Windows.

### Métricas de instancias múltiples
<a name="multiple-instance-metrics"></a>

Las siguientes métricas de instancias múltiples están disponibles:

#### Métricas de DirectorySource
<a name="directory-source-metrics"></a>

`DirectorySourceBytesRead`  
Número de bytes leídos durante el intervalo de este `DirectorySource`.

`DirectorySourceBytesToRead`  
Número conocido de bytes disponibles para leer que aún no ha leído Kinesis Agent para Windows.

`DirectorySourceFilesToProcess`  
Número de archivos conocidos que debe examinarse y que aún no ha examinado el agente de Kinesis para Windows.

`DirectorySourceRecordsRead`  
Número de registros que se han leído durante el intervalo de este `DirectorySource`.

#### Métricas de WindowsEventLogSource
<a name="windows-event-log-source-metrics"></a>

`EventLogSourceEventsError`  
Número de eventos de un registro de eventos de Windows que no se han leído correctamente.

`EventLogSourceEventsRead`  
Número de eventos de un registro de eventos de Windows que se han leído correctamente.

#### Métricas de receptores de KinesisFirehose
<a name="kinesis-firehose-sink-metrics"></a>

`KinesisFirehoseBytesAccepted`  
Número de bytes aceptados durante el intervalo.

`KinesisFirehoseClientLatency`  
Tiempo transcurrido entre la generación del registro y su transmisión al servicio de Kinesis Data Firehose.

`KinesisFirehoseLatency`  
Tiempo transcurrido entre el inicio y el final de la transmisión del registro en el servicio de Kinesis Data Firehose.

`KinesisFirehoseNonrecoverableServiceErrors`  
Número de veces que los registros no pudieron enviarse sin error al servicio de Kinesis Data Firehose a pesar de que volviera a intentarse.

`KinesisFirehoseRecordsAttempted`  
Número de registros que han intentado transmitirse al servicio de Kinesis Data Firehose.

`KinesisFirehoseRecordsFailedNonrecoverable`  
Número de registros que no pudieron transmitirse correctamente al servicio de Kinesis Data Firehose a pesar de que volviera a intentarse.

`KinesisFirehoseRecordsFailedRecoverable`  
Número de registros que se transmitieron correctamente al servicio de Kinesis Data Firehose, pero solo cuando se necesitaron varios intentos.

`KinesisFirehoseRecordsSuccess`  
Número de registros que se transmitieron correctamente al servicio de Kinesis Data Firehose sin que fueran necesarios varios intentos.

`KinesisFirehoseRecoverableServiceErrors`  
Número de veces que los registros pudieron enviarse correctamente al servicio de Kinesis Data Firehose, pero solo cuando se necesitaron varios intentos.

#### Métricas de KinesisStream
<a name="kinesis-stream-metrics"></a>

`KinesisStreamBytesAccepted`  
Número de bytes aceptados durante el intervalo.

`KinesisStreamClientLatency`  
Tiempo transcurrido entre la generación del registro y su transmisión al servicio de Kinesis Data Streams.

`KinesisStreamLatency`  
Tiempo transcurrido entre el inicio y el final de la transmisión del registro en el servicio de Kinesis Data Streams.

`KinesisStreamNonrecoverableServiceErrors`  
Número de veces que los registros no pudieron enviarse sin error al servicio de Kinesis Data Streams a pesar de que volviera a intentarse.

`KinesisStreamRecordsAttempted`  
Número de registros que han intentado transmitirse al servicio de Kinesis Data Streams.

`KinesisStreamRecordsFailedNonrecoverable`  
Número de registros que no pudieron transmitirse correctamente al servicio de secuencias de Kinesis Data Streams a pesar de que volviera a intentarse.

`KinesisStreamRecordsFailedRecoverable`  
Número de registros que se transmitieron correctamente al servicio de Kinesis Data Streams, pero solo cuando se necesitaron varios intentos.

`KinesisStreamRecordsSuccess`  
Número de registros que se transmitieron correctamente al servicio de secuencias de Kinesis Data Streams sin que fueran necesarios varios intentos.

`KinesisStreamRecoverableServiceErrors`  
Número de veces que los registros pudieron enviarse correctamente al servicio de Kinesis Data Streams, pero solo cuando se necesitaron varios intentos.

#### Métricas de CloudWatchLog
<a name="cloud-watch-log-metrics"></a>

`CloudWatchLogBytesAccepted`  
Número de bytes aceptados durante el intervalo.

`CloudWatchLogClientLatency`  
Tiempo transcurrido entre la generación del registro y su transmisión al servicio de registros de CloudWatch Logs.

`CloudWatchLogLatency`  
Tiempo transcurrido entre el inicio y el final de la transmisión del registro en el servicio de CloudWatch Logs.

`CloudWatchLogNonrecoverableServiceErrors`  
Número de veces que los registros no pudieron enviarse sin error al servicio de registros de CloudWatch a pesar de que volviera a intentarse.

`CloudWatchLogRecordsAttempted`  
Número de registros que han intentado transmitirse al servicio de CloudWatch Logs.

`CloudWatchLogRecordsFailedNonrecoverable`  
Número de registros que no pudieron transmitirse correctamente al servicio de registros de CloudWatch a pesar de que volviera a intentarse.

`CloudWatchLogRecordsFailedRecoverable`  
Número de registros que se transmitieron correctamente al servicio de CloudWatch Logs, pero solo cuando se necesitaron varios intentos.

`CloudWatchLogRecordsSuccess`  
Número de registros que se transmitieron correctamente al servicio de registros de CloudWatch sin que fueran necesarios varios intentos.

`CloudWatchLogRecoverableServiceErrors`  
Número de veces que los registros pudieron enviarse correctamente al servicio de CloudWatch Logs, pero solo cuando se necesitaron varios intentos.

#### Métricas de CloudWatch
<a name="cloud-watch-metrics"></a>

`CloudWatchLatency`  
Tiempo transcurrido de media entre el inicio y el final de la transmisión de métricas en el servicio de CloudWatch.

`CloudWatchNonrecoverableServiceErrors`  
Número de veces que las métricas no pudieron enviarse sin error al servicio de CloudWatch a pesar de que volviera a intentarse.

`CloudWatchRecoverableServiceErrors`  
Número de veces que las métricas pudieron enviarse sin error al servicio de CloudWatch, pero solo cuando se necesitaron varios intentos.

`CloudWatchServiceSuccess`  
Número de veces que las métricas pudieron enviarse sin error al servicio de CloudWatch sin que fueran necesarios varios intentos.

## Configuración de Bookmark
<a name="advanced-source-configuration"></a>

 De forma predeterminada, el agente de Kinesis para Windows envía registros a los receptores que se crearon después de iniciar el agente. A veces, resulta útil enviar registros anteriores; por ejemplo, registros que se crearon durante el periodo de tiempo que estuvo detenido por Kinesis Agent para Windows durante una actualización automática. La característica de marcador (bookmark) realiza un seguimiento de lo que los registros han enviado a los receptores. Cuando Kinesis Agent para Windows está en modo marcador y se inicia, envía todas las entradas de registro que se crearon tras la detención del agente de Kinesis para Windows, junto con las entradas que se crearon posteriormente. Para controlar este comportamiento, las declaraciones de origen basadas en archivos pueden incluir opcionalmente los siguientes pares clave-valor: 

`InitialPosition`  
Especifica la situación inicial del marcador (bookmark). Los valores posibles son los siguientes:    
`EOS`  
Especifica el final de la secuencia (EOS). Solo se envían a los receptores las entradas de registro que se crearon mientras el agente estaba en ejecución.  
`0`  
Todos los eventos y entradas de registro se envían desde el primer momento. A continuación, se crea un marcador para garantizar que finalmente se envían todas las nuevas entradas de registro y los eventos que se crearon tras la generación del marcador (bookmark), tanto si estaba en ejecución como si no.  
`Bookmark`  
El marcador (bookmark) se ha inicializado justo después del último registro o evento. A continuación, se crea un marcador para garantizar que finalmente se envían todas las nuevas entradas de registro y los eventos que se crearon tras la generación del marcador (bookmark), tanto si estaba en ejecución como si no.  
De forma predeterminada, los marcadores están habilitadas. Los archivos se almacenan en la`%ProgramData%\Amazon\KinesisTap`.  
`Timestamp`  
Se envían los registros y eventos creados después del valor `InitialPositionTimestamp` (cuya descripción se incluye a continuación). A continuación, se crea un marcador para garantizar que finalmente se envían todas las nuevas entradas de registro y los eventos que se crearon tras la generación del marcador (bookmark) Kinesis tanto si estaba en ejecución como si no.

`InitialPositionTimestamp`  
Especifica la marca temporal de la entrada de registro o el evento más antiguo que desea tener. Especifique este par clave-valor solamente cuando el valor de `InitialPosition` sea `Timestamp`.

`BookmarkOnBufferFlush`  
 Esta configuración se puede añadir a cualquier fuente que se pueda marcar. Cuando se establece en`true`, garantiza que las actualizaciones de marcadores solo se produzcan cuando un receptor envía correctamente un evento a AWS. Solo puede suscribir un único receptor a una fuente. Si envía registros a varios destinos, duplique sus fuentes para evitar posibles problemas con la pérdida de datos.

Cuando Kinesis Agent para Windows ha estado detenido durante un largo periodo de tiempo, puede ser necesario eliminar estos marcadores, ya que podría ocurrir que las entradas de registro y los eventos señalados con estos marcadores no existieran ya. Los archivos de marcadores (bookmark) de un determinado *id de origen* se encuentran en `%PROGRAMDATA%\Amazon\AWSKinesisTap\source id.bm`.

Los marcadores (bookmarks) no funcionan en archivos truncados o cuyo nombre ha cambiado. Debido a su naturaleza, no se pueden utilizar marcadores (bookmarks) con los contadores de rendimiento y los contadores de los eventos de ETW.