

# Habilitación de Transaction Search
<a name="Enable-TransactionSearch"></a>

Puede habilitar [Transaction Search](CloudWatch-Transaction-Search.md) con la consola o una API. La búsqueda de transacciones está configurada para toda la cuenta y cambia la ingesta de todas las unidades mediante X-Ray al modo de recopilación rentable usando [Precios de Amazon CloudWatch](https://aws.amazon.com/cloudwatch/pricing/). De forma predeterminada, también indexará el 1 % de las unidades ingeridas de forma gratuita como resumen de seguimiento para su análisis, lo que suele ser suficiente dado que ya dispone de una visibilidad completa de seguimiento de principio a fin en todas las unidades ingeridas mediante la búsqueda de transacciones.

## Requisitos previos
<a name="Enable-TransactionSearch-prerequisites"></a>

 Antes de habilitar Transaction Search, debe crear un rol con los siguientes permisos. 

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "TransactionSearchXRayPermissions",
      "Effect": "Allow",
      "Action": [
        "xray:GetTraceSegmentDestination",
        "xray:UpdateTraceSegmentDestination",
        "xray:GetIndexingRules",
        "xray:UpdateIndexingRule"
      ],
      "Resource": "*"
    },
    {
      "Sid": "TransactionSearchLogGroupPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutRetentionPolicy"
      ],
      "Resource": [
        "arn:aws:logs:*:*:log-group:/aws/application-signals/data:*",
        "arn:aws:logs:*:*:log-group:aws/spans:*"
      ]
    },
    {
      "Sid": "TransactionSearchLogsPermissions",
      "Effect": "Allow",
      "Action": [
        "logs:PutResourcePolicy",
        "logs:DescribeResourcePolicies"
      ],
      "Resource": "*"
    },
    {
      "Sid": "TransactionSearchApplicationSignalsPermissions",
      "Effect": "Allow",
      "Action": [
        "application-signals:StartDiscovery"
      ],
      "Resource": "*"
    },
    {
      "Sid": "CloudWatchApplicationSignalsCreateServiceLinkedRolePermissions",
      "Effect": "Allow",
      "Action": "iam:CreateServiceLinkedRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals",
      "Condition": {
        "StringLike": {
          "iam:AWSServiceName": "application-signals.cloudwatch.amazonaws.com"
        }
      }
    },
    {
      "Sid": "CloudWatchApplicationSignalsGetRolePermissions",
      "Effect": "Allow",
      "Action": "iam:GetRole",
      "Resource": "arn:aws:iam::*:role/aws-service-role/application-signals.cloudwatch.amazonaws.com/AWSServiceRoleForCloudWatchApplicationSignals"
    },
    {
      "Sid": "CloudWatchApplicationSignalsCloudTrailPermissions",
      "Effect": "Allow",
      "Action": [
        "cloudtrail:CreateServiceLinkedChannel"
      ],
      "Resource": "arn:aws:cloudtrail:*:*:channel/aws-service-channel/application-signals/*"
    }
  ]
}
```

------

**nota**  
 Para usar Transaction Search y otras características de CloudWatch, agregue la [política CloudWatchReadOnlyAccess](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/CloudWatchReadOnlyAccess.html) a su rol. Para obtener información acerca de cómo crear un rol, consulte [Creación de roles de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create.html). 

## Habilitación de Transaction Search en la consola
<a name="CloudWatch-Transaction-Search-EnableConsole"></a>

 En el procedimiento siguiente se describe cómo habilitar Transaction Search en la consola. 

**Habilitación de Transaction Search en la consola de CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1.  En el panel de navegación, en **Application Signals**, elija **Transaction Search**. 

1.  Seleccione **Habilitar Transaction Search**. 

1.  Seleccione la casilla para ingerir las unidades de seguimiento como registros estructurados e introduzca un porcentaje de las unidades de seguimiento que desee indexar. Puede indexar las piezas de registro al 1 % de forma gratuita y cambiar el porcentaje más adelante en función de sus necesidades. 

## Habilitación de Transaction Search con una API
<a name="CloudWatch-Transaction-Search-EnableAPI"></a>

 En el siguiente procedimiento se describe cómo habilitar Transaction Search con una API. 

### Paso 1. Creación de una política que conceda acceso para ingerir unidades de seguimiento en Registros de CloudWatch
<a name="w2aac28c21c15c11b5"></a>

 Cuando utilice la AWS CLI o el SDK para habilitar Transaction Search, debe configurar los permisos mediante una política basada en recursos con [https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html). 

**Política de ejemplo**  
 El siguiente ejemplo de política permite a X-Ray enviar seguimientos a Registros de CloudWatch. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TransactionSearchXRayAccess",
            "Effect": "Allow",
            "Principal": {
                "Service": "xray.amazonaws.com"
            },
            "Action": "logs:PutLogEvents",
            "Resource": [
                "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:aws/spans:*",
                "arn:aws:logs:{{us-east-1}}:{{123456789012}}:log-group:/aws/application-signals/data:*"
            ],
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "arn:aws:xray:{{us-east-1}}:{{123456789012}}:*"
                },
                "StringEquals": {
                    "aws:SourceAccount": "{{123456789012}}"
                }
            }
        }
    ]
}
```

------

**Comando de ejemplo**  
 En el siguiente ejemplo se muestra cómo formatear el comando AWS CLI con `PutResourcePolicy`. 

```
aws logs put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17",		 	 	  "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:xray:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ]}'
```

### Paso 2. Configuración del destino de los segmentos de seguimientos
<a name="w2aac28c21c15c11b7"></a>

 Configure la ingesta de unidades de seguimiento con [https://docs.aws.amazon.com/xray/latest/api/API_UpdateTraceSegmentDestination.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateTraceSegmentDestination.html). 

**Comando de ejemplo**  
 En el siguiente ejemplo se muestra cómo formatear el comando AWS CLI con `UpdateTraceSegmentDestination`. 

```
aws xray update-trace-segment-destination --destination CloudWatchLogs
```

### Paso 3. Configuración de la cantidad de unidades de seguimiento que se van a indexar
<a name="w2aac28c21c15c11b9"></a>

 Configuración del porcentaje de muestreo deseado con [https://docs.aws.amazon.com/xray/latest/api/API_UpdateIndexingRule.html](https://docs.aws.amazon.com/xray/latest/api/API_UpdateIndexingRule.html) 

**Comando de ejemplo**  
 En el siguiente ejemplo se muestra cómo formatear el comando AWS CLI con `UpdateIndexingRule`. 

```
aws xray update-indexing-rule --name "Default" --rule '{"Probabilistic": {"DesiredSamplingPercentage": number}}'
```

**nota**  
 Tras activar Transaction Search, las unidades de seguimiento pueden tardar diez minutos en estar disponibles para su búsqueda y análisis. 

### Paso 4. Verificación de que las unidades de seguimiento estén disponibles para la búsqueda y el análisis
<a name="w2aac28c21c15c11c11"></a>

 Para verificar que las unidades de seguimiento estén disponibles para la búsqueda y el análisis, use [https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSegmentDestination.html](https://docs.aws.amazon.com/xray/latest/api/API_GetTraceSegmentDestination.html). 

**Comandos de ejemplo**  
 En el siguiente ejemplo se muestra cómo formatear el comando AWS CLI con `GetTraceSegmentDestination`. 

```
aws xray get-trace-segment-destination
```

**Respuesta de ejemplo**  
 En el siguiente ejemplo, se muestra la respuesta que puede esperar cuando Transaction Search esté activo. 

```
{
    "Destination": "CloudWatchLogs",
    "Status": "ACTIVE"
}
```