Ejemplos de uso de la CLI con Amazon CloudWatch Internet Monitor
En esta sección se incluyen ejemplos de uso de AWS Command Line Interface con las operaciones de Amazon CloudWatch Internet Monitor.
Antes de empezar, asegúrese de iniciar sesión para utilizar la AWS CLI con la misma cuenta de AWS que tiene las nubes privadas virtuales (VPC) de Amazon, los Equilibradores de carga de red, las distribuciones de Amazon CloudFront o los directorios de Amazon WorkSpaces que desea supervisar. Internet Monitor no admite el acceso a los recursos entre cuentas. Para obtener más información sobre el uso de la AWS CLI, consulte Referencia de comandos de la AWS CLI. Para obtener más información sobre el uso de las acciones de la API con Amazon CloudWatch Internet Monitor, consulte la Amazon CloudWatch Internet Monitor API Reference Guide (Guía de referencia de la API de Amazon CloudWatch Internet Monitor).
Temas
Creación de un monitor
Al crear un monitor en Internet Monitor, proporciona un nombre y asocie recursos al monitor para mostrar dónde está el tráfico de Internet de la aplicación. Usted especifica un porcentaje de tráfico que define qué parte del tráfico de su aplicación se supervisa. Esto también determina la cantidad de redes urbanas, es decir, las ubicaciones de los clientes y los ASN, normalmente proveedores de servicios de Internet o ISP, que se supervisan. También puede optar por establecer un límite para el número máximo de ciudades urbanas que supervisar para los recursos de su aplicación a fin de ayudarlo a controlar su factura. Para obtener más información, consulte Cómo elegir un límite máximo de redes urbanas.
Por último, puede elegir si quiere publicar todas las mediciones de Internet de su aplicación en Amazon S3. Las mediciones de Internet de las 500 principales redes urbanas (por volumen de tráfico) se publican automáticamente en registros de CloudWatch de Internet Monitor, pero también puede optar por publicar todas las mediciones en S3.
Para crear un alojamiento con la AWS CLI, utilice el comando create-monitor
. El siguiente comando crea un monitor que supervisa el 100 % del tráfico, pero establece un límite máximo de 10 000 redes urbanas, añade un recurso de VPC y opta por publicar las mediciones de Internet en Amazon S3.
nota
Internet Monitor publica las mediciones de Internet en registros de CloudWatch cada cinco minutos para las 500 principales redes urbanas (ubicaciones de clientes y ASN, normalmente proveedores de servicios de Internet o ISP) que envían tráfico a cada monitor. Si lo desea, puede optar por publicar las mediciones de Internet de todas las redes urbanas supervisadas (hasta el límite de servicio de 500 000 redes urbanas) en un bucket de Amazon S3. Para obtener más información, consulte Publicación de mediciones de Internet en Amazon S3 en Amazon CloudWatch Internet Monitor.
aws internetmonitor --create-monitor monitor-name "TestMonitor" \ --traffic-percentage-to-monitor 100 \ --max-city-networks-to-monitor 10000 \ --resources "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \ --internet-measurements-log-delivery S3Config="{BucketName=amzn-s3-demo-bucket,LogDeliveryStatus=ENABLED}"
{ "Arn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "ACTIVE" }
nota
No se puede cambiar el nombre del monitor.
Consultar detalles de supervisión
Para ver información sobre un monitor con la AWS CLI, utilice el comando get-monitor
.
aws internetmonitor get-monitor --monitor-name "TestMonitor"
{ "ClientLocationType": "city", "CreatedAt": "2022-09-22T19:27:47Z", "ModifiedAt": "2022-09-22T19:28:30Z", "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "MonitorName": "TestMonitor", "ProcessingStatus": "OK", "ProcessingStatusInfo": "The monitor is actively processing data", "Resources": [ "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" ], "MaxCityNetworksToMonitor": 10000, "Status": "ACTIVE" }
Enumeración de eventos de estado
Cuando el rendimiento del tráfico de Internet de la aplicación disminuye, Internet Monitor crea eventos de estado en el monitor. Para ver una lista de los eventos de estado actuales con la AWS CLI, utilice el comando list-health-events
aws internetmonitor list-health-events --monitor-name "TestMonitor"
{ "HealthEvents": [ { "EventId": "2022-06-20T01-05-05Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:15:14Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.21, "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 60.370000000000005, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" } ], "StartedAt": "2022-06-20T01:05:05Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-05-05Z/latency" }, { "EventId": "2022-06-20T01-17-56Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:30:23Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.29, "ClientLocations": [ { "City": "Toronto", "PercentOfClientLocationImpacted": 75.32, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Lockport", "PercentOfClientLocationImpacted": 22.91, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:17:56Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-17-56Z/latency" }, { "EventId": "2022-06-20T01-34-20Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:35:04Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "PercentOfTotalTrafficImpacted": 1.15, "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 39.45, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Toronto", "PercentOfClientLocationImpacted": 29.770000000000003, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:34:20Z", "ImpactType": "PERFORMANCE", "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency" } ] }
Consulta de un evento de estado específico
Para ver información más detallada sobre un evento de estado específico con la CLI, ejecute el comando get-health-event
con el nombre del monitor y el ID del evento de estado.
aws internetmonitor get-monitor --monitor-name "TestMonitor" --event-id "health-event/TestMonitor/2021-06-03T01:02:03Z/latency"
{ "EventId": "2022-06-20T01-34-20Z/latency", "Status": "RESOLVED", "EndedAt": "2022-06-20T01:35:04Z", "ServiceLocations": [ { "Name": "us-east-1" } ], "EventArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor/health-event/2022-06-20T01-34-20Z/latency", "LastUpdatedAt": "2022-06-20T01:35:04Z", "ClientLocations": [ { "City": "Lockport", "PercentOfClientLocationImpacted": 39.45, "PercentOfTotalTraffic": 2.01, "Country": "United States", "Longitude": -78.6913, "AutonomousSystemNumber": 26101, "Latitude": 43.1721, "Subdivision": "New York", "NetworkName": "YAHOO-BF1" }, { "City": "Toronto", "PercentOfClientLocationImpacted": 29.770000000000003, "PercentOfTotalTraffic": 1.05, "Country": "Canada", "Longitude": -79.3623, "AutonomousSystemNumber": 14061, "Latitude": 43.6547, "Subdivision": "Ontario", "CausedBy": { "Status": "ACTIVE", "Networks": [ { "AutonomousSystemNumber": 16509, "NetworkName": "Amazon.com" } ], "NetworkEventType": "AWS" }, "NetworkName": "DIGITALOCEAN-ASN" }, { "City": "Shenzhen", "PercentOfClientLocationImpacted": 4.07, "PercentOfTotalTraffic": 0.61, "Country": "China", "Longitude": 114.0683, "AutonomousSystemNumber": 37963, "Latitude": 22.5455, "Subdivision": "Guangdong", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." }, { "City": "Hangzhou", "PercentOfClientLocationImpacted": 2.88, "PercentOfTotalTraffic": 0.7799999999999999, "Country": "China", "Longitude": 120.1612, "AutonomousSystemNumber": 37963, "Latitude": 30.2994, "Subdivision": "Zhejiang", "NetworkName": "Hangzhou Alibaba Advertising Co.,Ltd." } ], "StartedAt": "2022-06-20T01:34:20Z", "ImpactType": "PERFORMANCE", "PercentOfTotalTrafficImpacted": 1.15 }
Consulta de la lista de monitores
Para ver una lista de todos los monitores de su cuenta con la CLI, ejecute el comando list-monitors
.
aws internetmonitor list-monitors
{ "Monitors": [ { "MonitorName": "TestMonitor", "ProcessingStatus": "OK", "Status": "ACTIVE" } ], "NextToken": " zase12" }
Edición de un monitor
Para actualizar la información sobre el monitor mediante la CLI, utilice el comando update-monitor
y especifique el nombre del monitor que se va a actualizar. Por ejemplo, puede actualizar el porcentaje de tráfico que se debe supervisar, el límite del número máximo de redes urbanas que se deben supervisar, añadir o eliminar los recursos que Internet Monitor utiliza para supervisar el tráfico y cambiar el estado del monitor de ACTIVE
a INACTIVE
o viceversa. Tenga en cuenta que no puede cambiar el nombre del monitor.
La respuesta de una llamada update-monitor
devuelve solo el MonitorArn
y el Status
.
En el siguiente ejemplo, se muestra cómo se usa el comando update-monitor
para cambiar el estado del monitor a 50000
:
aws internetmonitor update-monitor --monitor-name "TestMonitor" --max-city-networks-to-monitor 50000
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": " ACTIVE " }
En el siguiente ejemplo, se muestra cómo agregar y eliminar recursos:
aws internetmonitor update-monitor --monitor-name "TestMonitor" \ --resources-to-add "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-11223344556677889" \ --resources-to-remove "arn:aws:ec2:us-east-1:111122223333:vpc/vpc-2222444455556666"
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "ACTIVE" }
En el siguiente ejemplo, se muestra cómo se usa el comando update-monitor
para cambiar el estado del monitor a INACTIVE
:
aws internetmonitor update-monitor --monitor-name "TestMonitor" --status "INACTIVE"
{ "MonitorArn": "arn:aws:internetmonitor:us-east-1:111122223333:monitor/TestMonitor", "Status": "INACTIVE" }
Eliminación de un monitor
Puede eliminar un monitor con la CLI mediante el comando delete-monitor
. En primer lugar, debe configurar el monitor para que esté inactivo. Para ello, utilice el comando update-monitor
para cambiar el estado a INACTIVE
. Confirme que el monitor está inactivo mediante el comando get-monitor
y comprobando el estado.
Cuando el estado del monitor sea INACTIVE
, puede usar la CLI para ejecutar el comando delete-monitor
para eliminar el monitor. La respuesta de una llamada delete-monitor
exitosa está vacía.
aws internetmonitor delete-monitor --monitor-name "TestMonitor"
{}