Solución de problemas de Información de métricas
Los resultados incluyen “Otro”, pero no lo tengo como dimensión
Esto significa que la consulta incluye una cláusula de GROUP BY que especifica una clave de etiqueta que no se utiliza en algunas de las métricas devueltas por la consulta. En este caso, se devuelve un grupo nulo denominado Other (Otro). Las métricas que no incluyen esa clave de etiqueta probablemente sean métricas acumuladas que devuelven valores acumulados en todos los valores de esa clave de etiqueta.
Por ejemplo, supongamos que tenemos la siguiente consulta:
SELECT AVG(Faults) FROM MyCustomNamespace GROUP BY Operation, ServiceName
Si algunas de las métricas devueltas no incluyen ServiceName como dimensión, entonces esas métricas se muestran con el valor Other para ServiceName.
Para evitar ver “Other” (Otro) en los resultados, use SCHEMA (ESQUEMA) en la cláusula de FROM (DESDE), como en el siguiente ejemplo:
SELECT AVG(Faults) FROM SCHEMA(MyCustomNamespace, Operation) GROUP BY Operation, ServiceName
Esto limita los resultados devueltos solo a las métricas que tienen ambas dimensiones: Operation y ServiceName.
La marca temporal más antigua de mi gráfica tiene un valor métrico inferior al de las demás
Información de métricas de CloudWatch admite hasta dos semanas de datos históricos. Cuando se realiza un gráfico con un periodo superior a un minuto, puede haber casos en que el punto de datos más antiguo difiera del valor esperado. Esto se debe a que las consultas de Información de métricas de CloudWatch solo devuelven los datos dentro del periodo de retención de dos semanas. En este caso, el punto de datos más antiguo de la consulta devuelve solo las observaciones que se midieron dentro del límite de dos semanas, en lugar de devolver todas las observaciones dentro del periodo de ese punto de datos.
Valores de métricas inconsistentes en distintos periodos de tiempo al utilizar consultas basadas en etiquetas
Cuando utiliza cláusulas WHERE o GROUP BY con etiquetas en las consultas de Información de métricas de CloudWatch, es posible que vea distintos valores de métricas en función del periodo de tiempo seleccionado. Por ejemplo, un periodo de 6 horas puede mostrar un valor máximo de 20, mientras que un periodo de 1 hora muestra solo 2 durante el mismo periodo de tiempo.
Esto se debe a que las marcas de tiempo de las etiquetas se almacenan con una resolución de segundo nivel, mientras que los puntos de datos de las métricas se ajustan a los límites de los periodos (por ejemplo, el inicio de cada minuto u hora). Para determinar qué puntos de datos coinciden con un rango de tiempo de etiqueta, CloudWatch ajusta el inicio del rango restando un periodo. Con periodos más largos, este ajuste crea una brecha más amplia entre la marca de tiempo de la etiqueta y el primer punto de datos incluido, lo que puede provocar que se excluyan los puntos de datos cercanos al inicio del rango.
El siguiente ejemplo muestra cómo afecta esto a los resultados de consulta. Una métrica tiene dos valores de etiqueta: env=beta (de 00:00 a 01:30) y env=gamma (de 01:30 a 03:00). Cada etiqueta cubre 90 minutos de datos con un valor de SUM de 270.
| env=beta con un periodo de 1 minuto | |||
|---|---|---|---|
| Estadística | Expected | Returned | Diferencia |
| SUM | 270 | 271 | +1 |
| AVG | 3.0 | 3.0 | 0 |
| MIN | 1 | 1 | 0 |
| MAX | 5 | 5 | 0 |
| SAMPLE_COUNT | 90 | 91 | +1 |
| env=gamma con un periodo de 1 minuto | |||
|---|---|---|---|
| Estadística | Expected | Returned | Diferencia |
| SUM | 270 | 275 | 5+ |
| AVG | 3.0 | 3.0 | 0 |
| MIN | 1 | 1 | 0 |
| MAX | 5 | 5 | 0 |
| SAMPLE_COUNT | 90 | 91 | +1 |
Con un periodo de 1 minuto, el ajuste de alineación es pequeño (1 minuto), por lo que solo se incluye 1 punto de datos adicional por etiqueta. Con un periodo de 3 horas, el ajuste abarca todo el rango de consultas:
| env=beta con un periodo de 3 horas | |||
|---|---|---|---|
| Estadística | Expected | Returned | Diferencia |
| SUM | 270 | 540 | +270 |
| AVG | 3.0 | 3.0 | 0 |
| MIN | 1 | 1 | 0 |
| MAX | 5 | 5 | 0 |
| SAMPLE_COUNT | 90 | 180 | +90 |
| env=gamma con un periodo de 3 horas | |||
|---|---|---|---|
| Estadística | Expected | Returned | Diferencia |
| SUM | 270 | 540 | +270 |
| AVG | 3.0 | 3.0 | 0 |
| MIN | 1 | 1 | 0 |
| MAX | 5 | 5 | 0 |
| SAMPLE_COUNT | 90 | 180 | +90 |
Con el periodo de 3 horas, ambas etiquetas devuelven el conjunto de datos completo (SUM=540, SAMPLE_COUNT=180) porque la marca de tiempo del único punto de datos agregado se encuentra dentro de ambos rangos ajustados. El límite de la etiqueta se borra de forma efectiva.
Para reducir el impacto de este comportamiento, pruebe los siguientes enfoques:
-
Utilice periodos de agregación más pequeños. Los periodos más pequeños (como 1 minuto o 5 minutos) se aproximan más a la resolución de nivel de segundos de las marcas de tiempo de las etiquetas, lo que minimiza la brecha de alineación y aumenta la probabilidad de que se incluyan todos los puntos de datos relevantes.
-
Utilice un filtrado basado en dimensiones en lugar de etiquetas. Si su caso de uso lo permite, filtre por dimensiones en lugar de por etiquetas. Esto no afecta a las consultas basadas en dimensiones. Por ejemplo, utilice
WHERE InstanceId = 'i-1234567890abcdef0'en lugar deWHERE tag."my-tag" = 'my-value'. -
Realice consultas con una granularidad uniforme. Al comparar datos de métricas en distintos intervalos de tiempo, utilice el mismo periodo para evitar diferencias inesperadas provocadas por el ajuste de alineación.