Esempi di raggi X utilizzando AWS CLI - AWS Command Line Interface

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esempi di raggi X utilizzando AWS CLI

I seguenti esempi di codice mostrano come eseguire azioni e implementare scenari comuni utilizzando il AWS Command Line Interface con X-Ray.

Le azioni sono estratti di codice da programmi più grandi e devono essere eseguite nel contesto. Sebbene le azioni mostrino come richiamare le singole funzioni del servizio, è possibile visualizzarle contestualizzate negli scenari correlati.

Ogni esempio include un link al codice sorgente completo, in cui vengono fornite le istruzioni su come configurare ed eseguire il codice nel contesto.

Argomenti

Azioni

Il seguente esempio di codice mostra come utilizzarebatch-traces-get.

AWS CLI

Come ottenere un elenco di tracce

L’esempio batch-get-traces seguente recupera un elenco di tracce specificate da un ID. Il tracciamento completo include un documento per ogni segmento, creato a partire da tutti i documenti di segmento con lo stesso ID di tracciamento ricevuti.

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

Output:

{ "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": [] }

Per ulteriori informazioni, vedere Using the AWS X-Ray API with the AWS CLI nellaAWS X-Ray Developer Guide.

  • Per i dettagli sull'API, vedere BatchTracesGetin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzarecreate-group.

AWS CLI

Come creare un gruppo

L’esempio create-group seguente crea un gruppo di risorse denominato AdminGroup. Il gruppo ottiene un’espressione di filtro che definisce i criteri del gruppo come segmento relativo a un servizio specifico che causa un guasto o un errore.

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

Output:

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

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

  • Per i dettagli sull'API, vedere CreateGroupin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzarecreate-sampling-rule.

AWS CLI

Come creare una regola di campionamento

L’esempio create-sampling-rule seguente crea una regola per controllare il comportamento di campionamento delle applicazioni strumentate. Le regole sono fornite da un file JSON. La maggior parte dei campi delle regole di campionamento è necessaria per creare la regola.

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

Contenuto di 9000-base-scorekeep.json:

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

Output:

{ "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 } }

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzaredelete-group.

AWS CLI

Come eliminare un gruppo

L’esempio delete-group seguente elimina il gruppo di risorse specificato.

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

Questo comando non produce alcun output.

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

  • Per i dettagli sull'API, vedere DeleteGroupin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzaredelete-sampling-rule.

AWS CLI

Come eliminare una regola di campionamento

L’esempio delete-sampling-rule seguente elimina la regola di campionamento specificata. È possibile specificare il gruppo utilizzando il nome del gruppo o l’ARN del gruppo.

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

Output:

{ "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 } }

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzareget-encryption-config.

AWS CLI

Come recuperare la configurazione di crittografia

L'get-encryption-configesempio seguente recupera la configurazione di crittografia corrente per i dati AWS X-Ray.

aws xray get-encryption-config

Output:

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

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzareget-group.

AWS CLI

Come recuperare un gruppo

L’esempio get-group seguente visualizza i dettagli del tipo di istanza specificato. I dettagli includono il nome del gruppo, l’ARN del gruppo e l’espressione di filtro che definisce i criteri per quel gruppo. I gruppi possono essere recuperati anche tramite ARN.

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

Output:

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

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

  • Per i dettagli sull'API, vedere GetGroupin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareget-groups.

AWS CLI

Come recuperare tutti i gruppi

L’esempio seguente visualizza i dettagli per tutti i gruppi attivi.

aws xray get-groups

Output:

{ "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" } ] }

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

  • Per i dettagli sull'API, vedere GetGroupsin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareget-sampling-rules.

AWS CLI

Come recuperare tutte le regole di campionamento

L’esempio get-sampling-rules seguente mostra i dettagli di tutte le regole di campionamento disponibili:

aws xray get-sampling-rules

Output:

{ "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 } ] }

Per ulteriori informazioni, consulta Utilizzo delle regole di campionamento con l’API X-Ray nella Guida per gli sviluppatori di AWS X-Ray.

Il seguente esempio di codice mostra come utilizzareget-sampling-targets.

AWS CLI

Come richiedere una quota di campionamento

L’esempio get-sampling-targets seguente richiede una quota di campionamento per le regole utilizzate dal servizio per campionare le richieste. La risposta di AWS X-Ray include una quota che può essere utilizzata invece di prendere in prestito dal serbatoio.

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 } ]'

Output:

{ "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": [] }

Per ulteriori informazioni, consulta Utilizzo delle regole di campionamento con l’API X-Ray nella Guida per gli sviluppatori di AWS X-Ray.

Il seguente esempio di codice mostra come utilizzareget-service-graph.

AWS CLI

Come ottenere un grafico dei servizi

L’esempio seguente visualizza un documento entro un periodo di tempo specificato che descrive i servizi che elaborano le richieste in entrata e i servizi downstream che chiamano di conseguenza:

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

Output:

{ "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 }

Per ulteriori informazioni, vedere Using the AWS X-Ray API with the AWS CLI nellaAWS X-Ray Developer Guide.

  • Per i dettagli sull'API, vedere GetServiceGraphin AWS CLI Command Reference.

Il seguente esempio di codice mostra come utilizzareget-trace-summaries.

AWS CLI

Come ottenere un riepilogo delle tracce

L'get-trace-summariesesempio seguente recupera i IDs metadati per le tracce disponibili entro un periodo di tempo specificato.

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

Output:

[ "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" ]

Per ulteriori informazioni, vedere Using the AWS X-Ray API with the AWS CLI nellaAWS X-Ray Developer Guide.

Il seguente esempio di codice mostra come utilizzareput-encryption-config.

AWS CLI

Come aggiornare la configurazione della crittografia

Nell’esempio seguente put-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

Output:

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

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

Il seguente esempio di codice mostra come utilizzareput-trace-segments.

AWS CLI

Come caricare un segmento

L'put-trace-segmentsesempio seguente carica i documenti dei segmenti su AWS X-Ray. Il documento del segmento viene utilizzato come elenco di documenti di segmento JSON.

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\"}"

Output:

{ "UnprocessedTraceSegments": [] }

Per ulteriori informazioni, vedere Invio di dati di traccia a AWS X-Ray nella X-Ray Developer Guide AWS .

Il seguente esempio di codice mostra come utilizzareupdate-group.

AWS CLI

Come aggiornare un gruppo

L’esempio update-group seguente aggiorna i criteri in base ai quali accettare le tracce nel gruppo denominato AdminGroup. È possibile specificare il gruppo desiderato utilizzando il nome o l’ARN del gruppo.

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}"

Output:

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

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS

  • Per i dettagli sull'API, vedere UpdateGroupin Command Reference.AWS CLI

Il seguente esempio di codice mostra come utilizzareupdate-sampling-rule.

AWS CLI

Come aggiornare una regola di campionamento

L’esempio update-sampling-rule seguente modifica la configurazione di una regola di campionamento. Le regole vengono utilizzate da un file JSON. Sono obbligatori solo i campi in fase di aggiornamento.

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

Contenuto di 1000-default.json:

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

Output:

{ "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 } ] }

Per ulteriori informazioni, vedere Configurazione delle impostazioni di campionamento, gruppi e crittografia con l'API X-Ray nella AWS X-Ray Developer Guide.AWS