

# Conexión a Dynatrace
<a name="connecting-to-data-dynatrace"></a>

Dynatrace es una plataforma que ofrece análisis y automatización para conseguir observabilidad y seguridad completas. Se especializa en supervisar y optimizar el rendimiento de las aplicaciones, la infraestructura y la experiencia del usuario.

**Topics**
+ [Compatibilidad de AWS Glue con Dynatrace](dynatrace-support.md)
+ [Políticas que contienen las operaciones de la API para crear y usar conexiones](dynatrace-configuring-iam-permissions.md)
+ [Configuración de Dynatrace](dynatrace-configuring.md)
+ [Configuración de las conexiones a Dynatrace](dynatrace-configuring-connections.md)
+ [Lectura de entidades de Dynatrace](dynatrace-reading-from-entities.md)
+ [Opciones de conexión a Dynatrace](dynatrace-connection-options.md)
+ [Limitaciones de Dynatrace](dynatrace-connection-limitations.md)

# Compatibilidad de AWS Glue con Dynatrace
<a name="dynatrace-support"></a>

AWS Glue es compatible con Dynatrace de la siguiente manera:

**¿Es compatible como origen?**  
Sí. Puede utilizar los trabajos de ETL de AWS Glue para consultar datos de Dynatrace.

**¿Es compatible como destino?**  
No.

**Versiones de la API de Dynatrace compatibles**  
Las siguientes versiones de la API de Dynatrace son compatibles:
+ v2

# Políticas que contienen las operaciones de la API para crear y usar conexiones
<a name="dynatrace-configuring-iam-permissions"></a>

En el siguiente ejemplo de política se describen los permisos de AWS IAM necesarios para crear y utilizar conexiones. Si va a crear un nuevo rol, cree una política que contenga lo siguiente:

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Si no desea utilizar el método anterior, puede utilizar las siguientes políticas de IAM administradas:
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole): da acceso a recursos que precisan diversos procesos de AWS Glue para ejecutarse en su nombre. Entre estos recursos se incluyen AWS Glue, Amazon S3, IAM, CloudWatch Logs y Amazon EC2. Si aplica la convención de nomenclatura en los recursos especificados en esta política, los procesos de AWS Glue tienen los permisos necesarios. Normalmente, esta política se asocia a los roles que se especifican a la hora de definir rastreadores, trabajos y puntos de conexión de desarrollo.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess): otorga acceso total a los recursos de AWS Glue cuando una identidad a la que está asociada la política utiliza la Consola de administración de AWS. Si sigue la convención de nomenclatura para los recursos especificados en esta política, los usuarios dispondrán de todas las funciones de la consola. Esta política se suele adjuntar a los usuarios de la consola AWS Glue.

# Configuración de Dynatrace
<a name="dynatrace-configuring"></a>

Antes de poder utilizar AWS Glue para transferir datos desde Dynatrace, deberá cumplir estos requisitos:

## Requisitos mínimos
<a name="dynatrace-configuring-min-requirements"></a>

Los requisitos mínimos son los siguientes:
+ Tener una cuenta de Dynatrace.
+ Haber generado un token de acceso en la cuenta de Dynatrace con el alcance de lectura/escritura adecuado asignado para acceder a las API. Para obtener más información, consulte [Generate a token](https://docs.dynatrace.com/docs/discover-dynatrace/references/dynatrace-api/basics/dynatrace-api-authentication#create-token).

Si cumple estos requisitos, estará listo para conectar AWS Glue a la cuenta de Dynatrace.

# Configuración de las conexiones a Dynatrace
<a name="dynatrace-configuring-connections"></a>

Dynatrace admite la autenticación personalizada.

Para configurar una conexión a Dynatrace:

1. En AWS Secrets Manager, cree un secreto con los siguientes detalles:

   1. Para la aplicación conectada administrada por el cliente, el secreto debe contener la clave de la API de la aplicación conectada con `apiToken` como clave.

   1. Nota: Debe crear un secreto para las conexiones en AWS Glue.

1. En AWS Glue Glue Studio, cree una conexión en **Conexiones de datos** según los pasos que se indican a continuación:

   1. Al seleccionar un **Origen de datos**, elija Dynatrace.

   1. Proporcione la `INSTANCE_URL` de la cuenta de Dynatrace a la que se desea conectar.

   1. Seleccione el rol de AWS IAM que AWS Glue pueda asumir y que tenga permisos para las siguientes acciones:

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Action": [
              "secretsmanager:DescribeSecret",
              "secretsmanager:GetSecretValue",
              "secretsmanager:PutSecretValue",
              "ec2:CreateNetworkInterface",
              "ec2:DescribeNetworkInterfaces",
              "ec2:DeleteNetworkInterface"
            ],
            "Resource": "*"
          }
        ]
      }
      ```

------

   1. Seleccione el `secretName` que desee usar para esta conexión en AWS Glue para colocar los tokens.

   1. Seleccione las opciones de red si quiere usar su red.

1. Conceda el rol de IAM asociado a su permiso de trabajo de AWS Glue para leer `secretName`.

# Lectura de entidades de Dynatrace
<a name="dynatrace-reading-from-entities"></a>

**Requisito previo**

Un objeto de Dynatrace desde el que desea leer. Necesitará el nombre del objeto, como “problema”.

**Entidades compatibles como origen:**


| Entidad | Se puede filtrar | Admite límite | Admite Ordenar por | Admite Seleccionar \$1 | Admite partición | 
| --- | --- | --- | --- | --- | --- | 
| Problema | Sí | Sí | Sí | Sí | No | 

**Ejemplo:**

```
Dynatrace_read = glueContext.create_dynamic_frame.from_options(
    connection_type="Dynatrace",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "problem",
        "API_VERSION": "v2",
        "INSTANCE_URL": "https://[instanceName].live.dynatrace.com"
    }
```

**Detalles de entidades y campos de Dynatrace**:

Dynatrace proporciona puntos de conexión para obtener metadatos de forma dinámica para entidades compatibles. Por lo tanto, la compatibilidad del operador se captura según el tipo de datos.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/glue/latest/dg/dynatrace-reading-from-entities.html)

## Consultas de partición
<a name="dynatrace-reading-partitioning-queries"></a>

Dynatrace no admite la partición basada en campos ni en registros.

# Opciones de conexión a Dynatrace
<a name="dynatrace-connection-options"></a>

Existen las siguientes opciones para establecer conexión con Dynatrace:
+ `ENTITY_NAME`(cadena): (obligatorio) se usa para lectura. El nombre del objeto en Dynatrace.
+ `API_VERSION`(cadena): (obligatorio) se usa para lectura. Versión de la API de Rest de Dynatrace que desea utilizar.
+ `INSTANCE_URL`(cadena): se usa para leer. Una URL de instancia de Dynatrace válida.
+ `SELECTED_FIELDS`(lista<Cadena>): predeterminado: empty(SELECT \$1). Se usa para leer. Columnas que desee seleccionar para el objeto.
+ `FILTER_PREDICATE`(cadena): predeterminado: vacío. Se usa para leer. Debe estar en el formato de Spark SQL.
+ `QUERY`(cadena): predeterminado: vacío. Se usa para leer. Consulta completa de Spark SQL.

# Limitaciones de Dynatrace
<a name="dynatrace-connection-limitations"></a>

Las siguientes son limitaciones o notas correspondientes a Dynatrace:
+ Dynatrace no admite la partición basada en campos ni en registros.
+ En el caso de la característica Seleccionar todo, si proporciona el “campo” en el filtro, no permitirá que haya más de 10 registros por página.
+ Se admite un máximo de 500 por página. Si selecciona alguno de los campos [`evidenceDetails, impactAnalysis, recentComments`] al crear el flujo, la cantidad de registros por página se establecerá de forma predeterminada en 10.