Estoy tratando de crear una aplicación que monitoree las instancias de AWS por una IP de instancia determinada. Ahora, logré obtener una respuesta de la instancia, pero esto es: los puntos de datos devuelven vacíos. Restricciones:
const winston = require('winston'); const { CloudWatchClient, GetMetricStatisticsCommand, ListMetricsCommand } = require("@aws-sdk/client-cloudwatch"); const config = require('config'); const region = config.get('region'); const cwClient = new CloudWatchClient({ region: region }); const getCPUUtilization = async (ip, timePeriod, interval) => { let today = new Date(); let dateToStart = new Date(); let dateOffset = (24 * 60 * 60 * 1000) * timePeriod; dateToStart.setTime(today.getTime() - dateOffset); const params = { Dimensions: [ { Name: "InstanceId", Value: "i-test", } ], Namespace: `AWS/EC2`, MetricName: 'CPUUtilization', Period: interval, Unit: "Percent", StartTime: dateToStart, EndTime: today, Statistics: ["Maximum", "Minimum", "Average"], }; try { return await cwClient.send(new GetMetricStatisticsCommand(params)); } catch (err) { console.log(err); } } module.exports = getCPUUtilization;La salida que estoy obteniendo:
{ '$metadata': { httpStatusCode: 200, requestId: '192bce9c-42b0-4820-9b66-ca0c8a4e0159', extendedRequestId: undefined, cfId: undefined, attempts: 1, totalRetryDelay: 0 }, Label: 'CPUUtilization', Datapoints: [] }Agradecería mucho su ayuda, gracias de antemano