

# Estructura y sintaxis del cuerpo del panel
<a name="CloudWatch-Dashboard-Body-Structure"></a>

**Topics**
+ [Estructura general](#Dashboard-Body-Overall-Structure)
+ [Estructura de la matriz de widgets](#CloudWatch-Dashboard-Properties-Widgets-Structure)
+ [Estructura de la matriz de variables](#CloudWatch-Dashboard-Properties-Variables-Structure)
+ [Propiedades de un objeto de widget de registros](#CloudWatch-Dashboard-Properties-Log-Widget-Object)
+ [Propiedades de un objeto de widget de métricas](#CloudWatch-Dashboard-Properties-Metric-Widget-Object)
+ [Formato de widget de métricas para cada métrica de la matriz](#CloudWatch-Dashboard-Properties-Metrics-Array-Format)
+ [Propiedades de un objeto de widget del Explorador de métricas](#CloudWatch-Dashboard-Properties-Metric-Explorer-Object)
+ [Propiedades de un objeto de widget de estado de alarmas](#CloudWatch-Dashboard-Properties-Alarm-Widget-Object)

## Estructura general
<a name="Dashboard-Body-Overall-Structure"></a>

Un `DashboardBody` es una cadena en formato JSON. Puede incluir una matriz de entre 0 y 500 objetos de widget, así como algunos parámetros adicionales. El panel debe incluir una matriz `widgets`, pero esa matriz puede estar vacía.

A continuación se muestra un ejemplo de esta estructura que incluye un widget de métricas y un widget de texto. El intervalo de tiempo comienza seis horas antes de la hora actual y se respeta siempre la configuración de periodo definida para cada gráfico.

```
{
   "start": "-PT6H",
   "periodOverride": "inherit",
   "widgets": [
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":12,
         "height":6,
         "properties":{
            "metrics":[
               [
                  "AWS/EC2",
                  "CPUUtilization",
                  "InstanceId",
                  "i-012345"
               ]
            ],
            "period":300,
            "stat":"Average",
            "region":"us-east-1",
            "title":"EC2 Instance CPU",
            "liveData": false,
            "legend": {
                "position": "right"
              }
         }
      },
      {
         "type":"text",
         "x":0,
         "y":7,
         "width":3,
         "height":3,
         "properties":{
            "markdown":"Hello world"
         }
      }
   ]
}
```

El siguiente ejemplo muestra tres métricas por función de Lambda y utiliza una variable de panel para que los usuarios puedan alternar entre distintas funciones de Lambda y ver las tres métricas asociadas a cada una. Esto permite crear un único panel flexible capaz de mostrar métricas clave de distintos recursos. En este ejemplo, las funciones se detectan mediante una consulta de búsqueda de métricas, lo que permite que el panel detecte automáticamente las nuevas funciones de Lambda a medida que se crean.

```
{
    "widgets": [{
            "height": 6,
            "width": 6,
            "y": 0,
            "x": 0,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Invocations", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        },
        {
            "height": 12,
            "width": 12,
            "y": 0,
            "x": 6,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Errors", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        },

        {
            "height": 3,
            "width": 6,
            "y": 0,
            "x": 18,
            "type": "metric",
            "properties": {
                "view": "timeSeries",
                "stacked": false,
                "metrics": ["AWS/Lambda", "Duration", "FunctionName", "my-function-name"],

                "region": "us-east-1",
                "liveData": true
            }
        }
    ],
    "variables": [{
        "type": "property",
        "property": "FunctionName",
        "inputType": "select",
        "id": "LambdaFunction_Variable",
        "label": "Function",
        "visible": true,
        "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",
        "populateFrom": "FunctionName"
    }]
}
```

El siguiente ejemplo contiene dos widgets. El primero incluye dos métricas y una expresión matemática que calcula el total combinado de ambas métricas. El segundo widget es una expresión de búsqueda que muestra `CPUUtilization` para todas las instancias de EC2 de la región.

```
{
   "start": "-PT9H",
   "periodOverride": "inherit",
   "widgets": [
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":12,
         "height":6,
         "properties":{
            "metrics":[
               [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ],
               [ ".", ".", ".", "i-abc", { "id": "m2" } ],
               [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ]
            ],
            "view": "timeSeries",
            "stacked": false,
            "period":300,
            "stat":"Average",
            "region":"us-east-1",
            "title":"EC2 Instance CPU"
         }
      },
      {
         "type":"metric",
         "x":0,
         "y":0,
         "width":18,
         "height":9,
         "properties":{
            "metrics":[
               [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ]
            ],
            "view": "timeSeries",
            "stacked": false,
            "region":"us-east-1",
            "title":"EC2 Instance CPU"
         }
      }
   ]
}
```

El resto de esta sección incluye ejemplos que ilustran cada parte de la sintaxis de `DashboardBody`. Para obtener más ejemplos que muestran la sintaxis completa del comando, consulte [PutDashboard](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutDashboard.html) en la Referencia de la API de Amazon CloudWatch.

El nivel superior del objeto JSON puede incluir las siguientes propiedades.

**widgets**  
La lista de widgets del panel. Para obtener más información, consulte [Estructura de la matriz de widgets](#CloudWatch-Dashboard-Properties-Widgets-Structure).  
Obligatorio: sí

**variables**  
La matriz de objetos de variables de panel utilizados en el panel. Para obtener más información sobre los campos que puede utilizar en cada objeto de variable de panel, consulte [Estructura de la matriz de variables](#CloudWatch-Dashboard-Properties-Variables-Structure).  
Para obtener más información sobre las variables de panel, consulte [Crear paneles flexibles con variables de panel](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_dashboard_variables.html).  
Si incluye una matriz `variables`, esta puede contener entre 0 y 25 objetos de variable.  
Obligatorio: no

**finales**  
El final del intervalo de tiempo que se utilizará para cada widget del panel cuando se cargue el panel. Si especifica un valor en `end`, también debe especificar uno en `start`. Para cada uno de estos valores, especifique una hora absoluta en formato ISO 8601. Por ejemplo, `2018-12-17T06:00:00.000Z`.  
Tipo: cadena  
Requerido: no

**iniciar**  
El inicio del intervalo de tiempo que se utilizará para cada widget del panel.  
Puede especificar `start` sin especificar `end` para definir un intervalo de tiempo relativo que finalice en el momento actual. En este caso, el valor de `start` debe comenzar con `-PT` si especifica un intervalo de tiempo en minutos u horas, y debe comenzar con `-P` si especifica un intervalo de tiempo en días, semanas o meses. A continuación, puede utilizar m, h, d, s y M como abreviaturas de minutos, horas, días, semanas y meses. Por ejemplo, `-PT5M` muestra los últimos 5 minutos, `-PT8H` muestra las últimas 8 horas y `-P3M` muestra los últimos tres meses.  
También puede utilizar `start` junto con un campo `end` para especificar un intervalo de tiempo absoluto. Cuando especifique un intervalo de tiempo absoluto, utilice el formato ISO 8601. Por ejemplo, `2018-12-17T06:00:00.000Z`.  
Si omite `start`, el panel muestra el intervalo de tiempo predeterminado cuando se carga.  
Tipo: cadena  
Requerido: no

**periodOverride**  
Utilice este campo para especificar el periodo de los gráficos cuando se cargue el panel. Especificar `auto` hace que el periodo de todos los gráficos del panel se adapte automáticamente al intervalo de tiempo del panel. Especificar `inherit` garantiza que siempre se respete el periodo establecido para cada gráfico.  
Valores válidos: automático \| heredar  
Tipo: cadena  
Requerido: no

## Estructura de la matriz de widgets
<a name="CloudWatch-Dashboard-Properties-Widgets-Structure"></a>

Cada widget, independientemente de su tipo, puede tener las siguientes propiedades.

**tipo**  
El tipo de widget.  
Valores válidos: `metric` \| `text` \| `log` \| `alarm` \| `explorer`  
Tipo: cadena  
Obligatorio: sí

**x**  
La posición horizontal del widget en la cuadrícula de 24 columnas del panel. El valor predeterminado es la siguiente posición disponible.  
Valores válidos: 0–23  
Tipo: número entero  
Obligatorio: sí, si se especifica `y`. De lo contrario, no es obligatorio.

**y**  
La posición vertical del widget en la cuadrícula de 24 columnas del panel. El valor predeterminado es la siguiente posición disponible.  
Valores válidos: cualquier número entero igual o superior a 0.  
Tipo: número entero  
Obligatorio: sí, si se especifica `x`. De lo contrario, no es obligatorio.

**width**  
El ancho del widget en unidades de cuadrícula (en una cuadrícula de 24 columnas). El valor predeterminado es 6.  
Valores válidos: 1–24  
Tipo: entero  
Obligatorio: no

**height**  
La altura del widget en unidades de cuadrícula. El valor predeterminado es 6.  
Valores válidos: 1–1000  
Tipo: entero  
Obligatorio: no

**propiedades**  
Las propiedades detalladas del widget, que varían según el tipo de widget. Para obtener más información sobre el formato de `properties`, consulte [Propiedades de un objeto de widget de métricas](#CloudWatch-Dashboard-Properties-Metric-Widget-Object) o [Propiedades de un objeto de widget de texto](#CloudWatch-Dashboard-Properties-Text-Widget-Object).  
Tipo: objeto  
Obligatorio: sí

## Estructura de la matriz de variables
<a name="CloudWatch-Dashboard-Properties-Variables-Structure"></a>

Las variables de panel de esta matriz pueden incluir las siguientes propiedades.

**tipo**  
El tipo de variable de panel. CloudWatch admite dos tipos: *variables de propiedad* y *variables de patrón*.  
Las variables de propiedad modifican los valores de todas las instancias de una propiedad en todos los widgets del panel. Una propiedad puede ser cualquiera de las siguientes:  
+ Cualquier propiedad JSON de las definiciones de widgets, como `region`.
+ Cualquier nombre de dimensión de una métrica, como `InstanceId` o `FunctionName`.
Una variable de patrón modifica un patrón de expresión regular en todo el JSON del panel. Utilícela cuando necesite modificar solo una parte del valor de una propiedad JSON o incluso una propiedad JSON completa.  
Las variables de propiedad se aplican a la mayoría de los casos de uso y su configuración es menos compleja.  
Valores válidos: `property` \| `pattern`  
Tipo: cadena  
Obligatorio: sí

**inputType**  
Determina cómo el usuario del panel introduce el valor de la variable.  
+ Especifique `input` para utilizar un cuadro de texto en el que el usuario pueda introducir valores. 
+ Especifique `select` para utilizar un conjunto de valores en una lista desplegable que defina o una lista desplegable de valores encontrados mediante una consulta de búsqueda de métricas. 
+ Especifique `radio` para utilizar botones de opción con valores que defina o que encuentre mediante una consulta de búsqueda de métricas. 
Valores válidos: `input` \| `select` \| `radio`  
Tipo: cadena  
Obligatorio: sí

**valores**  
Si `inputType` es `select` o `radio` y desea definir aquí los posibles valores de la variable en lugar de utilizar una consulta de búsqueda de métricas, especifique esos valores.  
`values` es una matriz en la que cada objeto contiene un *valor* obligatorio y una *etiqueta* opcional. Cada *valor* puede ser una cadena, un número o un valor booleano, y cada etiqueta debe ser una cadena. Cada uno de estos valores y etiquetas puede tener hasta 255 caracteres.  
Si especifica una matriz `values`, esta debe incluir al menos un elemento y puede incluir hasta 500.  
Por ejemplo, lo siguiente crea una lista de tres regiones posibles para utilizar como valores de una variable.  

```
"values": [
    { "label": "US East (IAD)", "value": "us-east-1" },
    { "label": "US West (SFO)", "value": "us-west-1" },
    { "label": "EU (DUB)", "value": "eu-west-1" }
]
```
Tipo: matriz  
Obligatorio: sí, si `inputType` es `select` o `radio` y no utiliza una consulta de búsqueda de métricas para rellenar los valores.

**id**  
Identificador de esta variable. Puede contener hasta 32 caracteres. Los caracteres válidos son `0-9A-Za-z-_`  
Tipo: cadena  
Obligatorio: sí

**etiqueta**  
Una etiqueta que se mostrará para el campo de entrada. Puede tener hasta 30 caracteres.  
Si omite este campo para una variable de propiedad, el nombre de la propiedad se muestra como etiqueta. Si lo omite para una variable de patrón, se utiliza `{{pattern_1}}, {{pattern_2}}, ...` como etiqueta.  
Tipo: cadena  
Obligatorio: no

**defaultValue**  
El valor predeterminado de la variable cuando el panel se abre por primera vez.  
+ Si `inputType` es `input`, especifique aquí manualmente el valor `defaultValue` y utilice hasta 255 caracteres.
+ Si `inputType` es `select` o `radio`, debe especificar un valor posible válido que haya definido en la matriz `values` o que se haya recuperado mediante una consulta de búsqueda de métricas.
Valores válidos: cualquier valor válido para esta variable  
Tipo: cadena, número o valor booleano, según el tipo de valor de esta variable  
Obligatorio: no

**buscar**  
Especifique este campo para rellenar el campo de entrada `select` o `radio` mediante una expresión de búsqueda de métricas. Para el valor de este campo, especifique un espacio de nombres, un nombre de dimensión y un nombre de métrica. La dimensión que especifique debe ser válida para esa métrica. CloudWatch encuentra todos los recursos que publican esa métrica y dimensión, y completa la lista con ellos.  
Por ejemplo, especifique `"search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\""` para buscar instancias de Amazon EC2 en la cuenta o especifique `"search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",` para devolver las funciones de Lambda de la cuenta  
La cadena `search` que especifique puede tener hasta 2048 caracteres.  
Si utiliza una expresión de búsqueda y además desea especificar un valor predeterminado, el valor predeterminado que especifique en `defaultValue` se utilizará siempre que dicho valor predeterminado sea uno de los recursos recuperados mediante la búsqueda. Al utilizar una expresión de búsqueda para rellenar el campo de entrada, también puede especificar el valor especial `__FIRST` para `defaultValue`, de modo que el valor predeterminado sea el primer valor devuelto por la búsqueda. (El valor especial incluye dos caracteres de subrayado seguidos de FIRST). Los valores devueltos por la búsqueda siempre se ordenan alfabéticamente.
Tipo: cadena  
Obligatorio: sí, si `inputType` es `select` o `radio` y no especifica `values`.

**populateFrom**  
Si utiliza el campo `search` para rellenar el campo de entrada mediante una expresión de búsqueda, especifique en este campo el nombre de una dimensión que recuperará la búsqueda.  
Por ejemplo, si el valor de `search` es `"search": "{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\""`, puede especificar `InstanceId` para `populateFrom`.  
Tipo: cadena  
Obligatorio: sí, si `inputType` es `select` o `radio` y no especifica `values`.

**visible**  
Indica si la etiqueta y el campo de entrada se muestran en el panel. Si omite esto, se usa el valor predeterminado `true`.  
El uso de `false` ahorra espacio en el panel, pero requiere que el usuario cambie la URL del panel para modificar los valores de las variables.  
Tipo: Booleano  
Obligatorio: no

### Ejemplos de variables
<a name="Dashboard-Body-Variable-Examples"></a>

El siguiente ejemplo utiliza una variable de propiedad para cambiar la región de todos los widgets mediante un campo de entrada de texto. Cuando el panel se abre por primera vez, se utiliza el valor predeterminado de `us-east-1` para la variable.

```
"variables": [
     {
        "type": "property", 
        "property": "region",
        "inputType": "input",
        "id": "region",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true
    } 
],
```

El siguiente ejemplo utiliza una variable de patrón para cambiar la región en todos los widgets cuando esta aparece dentro de una cadena, como ocurre en un ARN.

```
"variables": [
    {
        "type": "pattern",
        "pattern": "us-east-1",
        "inputType": "input",
        "id": "region",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true
    }
],
```

El siguiente ejemplo genera una variable de función de Lambda con un botón de opción para cada función. Las funciones se detectan mediante una consulta de búsqueda de métricas.

```
"variables": [
    {
        "type": "pattern",
        "pattern": "originalFuncNameInDashboard",
        "inputType": "radio",
        "id": "functionName",
        "label": "Function",
        "visible": true,
        "search": "{AWS/Lambda,FunctionName} MetricName=\"Duration\"",
        "populateFrom": "FunctionName",
        "defaultValue": "__FIRST"
    }
],
```

El siguiente ejemplo muestra cómo especificar varias variables en un panel y demuestra varios tipos de variables.

```
"variables": [{
        "type": "property",
        "property": "region",
        "inputType": "select",
        "id": "unique_id_1",
        "label": "Region",
        "defaultValue": "us-east-1",
        "visible": true,
        "values": [{
                "label": "IAD",
                "value": "us-east-1"
            },
            {
                "label": "CMH",
                "value": "us-east-2"
            },
            {
                "label": "NRT",
                "value": "ap-northeast-1"
            }
        ]
    },
    {
        "type": "property",
        "property": "FunctionName",
        "inputType": "select",
        "id": "unique_id_2",
        "label": "Function",
        "visible": true,
        "values": [{
                "value": "my-FunctionName-1"
            },
            {
                "value": "my-FunctionName-2"
            },
            {
                "value": "my-FunctionName-3"
            }
        ]
    },
    {
        "type": "property",
        "property": "accountId",
        "inputType": "radio",
        "id": "unique_id_3",
        "defaultValue": "111122223333",
        "visible": true,
        "values": [{
                "label": "IAD Account",
                "value": "111122223333"
            },
            {
                "label": "CMH Account",
                "value": "123456789012"
            },
            {
                "label": "NRT Account",
                "value": "000000000000"
            }
        ]
    }
]
```

### Propiedades de un objeto de widget de texto
<a name="CloudWatch-Dashboard-Properties-Text-Widget-Object"></a>

Un widget de tipo `text` puede tener uno o dos parámetros en la sección `properties`. El campo `markdown` es obligatorio, mientras que el campo `transparent` es opcional.

Para obtener más información sobre el estilo de Markdown compatible con los widgets de texto de CloudWatch, consulte [Uso de Markdown en la consola](https://docs.aws.amazon.com/general/latest/gr/aws-markdown.html).

**markdown**  
El texto que mostrará el widget. Utilice este parámetro únicamente para widgets de texto.  
Tipo: cadena  
Obligatorio: sí (cuando el widget `type` es `text`).

**background**  
Especifica si el widget de texto tiene un fondo sólido o transparente. El valor `transparent` hace que el widget sea transparente. El valor `solid` es el valor predeterminado.  
Tipo: cadena  
Requerido: no

```
{
   "widgets":[
      {
         "type":"text",
         "x":0,
         "y":7,
         "width":3,
         "height":3,
         "properties":{
            "markdown":"Hello world",
            "background": "transparent"
         }
      }
   ]
}
```

## Propiedades de un objeto de widget de registros
<a name="CloudWatch-Dashboard-Properties-Log-Widget-Object"></a>

Un widget de tipo `log` representa los resultados de una consulta de Información de registros de CloudWatch. Para obtener más información, consulte [Analyzing Log Data with CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html).

Un widget `log` puede incluir los siguientes campos en su campo `properties`.

**accountId**  
El identificador de la cuenta de AWS que contiene los registros, si se trata de una consulta entre cuentas.  
Tipo: cadena  
Requerido: no

**region**  
La región de la consulta de registros.  
Tipo: cadena  
Obligatorio: sí

**título**  
El título que mostrará el widget.  
Tipo: cadena  
Requerido: no

**consulta**  
Contiene la función de consulta de Información de registros de CloudWatch.  
Tipo: cadena  
Obligatorio: sí (cuando el widget `type` es `log`).  
La cadena `query` comienza con los nombres de los grupos de registro que se consultarán. Debe anteponer `SOURCE` a cada nombre de grupo de registro. Separe varios grupos de registro con el carácter de barra vertical (\|).  
Agregue otro carácter de barra vertical después de la lista de grupos de registro y, a continuación, especifique la sintaxis de la consulta. Separe cada línea de la sintaxis de la consulta con `\n|`  
Por ejemplo, la siguiente línea representa una consulta de dos grupos de registro, `service_log1` y `service_log2`. La consulta muestra los canarios que presentan errores.  

```
"query": "SOURCE 'service_log1' | SOURCE 'service_log2' |filter Fault > 0\n| fields Fault.Message\n| stats count(*) by Canary.Name, Fault.Message"
```

**ver**  
Especifica cómo se muestran los resultados de la consulta. Especifique `table` para ver los resultados en forma de tabla. Especifique `timeSeries` para mostrar esta métrica como un gráfico de líneas. Especifique `bar` para mostrarla como un gráfico de barras. Especifique `pie` para mostrarla como un gráfico circular.  
Si omite este parámetro, los resultados se muestran en forma de tabla.  
Tipo: cadena  
Obligatorio: no (cuando el widget `type` es `log`).

```
{
    "widgets": [
        {
            "type": "log",
            "x": 12,
            "y": 24,
            "width": 12,
            "height": 6,
            "properties": {
                "region": "us-east-1",
                "title": "Errors (Application Log)",
                "query": "SOURCE 'application1.log' | SOURCE 'application2.log' | filter @message like \"[ERROR]\"\n| parse \"Error for [*] [*] due to: *\" canaryName1, canaryId1, cause1\n| parse \"Executor canary [*] *\" canaryName2, cause2\n| fields coalesce(cause1, cause2) as cause\n| fields coalesce(canaryName1, canaryName2) as canaryName\n| fields ispresent(cause) as isP\n| filter isP\n| stats count() as errCount by canaryName, substr(cause, 0, 130)\n| sort errCount DESC",
                "view": "table"
            }
        }
    ]
}
```

## Propiedades de un objeto de widget de métricas
<a name="CloudWatch-Dashboard-Properties-Metric-Widget-Object"></a>

Un widget de tipo `metric` puede tener los siguientes campos en `properties`:

**accountId**  
Especifica el identificador de la cuenta de AWS de la que procederán todas las métricas de este widget. Esto resulta útil para paneles entre cuentas que incluyen widgets de varias cuentas. Para obtener más información, consulte [Consola de CloudWatch entre cuentas y entre regiones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html).  
Si omite esta opción, la cuenta actual se utiliza de forma predeterminada. Utilice este parámetro únicamente para widgets de métricas.  
También puede utilizar un campo `accountId` dentro de cada métrica de la matriz `metrics` para crear un único widget que incluya métricas de varias cuentas.  
Tipo: cadena  
Requerido: no

**annotations**  
Para incluir una alarma o una anotación en el widget, especifique una matriz `annotations`. Para obtener más información sobre el formato, consulte [Propiedades de anotación de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Annotation-Format). Utilice este parámetro únicamente para widgets de métricas.  
Tipo: objeto  
Obligatorio: una anotación de alarma es obligatoria únicamente cuando el widget `type` es `metric` y no se especifica `metrics`. No es necesario especificar una anotación horizontal o vertical.

**liveData**  
Especifique `true` para mostrar *datos en tiempo real* en el widget. Los datos en directo son aquellos publicados en el último minuto que no se han agregado por completo. Para obtener más información, consulte [Uso de datos en tiempo real](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-live-data.html).  
Tipo: Booleano  
Obligatorio: no

**legend**  
Especifique `legend` para determinar dónde se muestra la leyenda de las líneas del gráfico. El campo `legend` contiene otro campo denominado `position`. Los valores posibles de `position` son `right`, `bottom` y `hidden`.  
Por ejemplo, lo siguiente coloca la leyenda a la derecha del gráfico.  

```
"legend": {
     "position": "right"
}
```
Tipo: objeto  
Obligatorio: no

**métricas**  
Especifique una matriz `metrics` para incluir una o varias métricas (sin alarmas), una consulta de Información de métricas, expresiones matemáticas o expresiones de búsqueda. Una matriz `metrics` puede incluir entre 0 y 500 métricas y expresiones. Utilice este parámetro únicamente para widgets de métricas. Para obtener más información sobre el formato de `metrics`, consulte [Formato de widget de métricas para cada métrica de la matriz](#CloudWatch-Dashboard-Properties-Metrics-Array-Format).  
Una matriz de métricas no puede incluir más de una consulta de Información de métricas.  
Un único campo `expression` no puede incluir tanto una consulta de Información de métricas como una expresión matemática. Sin embargo, puede utilizar los resultados devueltos por una consulta de Información de métricas de una expresión como entrada para una expresión matemática en otra expresión de la matriz.  
Tipo: matriz de matrices  
Obligatorio: sí, cuando el widget `type` es `metric` y no se especifica `annotations`.

**Período**  
El período predeterminado, en segundos, para todas las métricas de este widget. El período es el lapso de tiempo representado por un punto de datos en el gráfico. Este valor predeterminado se puede reemplazar en la definición de cada métrica. Utilice este parámetro únicamente para widgets de métricas. El valor predeterminado es 300.  
Valores válidos: cualquier múltiplo de 60. El valor mínimo es 60.  
Tipo: entero  
Obligatorio: no

**region**  
La región de la métrica.  
Tipo: cadena  
Obligatorio: sí

**minigráfico**  
 Especifique `true` para mostrar un minigráfico de tendencia debajo del widget numérico. Especifique `false` para mostrar únicamente el widget numérico. Este parámetro se omite si la vista no es `singleValue`. Utilice este parámetro únicamente para widgets de métricas.   
 Tipo: Booleano   
 Obligatorio: no 

**apilados**  
Especifique `true` para mostrar el gráfico como una línea apilada o `false` para mostrarlo como líneas independientes. Este parámetro se omite si el valor de `view` es `singleValue`. Utilice este parámetro únicamente para widgets de métricas.   
Tipo: Booleano  
Obligatorio: no

**estadística**  
La estadística predeterminada que se mostrará para cada métrica de la matriz. Este valor predeterminado se puede reemplazar en la definición de cada métrica individual de la matriz `metrics`. Utilice este parámetro únicamente para widgets de métricas.  
Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`  
Tipo: cadena que representa una estadística válida de CloudWatch.  
Obligatorio: no

**tabla**  
Incluya una sección `table` para incorporar cambios relacionados con la tabla de datos en el widget. Para obtener más información sobre el formato, consulte [Propiedades de tabla de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Table).  
Tipo: objeto  
Obligatorio: no

**timezone**  
La zona horaria que se utilizará para mostrar las horas en el gráfico. El formato es \+ o - seguido de cuatro dígitos. Los dos primeros dígitos indican la cantidad de horas por delante o por detrás de UTC y los dos últimos indican la cantidad de minutos. Por ejemplo, `+0130` indica una hora y 30 minutos por delante de UTC. El valor predeterminado es `+0000`.  
Tipo: cadena  
Requerido: no

**título**  
El título que se mostrará para el gráfico o el número. Utilice este parámetro únicamente para widgets de métricas.  
Tipo: cadena  
Requerido: no

**ver**  
 Especifique `timeSeries` para mostrar esta métrica como un gráfico de líneas o un gráfico de áreas apiladas. Especifique `singleValue` para mostrar esta métrica como un gráfico numérico. Especifique `gauge` para mostrar esta métrica como un gráfico de indicador. Especifique `bar` para mostrar esta métrica como un gráfico de barras. Especifique `pie` para mostrar esta métrica como un gráfico circular.   
 Si especifica `gauge`, debe establecer un valor para `min` y `max` en el lado izquierdo de `yAxis`. 
Valores válidos: `timeSeries` \| `singleValue` \| `gauge` \| `bar` \| `pie` \| `table`  
Tipo: cadena  
Requerido: no

**yAxis**  
 Los valores mínimo y máximo de los lados izquierdo y derecho del eje Y de un gráfico. Esta propiedad se aplica a todas las métricas representadas en el gráfico, excepto a las métricas específicas que reemplazan esta configuración. Para obtener más información, consulte [Formato de las propiedades de yAxis de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-YAxis-Properties-Format).   
Tipo: objeto yAxis  
Obligatorio: no

**Ejemplo: widgets de áreas apiladas y de indicador**

```
{
    "widgets": [
{
   "type":"metric",
   "x":0,
   "y":0,
   "width":12,
   "height":6,
   "properties":{
      "metrics":[
         [
            "AWS/EC2",
            "CPUUtilization",
            "InstanceId",
            "i-012345"
         ],
         [
            "AWS/EC2",
            "NetworkIn",
            "InstanceId",
            "i-012345",
            {
               "yAxis":"right",
               "label":"NetworkIn",
               "period":3600,
               "stat":"Maximum"
            }
         ]
      ],
      "period":300,
      "stat":"Average",
      "region":"us-east-1",
      "timezone":"+0300",
      "title":"EC2 Instance CPU",
      "stacked":true,
      "view":"timeSeries",
      "liveData":false,
      "yAxis":{
         "left":{
            "min":0,
            "max":100
         },
         "right":{
            "min":50
         }
      },
      "annotations":{
         "horizontal":[
            {
               "visible":true,
               "color":"#9467bd",
               "label":"Critical range",
               "value":20,
               "fill":"above",
               "yAxis":"right"
            }
         ]
      }
   },
{
   "type": metric, 
   "x": 18,
   "y"; 60,
   "width": 6, 
   "height": 6,
   "properties": {
      "metrics": [
         [ 
         "AWSLogsShrinkRay",
         "disk_inodes_used",
         "path", 
         "/dev/shm",
         "InstanceId",
         "i-012345",
         "AutoScalingGroupName",
         "ShrinkRayExecutorResourceStack-Gamma-us-east-1-ASGuseast1ac48xlargeASGB9B53974-VTYXJUZGUAHV",
         "InstanceType",
         "c4.8xlarge",
         "device",
         "tmpfs",
         "fstype",
         "tmpfs" 
         ]
         ],
      "view": "gauge", 
      "title": "Disk Inodes Used"
      "region": "us-east-1",
      "yAxis": {
         "left": {
            "min": 0, 
            "max": 100,
         }        
       }
     }
   }
```

## Formato de widget de métricas para cada métrica de la matriz
<a name="CloudWatch-Dashboard-Properties-Metrics-Array-Format"></a>

Cada elemento de la matriz `metrics` es una métrica individual, una expresión matemática o una expresión de búsqueda. Cada métrica individual de la matriz `metrics` tiene el siguiente formato:

```
[ {{Namespace}}, {{MetricName}}, [{{{DimensionName}},{{DimensionValue}}}...] {{{Rendering Properties Object}}} ]
```

Cada expresión de la matriz `metrics` tiene el siguiente formato:

```
[ {"expression" : "{{expression}}", ["label" : "{{label}}"] , ["id" : "{{id}}"] } ]
```

**accountId**  
Especifica el identificador de la cuenta de AWS de la que procede esta métrica. Esto permite crear un widget que contiene métricas de varias cuentas en un panel entre cuentas. Para obtener más información, consulte [Consola de CloudWatch entre cuentas y entre regiones](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Cross-Account-Cross-Region.html).  
Si omite esta opción, la cuenta actual se utiliza de forma predeterminada. Utilice este parámetro únicamente para widgets de métricas.  
Tipo: cadena  
Requerido: no

**Espacio de nombres**  
El espacio de nombres AWS que contiene la métrica. Si la matriz `metrics` contiene varias entradas, en cada entrada posterior a la primera puede especificar únicamente `"."` para utilizar el mismo espacio de nombres que la métrica anterior.  
Tipo: cadena  
Obligatorio: sí

**MetricName**  
El nombre de la métrica de CloudWatch. Si la matriz `metrics` contiene varias entradas, en cada entrada posterior a la primera puede especificar únicamente `"."` para utilizar el mismo nombre de métrica que la entrada anterior de la matriz.  
Tipo: cadena  
Obligatorio: sí, para una métrica individual

**expresión**  
La consulta de Información de métricas, la expresión matemática o la expresión de búsqueda, si se trata de una expresión en lugar de una métrica individual.  
En una expresión de búsqueda que utiliza comillas dobles para realizar una coincidencia exacta, cada comilla doble debe ir precedida por un carácter de escape de barra invertida.  
Para obtener más información sobre la sintaxis de las consultas de Información de métricas, consulte [Componentes y sintaxis de las consultas de Información de métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-metrics-insights-querylanguage.html).  
Para obtener más información sobre las expresiones matemáticas o las expresiones de búsqueda, consulte [Uso de Metric Math](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) o [Uso de expresiones de búsqueda en gráficos](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-search-expressions.html) en la Guía del usuario de Amazon CloudWatch.   
Tipo: cadena  
Obligatorio: sí, para una expresión  
Ejemplo de una expresión para una consulta de Información de métricas:  

```
[ { "expression": "SELECT MAX(CPUUtilization) FROM SCHEMA(\"AWS/EC2\", InstanceId) GROUP BY InstanceId LIMIT 10", "label": "View the 10 max CPU Utilization", "id": "q1" } ]
```

**DimensionName**  
El nombre de una dimensión para refinar aún más los datos que se muestran. Si la matriz `metrics` contiene varias entradas, en cada entrada posterior a la primera puede especificar únicamente `"."` para utilizar el mismo nombre de dimensión que el especificado en la dimensión correspondiente de la métrica anterior de la matriz. Puede especificar 0 dimensiones para una métrica o tantas dimensiones como admita la métrica.  
Tipo: cadena  
Requerido: no

**DimensionValue**  
El valor que se utilizará para esa dimensión de la métrica. Obligatorio si existe un nombre de dimensión correspondiente.  
Tipo: cadena  
Requerido: no

**id**  
El identificador de esta serie temporal. Este identificador se puede utilizar como parte de una expresión matemática. El identificador debe comenzar con una letra minúscula.  
Tipo: cadena  
Requerido: no

**etiqueta**  
La etiqueta que se mostrará en el gráfico para representar esta serie temporal.  
Tipo: cadena  
Requerido: no

**region**  
La región de la métrica. Utilice este parámetro únicamente para widgets de métricas. Si omite este parámetro, la región actual se utiliza de forma predeterminada.  
Tipo: cadena  
Requerido: no

**Objeto de propiedades de representación**  
Especifica las propiedades de representación que se utilizarán para esta métrica específica y reemplaza los valores especificados para el widget en general. Para obtener más información sobre el formato, consulte [Formato del objeto de propiedades de representación de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Rendering-Object-Format).   
Tipo: objeto de propiedades de representación de métricas  
Obligatorio: no

```
// The simplest example, a metric with no dimensions
        [ "AWS/EC2", "CPUUtilization" ]
        
 // A metric with a single dimension
        [ "AWS/EC2", "CPUUtilization", "InstanceId", "i-012345" ]
        
 // A metric with a single dimension and rendering properties
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz", { "yAxis": "right"} ]
       
 // The following example graphs the DiskReadBytes metric for three instances.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ],
        [ ".", ".", ".", "i-abc" ],
        [ ".", ".", ".", "i-123" ]
       
 // The following example includes two metrics and a math expression to sum them.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-123",{ "id": "m1" } ],
        [ ".", ".", ".", "i-abc", { "id": "m2" } ],
        [ { "expression": "SUM(METRICS())", "label": "Sum of DiskReadbytes", "id": "e3" } ]
       
  // The following example is a search expression showing the EC2 CPUUtilization for each instance in the Region.
        [ { "expression": "SEARCH('{AWS/EC2,InstanceId} MetricName=\"CPUUtilization\"', 'Average', 300)", "id": "e1" } ],
```

**Topics**
+ [Formato del objeto de propiedades de representación de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Rendering-Object-Format)
+ [Propiedades de anotación de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Annotation-Format)
+ [Formato de las propiedades de yAxis de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-YAxis-Properties-Format)
+ [Propiedades de tabla de un objeto de widget de panel](#CloudWatch-Dashboard-Properties-Table)

### Formato del objeto de propiedades de representación de un objeto de widget de panel
<a name="CloudWatch-Dashboard-Properties-Rendering-Object-Format"></a>

Cada métrica de la matriz `metrics` puede incluir opcionalmente propiedades de representación personalizadas que reemplazan las propiedades de representación predeterminadas especificadas en el parámetro `yAxis` del objeto `widget`. En esta sección se describe el formato de esas propiedades de representación personalizadas por métrica.

**color**  
El código de color hexadecimal HTML de seis dígitos que se utilizará para esta métrica.  
Tipo: cadena  
Requerido: no

**etiqueta**  
La etiqueta que se mostrará para esta métrica en la leyenda del gráfico. Si no se especifica este valor, la métrica recibe una etiqueta generada automáticamente que la distingue de las demás métricas del widget.  
Tipo: cadena  
Requerido: no

**Período**  
El periodo para esta métrica, en segundos. El período es el lapso de tiempo representado por un punto de datos en el gráfico.   
Valores válidos: cualquier múltiplo de 60. El valor mínimo es 60.  
Tipo: entero  
Obligatorio: no

**estadística**  
La estadística de esta métrica, si debe ser diferente de la estadística utilizada para las demás métricas de la matriz. De forma predeterminada, CloudWatch utiliza *Promedio* si no especifica una estadística en el nivel de la matriz ni en el nivel de la métrica.  
Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`  
Tipo: cadena que representa una estadística válida de CloudWatch.  
Obligatorio: no

**visible**  
Establezca este valor en `true` para que la métrica aparezca en el gráfico o en `false` para ocultarla. El valor predeterminado es `true`.  
Tipo: Booleano  
Obligatorio: no

**yAxis**  
La ubicación del gráfico en la que se mostrará el eje Y de esta métrica. El valor predeterminado es `left`.  
Valores válidos: `left` \| `right`  
Tipo: cadena  
Requerido: no

```
       
 // The third metric has its own rendering properties, overriding those of the rest of the widget.
        [ "AWS/EC2", "DiskReadBytes", "InstanceId", "i-xyz" ],
        [ ".", ".", ".", "i-abc" ],
        [ ".", ".", ".", "i-123", { "label":"Instance i-123", "yAxis": "right"}  ]
```

### Propiedades de anotación de un objeto de widget de panel
<a name="CloudWatch-Dashboard-Properties-Annotation-Format"></a>

Las anotaciones incluyen alarmas, anotaciones horizontales y anotaciones verticales. Un widget de métricas individual puede tener como máximo una alarma o una o varias anotaciones horizontales o verticales. Un widget individual no puede tener simultáneamente una alarma y anotaciones horizontales o verticales.

#### Anotaciones de alarma
<a name="Alarm-Annotations"></a>

Si especifica una anotación de alarma, tampoco puede especificar una matriz `metrics` en el mismo widget.

**alarmas**  
El nombre de recurso de Amazon (ARN) de la alarma.  
Tipo: matriz de cadenas. La matriz puede contener entre 0 y 1 cadenas.  
Obligatorio: solo si no se enumeran métricas.

```
                
"annotations": {
   "alarms": [ "{{arn1}}" ]
}
```

#### Anotaciones horizontales
<a name="Horizontal-Annotations"></a>

**horizontal**  
Una matriz de anotaciones horizontales. Las anotaciones horizontales ofrecen varias opciones de sombreado, entre ellas el sombreado por encima de la línea de anotación, el sombreado por debajo de la línea de anotación y el sombreado de banda, que aparece entre dos líneas de anotación vinculadas como parte de una única anotación de banda. Cada anotación horizontal de la matriz que sea una anotación individual, en lugar de una anotación de banda, tiene el siguiente formato:  

```
{{{value}}, {{label}}, {{color}}, {{fill}}, {{yAxis}}, {{visible}}}
```
Cada anotación horizontal que sea una anotación de banda tiene el siguiente formato:  

```
[ {{{value}}, {{label}}, {{color}}, {{yAxis}}, {{visible}}}, {{{value}}, {{label}}} ]
```

**valor**  
El valor de la métrica en el gráfico donde aparecerá la línea de anotación horizontal. En una anotación con sombreado de banda, los dos valores especificados para Valor establecen los límites superior e inferior de la banda.  
En un gráfico con anotaciones horizontales, el gráfico se escala para que todas las anotaciones horizontales visibles aparezcan en este.   
Tipo: flotante  
Obligatorio: sí

**etiqueta**  
Una cadena que aparece en el gráfico junto a la anotación.  
Tipo: cadena  
Requerido: no

**color**  
El código de color hexadecimal HTML de seis dígitos que se utilizará para la anotación. Este color se utiliza tanto para la línea de anotación como para el sombreado de relleno.  
Tipo: cadena  
Requerido: no

**fill**  
Cómo utilizar el sombreado de relleno con la anotación. Valores válidos: `above` para aplicar sombreado por encima de la anotación; `below` para aplicar sombreado por debajo de la anotación; y, `none`, para no aplicar sombreado. Si se omite `fill`, no se aplica sombreado.  
La excepción es una anotación con sombreado de banda. Estas anotaciones siempre aplican sombreado entre los dos valores y se ignora cualquier valor de `fill`.  
Tipo: cadena  
Requerido: no

**visible**  
Establezca este valor en `true` para que la anotación aparezca en el gráfico o en `false` para ocultarla. El valor predeterminado es `true`.  
Tipo: Booleano  
Obligatorio: no

**yAxis**  
Si el gráfico incluye varias métricas, especifica si los números de `Value` hacen referencia a la métrica asociada al eje Y izquierdo o al eje Y derecho. Los valores válidos son `right` y `left`.  
Tipo: cadena  
Requerido: no

```
// A single horizontal annotation with fill shading above the annotation line, based on the metric associated with the right Y-axis
                
"annotations": {
     "horizontal": [
         {
              "visible":true,
              "color":"#9467bd",
              "label":"Critical range",
              "value":20,
              "fill":"above",
              "yAxis":"right"
         }
    ]
}

// A band annotation. Each value has a label, but other parameters for the band are specified only with the first number

"annotations": {
    "horizontal": [
        [
            {
                "label": "Band top",
                "value": 200,
                "color": "#9467bd",
                "visible": true,
                "yAxis": "right"
            },
            {
                "value": 95.5,
                "label": "Band bottom"
            }
        ]
    ]
}

// Three annotations on a graph. The first one is a band annotation. The final one is hidden.

"annotations": {
    "horizontal": [
        [
            {
                "label": "Band top",
                "value": 200,
                "color": "#9467bd",
                "visible": true,
                "yAxis": "right"
            },
            {
                "value": 95.5,
                "label": "Band bottom"
            }
        ],
        {
            "visible": true,
            "color": "#9467bd",
            "label": "Label for this annotation",
            "value": 20,
            "fill": "below",
            "yAxis": "right"
        },
        {
            "visible": false,
            "color": "#aaa",
            "label": "Hidden annotation",
            "value": 150
        }
    ]
}
```

#### Anotaciones verticales
<a name="Vertical-Annotations"></a>

**vertical**  
Una matriz de anotaciones verticales. Para cada anotación vertical, puede optar por aplicar sombreado de relleno antes o después de la anotación, o entre dos líneas verticales asociadas como una única anotación de banda. Cada anotación vertical de la matriz que sea una anotación individual, en lugar de una anotación de banda, tiene el siguiente formato:  

```
{{{value}}, {{label}}, {{color}}, {{fill}}, {{visible}}}
```
Cada anotación vertical que sea una anotación de banda tiene el siguiente formato:  

```
[ {{{value}}, {{label}}, {{color}}, {{visible}}}, {{{value}}, {{label}}} ]
```

**valor**  
La fecha y hora del gráfico donde aparecerá la línea de anotación vertical. En una anotación con sombreado de banda, los dos valores especificados para Valor definen los límites inicial y final de la banda.  
En un gráfico con anotaciones verticales, la escala del gráfico se ajusta para que todas las anotaciones verticales visibles aparezcan en este.   
Este valor se define como una cadena en formato ISO 8601. Para obtener más información, consulte [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).  
Tipo: cadena  
Obligatorio: sí

**etiqueta**  
Una cadena que aparece en el gráfico junto a la anotación.  
Tipo: cadena  
Requerido: no

**color**  
El código de color hexadecimal HTML de seis dígitos que se utilizará para la anotación. Este color se utiliza tanto para la línea de anotación como para el sombreado de relleno.  
Tipo: cadena  
Requerido: no

**fill**  
Cómo utilizar el sombreado de relleno con la anotación. Valores válidos: `before` para aplicar sombreado antes de la anotación; `after` para aplicar sombreado después de la anotación; y, `none`, para no aplicar sombreado. Si se omite `fill`, no se aplica sombreado.  
La excepción es una anotación con sombreado de banda. Estas anotaciones siempre aplican sombreado entre los dos valores y se ignora cualquier valor de `fill`.  
Tipo: cadena  
Requerido: no

**visible**  
Establezca este valor en `true` para que la anotación aparezca en el gráfico o en `false` para ocultarla. El valor predeterminado es `true`.  
Tipo: Booleano  
Obligatorio: no

```
// A single vertical annotation with fill shading after the annotation line
                    
"annotations": {
    "vertical": [
        {
            "visible": true,
            "color": "#9467bd",
            "label": "Bug fix deployed",
            "value": "2018-08-28T15:25:26Z",
            "fill": "after"
        }
    ]
}	


// A band vertical annotation. Each annotation line has a label, but other parameters for the band are specified only with the first value

"annotations": {
    "vertical": [
        [
            {
                "label": "Band start",
                "value": "2018-08-27T15:25:26Z",
                "color": "#9467bd",
                "visible": true
            },
            {
                "value": "2018-08-28T15:25:26Z",
                "label": "Band end"
            }
        ]
    ]
}
```

### Formato de las propiedades de yAxis de un objeto de widget de panel
<a name="CloudWatch-Dashboard-Properties-YAxis-Properties-Format"></a>

Define la configuración del eje Y del gráfico. La configuración incluye los valores máximo y mínimo, una etiqueta para el eje y la indicación de si el eje muestra las unidades. Establezca este valor dentro del objeto `widget` para que afecte a todas las métricas del widget. Para reemplazar la configuración del widget para una métrica específica, establézcala para la métrica de la matriz `metrics`.

```
{
  left: {
    min: 0,
    max: 100
  },
  right: {
    min: 0
  }
}
```

**izquierda**  
Configuración opcional del eje Y izquierdo.  
Tipo: objeto YAxis  
Obligatorio: no

**derecha**  
Configuración opcional del eje Y derecho.  
Tipo: objeto YAxis  
Obligatorio: no

Cada uno de los objetos `left` y `right` puede incluir los siguientes parámetros:

**etiqueta**  
Una etiqueta para este eje Y  
Tipo: cadena  
Requerido: no

**min**  
El valor mínimo de este eje Y  
Tipo: flotante  
Obligatorio: no

**max**  
El valor máximo de este eje Y  
Tipo: flotante  
Obligatorio: no

**showUnits**  
Determina si se muestran las unidades de la métrica asociada a este eje. El valor predeterminado es true.  
Tipo: Booleano  
Obligatorio: no

### Propiedades de tabla de un objeto de widget de panel
<a name="CloudWatch-Dashboard-Properties-Table"></a>

Si especifica `table` para un widget de métricas, puede incluir visualizaciones relacionadas con la visibilidad de las columnas de resumen, las columnas de puntos de datos y el diseño de la tabla. Estas propiedades solo tienen efecto cuando el tipo de vista del widget es `table` y no modifican otros tipos de vista si se incluyen. La propiedad `table` no es obligatoria para utilizar un widget de tabla.

**diseño**  
Utilice este campo para transformar la tabla de modo que los puntos de datos se extiendan vertical u horizontalmente. El valor predeterminado es `horizontal`.  
Valores válidos: `vertical` \| `horizontal`  
Tipo: cadena  
Requerido: no

**stickySummary**  
Establezca este valor en `true` para fijar las columnas de resumen que incluya en la tabla, de modo que pueda explorar las columnas de datos mientras las columnas de resumen permanecen visibles en su área de visualización. El valor predeterminado es `false`.  
La etiqueta del widget siempre permanece fija, independientemente del valor que elija en este campo.  
Valores válidos: `true` \| `false`  
Tipo: Booleano  
Obligatorio: no

**showTimeSeriesData**  
Establezca este valor en `false` si desea mostrar únicamente la etiqueta y las columnas de resumen y ocultar las demás columnas de datos.  
El valor predeterminado es `true`.  
Valores válidos: `true` \| `false`  
Tipo: Booleano  
Obligatorio: no

**summaryColumns**  
Las columnas de resumen constituyen una nueva propiedad del widget de tabla. Estas columnas son un subconjunto específico de resúmenes de la tabla actual. Por ejemplo, el resumen `Sum` es la suma de todos los puntos de datos representados en su fila correspondiente. Las columnas de resumen no equivalen a ninguna estadística de métricas de CloudWatch.  
El valor predeterminado es `[“MIN“, "MAX","SUM", "AVG"]`  
Valores válidos: `"MIN"` \| `"MAX"`\| `"SUM"`\| `"AVG"`  
Tipo: matriz  
Obligatorio: no

Por ejemplo, el siguiente JSON crea una tabla que muestra el mínimo y el máximo de cada métrica en la tabla.

```
"table": {
    "summaryColumns": ["MIN", "MAX"],
    "layout": "vertical",
    "stickySummary": true,
    "showTimeSeriesData": false,
    },
```

## Propiedades de un objeto de widget del Explorador de métricas
<a name="CloudWatch-Dashboard-Properties-Metric-Explorer-Object"></a>

Un widget de tipo `explorer` representa un widget del Explorador de métricas. Para obtener más información, consulte [Uso del Explorador de métricas para supervisar recursos según sus etiquetas y propiedades](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Metrics-Explorer.html) 

También puede agregar widgets del Explorador de métricas a un panel mediante CloudFormation. Para obtener más información, consulte [ AWS::CloudWatch::Dashboard](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-dashboard.html).

Este tipo de widget puede tener los siguientes campos dentro del widget `properties`:

**aggregateBy**  
Objeto que especifica cómo agregar métricas de varios recursos. Los valores válidos para el campo `key` de este objeto son las claves de las etiquetas y las propiedades de los recursos. Este objeto contiene los siguientes campos.  
+ **clave**: la clave de la etiqueta o de la propiedad del recurso que se utilizará para agregar las métricas.
+ **func**: función de agregación que se utilizará. Los valores válidos son los siguientes `AVG` \| `MIN` \| `MAX` \| `STDDEV` \| `SUM`
Tipo: objeto  
Obligatorio: no

**etiquetas**  
Una matriz de etiquetas o propiedades de recursos que se utilizan para determinar qué métricas se muestran en el widget.   
Si especifica claves diferentes, solo se muestran los recursos que coinciden con todos los pares clave/valor. Si especifica varios valores para una misma clave, se muestran los recursos que coinciden con cualquiera de los valores de esa clave.  
+ **clave**: la clave de la etiqueta o de la propiedad del recurso que se utilizará para filtrar.

  Para `key`, todas las claves de etiqueta son válidas. Las siguientes propiedades de recursos de EC2 y Lambda también son válidas para `key`:
  + EC2:

    `Architecture`, `Hypervisor`, `CoreCount`, `ImageId`, `InstanceId`, `InstanceLifecycle`, `InstanceType`, `InstanceFamily`, `InstanceSize`, `Affinity`, `AvailabilityZone`, `Tenancy`, `Platform`, `RootDeviceType SecurityGroups, State, SubnetId, VirtualizationType, and VpcId `
  + Lambda:

     `FunctionName`, `Runtime`, `Language`, `MemorySize`, `Version`, `SecurityGroupIds`, `SubnetIds`, `SubnetIdCount`, `VpcId`, y `Timeout`
+ **valor**: (opcional) el valor de la etiqueta o de la propiedad del recurso que se utilizará para filtrar. Si se omite este valor, se muestran las métricas correspondientes a todos los valores de esa etiqueta o propiedad del recurso.
Tipo: objeto  
Obligatorio: sí

**métricas**  
Especifique una matriz `metrics` para incluir una o varias métricas. Una matriz `metrics` puede incluir entre 1 y 100 métricas. Cada objeto de la matriz debe contener los siguientes campos.  
+ **metricName**: nombre de la métrica.
+ **resourceType**: tipo de recurso que publica la métrica, descrito en el formato utilizado por AWS CloudFormation. Por ejemplo, `AWS::EC2::Instance` o `AWS::Lambda::Function`.

  Debe utilizar el mismo valor de `resourceType` para todas las métricas del widget.

  Para obtener una lista completa de los valores válidos, consulte [Valores válidos de resourceType para un objeto de widget del Explorador de métricas](#CloudWatch-Dashboard-Properties-Metric-Explorer-resourceType).
+ **stat**: estadística de esta métrica, si debe ser diferente de la estadística utilizada para las demás métricas de la matriz. De forma predeterminada, CloudWatch utiliza *Promedio* si no especifica una estadística en el nivel de la matriz ni en el nivel de la métrica.

  Valores válidos: `SampleCount` \| `Average` \| `Sum` \| `Minimum` \| `Maximum` \| `p{{??}}`
Tipo: matriz de objetos   
Obligatorio: sí

**Período**  
El período predeterminado, en segundos, para todas las métricas de este widget. El período es el lapso de tiempo representado por un punto de datos en el gráfico. El valor predeterminado es 300.  
Valores válidos: cualquier múltiplo de 60. El valor mínimo es 60.  
Tipo: entero  
Obligatorio: no

**splitBy**  
Especifica cómo dividir las métricas de varios recursos en líneas diferentes de un gráfico o en gráficos diferentes. Los valores válidos son las claves de las etiquetas y las claves de las propiedades de los recursos.  
Tipo: cadena  
Requerido: no

**título**  
El título que se mostrará para el widget. El valor predeterminado es `Explorer`.  
Tipo: cadena  
Requerido: no

**widgetOptions**  
Objeto que especifica cómo aparece el widget en el panel. Puede contener los siguientes campos.  
+ **legend**–

  Determina dónde se muestra la leyenda de cada gráfico. El campo `legend` contiene otro campo denominado `position`. Los valores posibles de `position` son `right`, `bottom` y `hidden`.

  Por ejemplo, lo siguiente coloca la leyenda a la derecha del gráfico.

  ```
  "legend": {
       "position": "right"
  }
  ```
+ **rowsPerPage**–

  Especifica cuántas filas de gráficos se muestran por página en el widget.
+ **stacked**–

  Especifique `true` para mostrar el gráfico como un gráfico de áreas apiladas o `false` para mostrarlo como líneas independientes. 
+ **Vista de**–

  Especifica cómo se muestra cada gráfico. Especifique `timeSeries` para mostrar esta métrica como un gráfico de líneas. Especifique `bar` para mostrarla como un gráfico de barras. Especifique `pie` para mostrarla como un gráfico circular. El valor predeterminado es `timeSeries`.
+ **widgetsPerRow**–

  Especifica cuántos gráficos se muestran en cada fila del widget del Explorador de métricas.
Tipo: objeto  
Obligatorio: no

**Ejemplo**

El siguiente ejemplo muestra tres métricas para cada una de las instancias de EC2 en ejecución de la cuenta, con los gráficos del widget divididos por zona de disponibilidad. Dentro de cada gráfico, las métricas se agregan por tipo de instancia.

```
{
    "widgets": [
        {
            "type": "explorer",
            "width": 24,
            "height": 15,
            "x": 0,
            "y": 0,
            "properties": {
                "metrics": [
                    {
                        "metricName": "CPUUtilization",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    },
                    {
                        "metricName": "NetworkIn",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    },
                    {
                        "metricName": "NetworkOut",
                        "resourceType": "AWS::EC2::Instance",
                        "stat": "Average"
                    }
                ],
                "aggregateBy": {
                    "key": "InstanceType",
                    "func": "MAX"
                },
                "labels": [
                    {
                        "key": "State",
                        "value": "running"
                    }
                ],
                "widgetOptions": {
                    "legend": {
                        "position": "bottom"
                    },
                    "view": "timeSeries",
                    "rowsPerPage": 8,
                    "widgetsPerRow": 2
                },
                "period": 300,
                "splitBy": "AvailabilityZone",
                "title": "Running EC2 Instances by AZ"
            }
        }
    ]
}
```

### Valores válidos de resourceType para un objeto de widget del Explorador de métricas
<a name="CloudWatch-Dashboard-Properties-Metric-Explorer-resourceType"></a>

Los valores válidos para el campo `resourceType` de la sección `metrics` de un widget del Explorador de métricas son los siguientes:
+ `AWS::AmazonMQ::Broker`
+ `AWS::ApiGateway::RestApi`
+ `AWS::AppStream::Fleet`
+ `AWS::AppSync::GraphQLApi`
+ `AWS::CloudFront::Distribution`
+ `AWS::CodeBuild::Project`
+ `AWS::Datasync::Agent`
+ `AWS::Datasync::Task`
+ `AWS::DMS::ReplicationInstance`
+ `AWS::DynamoDB::Table`
+ `AWS::EC2::CapacityReservation`
+ `AWS::EC2::Instance`
+ `AWS::EC2::NatGateway`
+ `AWS::EC2::TransitGateway`
+ `AWS::EC2::Volume`
+ `AWS::EC2::VPNConnection`
+ `AWS::ECS::Cluster`
+ `AWS::EFS::FileSystem`
+ `AWS::ElastiCache::CacheCluster`
+ `AWS::ElastiCache::ReplicationGroup`
+ `AWS::ElasticBeanstalk::Environment`
+ `AWS::ElasticLoadBalancing::LoadBalancer`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/ApplicationELB`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/GatewayELB`
+ `AWS::ElasticLoadBalancingV2::LoadBalancer/NetworkELB`
+ `AWS::ElasticLoadBalancingV2::TargetGroup`
+ `AWS::EMR::Cluster`
+ `AWS::Events::Rule`
+ `AWS::FSx::FileSystem`
+ `AWS::GameLift::Fleet`
+ `AWS::GlobalAccelerator::Accelerator`
+ `AWS::IoT::TopicRule`
+ `AWS::IoT1Click::Device`
+ `AWS::IoTAnalytics::Channel`
+ `AWS::IoTAnalytics::Dataset`
+ `AWS::IoTAnalytics::Datastore`
+ `AWS::IoTAnalytics::Pipeline`
+ `AWS::Kafka::Cluster`
+ `AWS::Kinesis::Stream`
+ `AWS::KinesisAnalytics::Application`
+ `AWS::KinesisFirehose::DeliveryStream`
+ `AWS::KinesisVideo::Stream`
+ `AWS::KMS::Key`
+ `AWS::Lambda::Function`
+ `AWS::Logs::LogGroup`
+ `AWS::MediaPackage::Channel`
+ `AWS::MediaStore::Container`
+ `AWS::OpsWorks::Instance`
+ `AWS::OpsWorks::Layer`
+ `AWS::OpsWorks::Stack`
+ `AWS::QLDB::Ledger`
+ `AWS::RDS::DBInstance`
+ `AWS::Redshift::Cluster`
+ `AWS::RoboMaker::SimulationJob`
+ `AWS::Route53::HealthCheck`
+ `AWS::Route53Resolver::ResolverEndpoint`
+ `AWS::S3::Bucket`
+ `AWS::SageMaker::Endpoint`
+ `AWS::ServiceCatalog::CloudFormationProduct`
+ `AWS::SES::ConfigurationSet`
+ `AWS::SNS::Topic`
+ `AWS::SQS::Queue`
+ `AWS::StepFunctions::Activity`
+ `AWS::StepFunctions::StateMachine`
+ `AWS::StorageGateway::Gateway`
+ `AWS::Synthetics::Canary`
+ `AWS::Transfer::Server`
+ `AWS::WorkMail::Organization`
+ `AWS::WorkSpaces::Workspace`

## Propiedades de un objeto de widget de estado de alarmas
<a name="CloudWatch-Dashboard-Properties-Alarm-Widget-Object"></a>

Un widget de tipo `alarm` puede tener los siguientes campos en `properties`.

**alarmas**  
Una matriz de ARN de alarmas para incluir en el widget. La matriz puede contener entre 1 y 100 ARN.  
Tipo: matriz de cadenas  
Obligatorio: sí (cuando el widget `type` es `alarm`).

**sortBy**  
Especifica cómo ordenar las alarmas en el widget.  
Elija `default` para ordenarlas alfabéticamente por nombre de alarma.  
Elija `stateUpdatedTimestamp` para ordenarlas primero por estado de alarma, con las alarmas en estado ALARM en primer lugar, las alarmas INSUFFICIENT\_DATA a continuación y las alarmas OK al final. Dentro de cada grupo, las alarmas se ordenan según el momento en que cambiaron de estado por última vez, con los cambios de estado más recientes en primer lugar.  
Elija `timestamp` para ordenarlas según el momento en que las alarmas cambiaron de estado más recientemente, independientemente de su estado actual. La alarma cuyo estado cambió más recientemente aparece en primer lugar.  
Si omite este campo, las alarmas se ordenan alfabéticamente.  
Tipo: cadena  
Valores válidos: default \| stateUpdatedTimestamp \| timestamp  
Obligatorio: no

**states**  
Utilice este campo para filtrar las alarmas mostradas en el widget y mostrar únicamente aquellas que se encuentran actualmente en los estados especificados. Puede especificar uno o varios estados de alarma en el valor de este campo. Los estados de alarma que puede especificar son `ALARM`, `INSUFFICIENT_DATA` y `OK`.  
Si omite este campo o especifica una matriz vacía, se muestran todas las alarmas especificadas en `alarms`.  
Tipo: matriz de cadenas  
Obligatorio: no

**título**  
El título que mostrará el widget.  
Tipo: cadena  
Requerido: no

El siguiente ejemplo corresponde a un widget de estado de alarmas que muestra cuatro alarmas especificadas por nombre, independientemente de su estado actual:

```
{
    "type": "alarm",
    "x": 0,
    "y": 0,
    "width": 12,
    "height": 6,
    "properties": {
        "alarms": [
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU"
        ],
        "sortBy": "stateUpdatedTimestamp",
        "title": "All EC2 CPU alarms"
    }
}
```

El siguiente widget de ejemplo especifica las mismas cuatro alarmas, pero solo muestra las alarmas que actualmente se encuentran en estado ALARM o INSUFFICIENT\_DATA.

```
{
    "type": "alarm",
    "x": 0,
    "y": 0,
    "width": 12,
    "height": 6,
    "properties": {
        "alarms": [
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:us-east-1:012345678901:alarm:EC2BackendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2FrontendCPU",
            "arn:aws:cloudwatch:eu-west-1:987654321098:alarm:EC2BackendCPU"
        ],
        "sortBy": "stateUpdatedTimestamp",
        "states": [
            "ALARM",
            "INSUFFICIENT_DATA"
        ],
        "title": "EC2 alarms that are not currently OK"
    }
}
```