Ejemplos de rayos X que utilizan AWS CLI - AWS SDKEjemplos de código

Hay más AWS SDK ejemplos disponibles en el GitHub repositorio de AWS Doc SDK Examples.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de rayos X que utilizan AWS CLI

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso de AWS Command Line Interface X-Ray.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las funciones de servicio individuales, es posible ver las acciones en contexto en los escenarios relacionados.

Cada ejemplo incluye un enlace al código fuente completo, donde puede encontrar instrucciones sobre cómo configurar y ejecutar el código en su contexto.

Acciones

En el siguiente ejemplo de código se muestra cómo usar batch-traces-get.

AWS CLI

Para obtener una lista de trazas

En el siguiente batch-get-traces ejemplo, se recupera una lista de trazas especificada por un identificador. El registro de seguimiento completo incluye un documento para cada segmento, compilado a partir de todos los documentos de segmento recibidos que tienen el mismo ID de registro de seguimiento.

aws xray batch-get-traces \ --trace-ids 1-5d82881a-0a9126e92a73e971eed891b9

Salida:

{ "Traces": [ { "Id": "1-5d82881a-0a9126e92a73e971eed891b9", "Duration": 0.232, "Segments": [ { "Id": "54aff5735b12dd28", "Document": "{\"id\":\"54aff5735b12dd28\",\"name\":\"Scorekeep\",\"start_time\":1.568835610432E9,\"end_time\":1.568835610664E9,\"http\":{\"request\":{\"url\":\"http://scorekeep-env-1.m4fg2pfzpv.us-east-2.elasticbeanstalk.com/api/user\",\"method\":\"POST\",\"user_agent\":\"curl/7.59.0\",\"client_ip\":\"52.95.4.28\",\"x_forwarded_for\":true},\"response\":{\"status\":200}},\"aws\":{\"elastic_beanstalk\":{\"version_label\":\"Sample Application-1\",\"deployment_id\":3,\"environment_name\":\"Scorekeep-env-1\"},\"ec2\":{\"availability_zone\":\"us-east-2b\",\"instance_id\":\"i-0e3cf4d2de0f3f37a\"},\"xray\":{\"sdk_version\":\"1.1.0\",\"sdk\":\"X-Ray for Java\"}},\"service\":{\"runtime\":\"OpenJDK 64-Bit Server VM\",\"runtime_version\":\"1.8.0_222\"},\"trace_id\":\"1-5d82881a-0a9126e92a73e971eed891b9\",\"origin\":\"AWS::ElasticBeanstalk::Environment\",\"subsegments\":[{\"id\":\"2d6900034ccfe558\",\"name\":\"DynamoDB\",\"start_time\":1.568835610658E9,\"end_time\":1.568835610664E9,\"http\":{\"response\":{\"status\":200,\"content_length\":61}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"TPEIDNDUROMLPOV17U4A79555NVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-user\"]},\"namespace\":\"aws\"}]}" }, { "Id": "0f278b6334c34e6b", "Document": "{\"id\":\"0f278b6334c34e6b\",\"name\":\"DynamoDB\",\"start_time\":1.568835610658E9,\"end_time\":1.568835610664E9,\"parent_id\":\"2d6900034ccfe558\",\"inferred\":true,\"http\":{\"response\":{\"status\":200,\"content_length\":61}},\"aws\":{\"table_name\":\"scorekeep-user\",\"operation\":\"UpdateItem\",\"request_id\":\"TPEIDNDUROMLPOV17U4A79555NVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-user\"]},\"trace_id\":\"1-5d82881a-0a9126e92a73e971eed891b9\",\"origin\":\"AWS::DynamoDB::Table\"}" } ] } ], "UnprocessedTraceIds": [] }

Para obtener más información, consulte Uso de los AWS rayos X API con AWS CLI la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte BatchTracesGetla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-group.

AWS CLI

Para crear un grupo

En el siguiente create-group ejemplo se crea un recurso de grupo denominadoAdminGroup. El grupo obtiene una expresión de filtro que define los criterios del grupo como un segmento relacionado con un servicio específico que provoca un fallo o un error.

aws xray create-group \ --group-name "AdminGroup" \ --filter-expression "service(\"mydomain.com\") {fault OR error}"

Salida:

{ "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault OR error}" }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte CreateGroupla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar create-sampling-rule.

AWS CLI

Para crear una regla de muestreo

El siguiente create-sampling-rule ejemplo crea una regla para controlar el comportamiento del muestreo en aplicaciones instrumentadas. Las reglas se proporcionan en un JSON archivo. La mayoría de los campos de la regla de muestreo son obligatorios para crear la regla.

aws xray create-sampling-rule \ --cli-input-json file://9000-base-scorekeep.json

Contenidos de 9000-base-scorekeep.json:

{ "SamplingRule": { "RuleName": "base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 5, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1 } }

Salida:

{ "SamplingRuleRecord": { "SamplingRule": { "RuleName": "base-scorekeep", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 5, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530574410.0, "ModifiedAt": 1530574410.0 } }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte CreateSamplingRulela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-group.

AWS CLI

Para eliminar un grupo

En el siguiente delete-group ejemplo, se elimina el recurso de grupo especificado.

aws xray delete-group \ --group-name "AdminGroup" \ --group-arn "arn:aws:xray:us-east-2:123456789012:group/AdminGroup/123456789"

Este comando no genera ninguna salida.

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte DeleteGroupla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar delete-sampling-rule.

AWS CLI

Para eliminar una regla de muestreo

El siguiente delete-sampling-rule ejemplo elimina la regla de muestreo especificada. Puede especificar el grupo mediante el nombre del grupo o el grupoARN.

aws xray delete-sampling-rule \ --rule-name polling-scorekeep

Salida:

{ "SamplingRuleRecord": { "SamplingRule": { "RuleName": "polling-scorekeep", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/polling-scorekeep", "ResourceARN": "*", "Priority": 5000, "FixedRate": 0.003, "ReservoirSize": 0, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "GET", "URLPath": "/api/state/*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530574399.0, "ModifiedAt": 1530574399.0 } }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte DeleteSamplingRulela Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-encryption-config.

AWS CLI

Para recuperar la configuración de cifrado

El siguiente get-encryption-config ejemplo recupera la configuración de cifrado actual de los datos de AWS X-Ray.

aws xray get-encryption-config

Salida:

{ "EncryptionConfig": { "KeyId": "ae4aa6d49-a4d8-9df9-a475-4ff6d7898456", "Status": "ACTIVE", "Type": "NONE" } }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetEncryptionConfigla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-group.

AWS CLI

Para recuperar un grupo

En el siguiente get-group ejemplo, se muestran los detalles del recurso de grupo especificado. Los detalles incluyen el nombre del grupo, el grupo ARN y la expresión de filtro que define los criterios de ese grupo. Los grupos también se pueden recuperar medianteARN.

aws xray get-group \ --group-name "AdminGroup"

Salida:

{ "Group": [ { "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault OR error}" } ] }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetGroupla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-groups.

AWS CLI

Para recuperar todos los grupos

En el siguiente ejemplo, se muestran los detalles de todos los grupos activos.

aws xray get-groups

Salida:

{ "Groups": [ { "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"example.com\") {fault OR error}" }, { "GroupName": "SDETGroup", "GroupARN": "arn:aws:xray:us-west-2:123456789012:group/SDETGroup/987654321", "FilterExpression": "responsetime > 2" } ] }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetGroupsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-sampling-rules.

AWS CLI

Para recuperar todas las reglas de muestreo

El siguiente get-sampling-rules ejemplo muestra los detalles de todas las reglas de muestreo disponibles. :

aws xray get-sampling-rules

Salida:

{ "SamplingRuleRecords": [ { "SamplingRule": { "RuleName": "Default", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/Default", "ResourceARN": "*", "Priority": 10000, "FixedRate": 0.01, "ReservoirSize": 0, "ServiceName": "*", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 0.0, "ModifiedAt": 1530558121.0 }, { "SamplingRule": { "RuleName": "base-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/base-scorekeep", "ResourceARN": "*", "Priority": 9000, "FixedRate": 0.1, "ReservoirSize": 2, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530573954.0, "ModifiedAt": 1530920505.0 }, { "SamplingRule": { "RuleName": "polling-scorekeep", "RuleARN": "arn:aws:xray:us-east-1::sampling-rule/polling-scorekeep", "ResourceARN": "*", "Priority": 5000, "FixedRate": 0.003, "ReservoirSize": 0, "ServiceName": "Scorekeep", "ServiceType": "*", "Host": "*", "HTTPMethod": "GET", "URLPath": "/api/state/*", "Version": 1, "Attributes": {} }, "CreatedAt": 1530918163.0, "ModifiedAt": 1530918163.0 } ] }

Para obtener más información, consulte Uso de reglas de muestreo con X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetSamplingRulesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-sampling-targets.

AWS CLI

Para solicitar una cuota de muestreo

El siguiente get-sampling-targets ejemplo solicita una cuota de muestreo para las reglas que el servicio utiliza para muestrear las solicitudes. La respuesta de AWS X-Ray incluye una cuota que se puede utilizar en lugar de pedir prestado al embalse.

aws xray get-sampling-targets \ --sampling-statistics-documents '[ { "RuleName": "base-scorekeep", "ClientID": "ABCDEF1234567890ABCDEF10", "Timestamp": "2018-07-07T00:20:06, "RequestCount": 110, "SampledCount": 20, "BorrowCount": 10 }, { "RuleName": "polling-scorekeep", 31, "BorrowCount": 0 } ]'

Salida:

{ "SamplingTargetDocuments": [ { "RuleName": "base-scorekeep", "FixedRate": 0.1, "ReservoirQuota": 2, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 }, { "RuleName": "polling-scorekeep", "FixedRate": 0.003, "ReservoirQuota": 0, "ReservoirQuotaTTL": 1530923107.0, "Interval": 10 } ], "LastRuleModification": 1530920505.0, "UnprocessedStatistics": [] }

Para obtener más información, consulte Uso de reglas de muestreo con X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetSamplingTargetsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-service-graph.

AWS CLI

Para obtener un gráfico de servicio

El siguiente ejemplo muestra un documento dentro de un período de tiempo específico que describe los servicios que procesan las solicitudes entrantes y los servicios posteriores a los que llaman en consecuencia. :

aws xray get-service-graph \ --start-time 1568835392.0 --end-time 1568835446.0

Salida:

{ "Services": [ { "ReferenceId": 0, "Name": "Scorekeep", "Names": [ "Scorekeep" ], "Root": true, "Type": "AWS::ElasticBeanstalk::Environment", "State": "active", "StartTime": 1568835392.0, "EndTime": 1568835446.0, "Edges": [ { "ReferenceId": 1, "StartTime": 1568835392.0, "EndTime": 1568835446.0, "SummaryStatistics": { "OkCount": 14, "ErrorStatistics": { "ThrottleCount": 0, "OtherCount": 0, "TotalCount": 0 }, "FaultStatistics": { "OtherCount": 0, "TotalCount": 0 }, "TotalCount": 14, "TotalResponseTime": 0.13 }, "ResponseTimeHistogram": [ { "Value": 0.008, "Count": 1 }, { "Value": 0.005, "Count": 7 }, { "Value": 0.009, "Count": 1 }, { "Value": 0.021, "Count": 1 }, { "Value": 0.038, "Count": 1 }, { "Value": 0.007, "Count": 1 }, { "Value": 0.006, "Count": 2 } ], "Aliases": [] }, ... TRUNCATED FOR BREVITY ... ] } ], "StartTime": 1568835392.0, "EndTime": 1568835446.0, "ContainsOldGroupVersions": false }

Para obtener más información, consulte Uso de los AWS rayos X API con AWS CLI la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetServiceGraphla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar get-trace-summaries.

AWS CLI

Para obtener un resumen del rastreo

El siguiente get-trace-summaries ejemplo recupera los metadatos de IDs los rastreos disponibles dentro de un período de tiempo específico.

aws xray get-trace-summaries \ --start-time 1568835392.0 \ --end-time 1568835446.0

Salida:

[ "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/VSAE93HF/GSSD2NTB/DP0PCC09", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/GCQ2B35P/FREELDFT/4LRE643M", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/game/VSAE93HF/GSSD2NTB/starttime/1568835513", "http://scorekeep-env-1.123456789.us-east-2.elasticbeanstalk.com/api/move/4MQNA5NN/L99KK2RF/null" ]

Para obtener más información, consulte Uso de los AWS rayos X API con AWS CLI la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte GetTraceSummariesla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-encryption-config.

AWS CLI

Para actualizar la configuración de cifrado

Lo siguienteput-encryption-config``example updates the encryption configuration for AWS X-Ray data to use the default AWS managed KMS key ``aws/xray.

aws xray put-encryption-config \ --type KMS \ --key-id alias/aws/xray

Salida:

{ "EncryptionConfig": { "KeyId": "arn:aws:kms:us-west-2:123456789012:key/c234g4e8-39e9-4gb0-84e2-b0ea215cbba5", "Status": "UPDATING", "Type": "KMS" } }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte PutEncryptionConfigla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar put-trace-segments.

AWS CLI

Para cargar un segmento

En el siguiente put-trace-segments ejemplo, se cargan documentos segmentados a AWS X-Ray. El documento segmentado se consume como una lista de documentos JSON segmentados.

aws xray put-trace-segments \ --trace-segment-documents "{\"id\":\"20312a0e2b8809f4\",\"name\":\"DynamoDB\",\"trace_id\":\"1-5832862d-a43aafded3334a971fe312db\",\"start_time\":1.479706157195E9,\"end_time\":1.479706157202E9,\"parent_id\":\"79736b962fe3239e\",\"http\":{\"response\":{\"content_length\":60,\"status\":200}},\"inferred\":true,\"aws\":{\"consistent_read\":false,\"table_name\":\"scorekeep-session-xray\",\"operation\":\"GetItem\",\"request_id\":\"SCAU23OM6M8FO38UASGC7785ARVV4KQNSO5AEMVJF66Q9ASUAAJG\",\"resource_names\":[\"scorekeep-session-xray\"]},\"origin\":\"AWS::DynamoDB::Table\"}"

Salida:

{ "UnprocessedTraceSegments": [] }

Para obtener más información, consulte Envío de datos de rastreo a AWS X-Ray en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte PutTraceSegmentsla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-group.

AWS CLI

Para actualizar un grupo

En el siguiente update-group ejemplo, se actualizan los criterios para aceptar los rastreos en el grupo denominadoAdminGroup. Puede especificar el grupo deseado mediante el nombre del grupo o el grupoARN.

aws xray update-group \ --group-name "AdminGroup" \ --group-arn "arn:aws:xray:us-west-2:123456789012:group/AdminGroup/123456789" \ --filter-expression "service(\"mydomain.com\") {fault}"

Salida:

{ "GroupName": "AdminGroup", "GroupARN": "arn:aws:xray:us-east-2:123456789012:group/AdminGroup/123456789", "FilterExpression": "service(\"mydomain.com\") {fault}" }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte UpdateGroupla Referencia de AWS CLI comandos.

En el siguiente ejemplo de código se muestra cómo usar update-sampling-rule.

AWS CLI

Para actualizar una regla de muestreo

El siguiente update-sampling-rule ejemplo modifica la configuración de una regla de muestreo. Las reglas se consumen desde un JSON archivo. Solo son obligatorios los campos que se están actualizando.

aws xray update-sampling-rule \ --cli-input-json file://1000-default.json

Contenidos de 1000-default.json:

{ "SamplingRuleUpdate": { "RuleName": "Default", "FixedRate": 0.01, "ReservoirSize": 0 } }

Salida:

{ "SamplingRuleRecords": [ { "SamplingRule": { "RuleName": "Default", "RuleARN": "arn:aws:xray:us-west-2:123456789012:sampling-rule/Default", "ResourceARN": "*", "Priority": 10000, "FixedRate": 0.01, "ReservoirSize": 0, "ServiceName": "*", "ServiceType": "*", "Host": "*", "HTTPMethod": "*", "URLPath": "*", "Version": 1, "Attributes": {} }, "CreatedAt": 0.0, "ModifiedAt": 1529959993.0 } ] }

Para obtener más información, consulte Configuración de los ajustes de muestreo, grupos y cifrado con AWS X-Ray API en la Guía para desarrolladores de AWS X-Ray.

  • Para API obtener más información, consulte UpdateSamplingRulela Referencia de AWS CLI comandos.