IDT usage metrics - Amazon IoT Greengrass
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

IDT usage metrics

If you provide Amazon credentials with required permissions, Amazon IoT Device Tester collects and submits usage metrics to Amazon. This is an opt-in feature and is used to improve IDT functionality. IDT collects information such as the following:

  • The Amazon Web Services account ID used to run IDT

  • The IDT Amazon CLI commands used to run tests

  • The test suites that are run

  • The test suites in the <device-tester-extract-location> folder

  • The number of devices configured in the device pool

  • Test case names and run times

  • Test result information, such as whether tests passed, failed, encountered errors, or were skipped

  • Product features tested

  • IDT exit behavior, such as unexpected or early exits

All of the information that IDT sends is also logged to a metrics.log file in the <device-tester-extract-location>/results/<execution-id>/ folder. You can view the log file to see the information that was collected during a test run. This file is generated only if you choose to collect usage metrics.

To disable metrics collection, you do not need to take additional action. Simply do not store your Amazon credentials, and if you do have stored Amazon credentials, do not configure the config.json file to access them.

Configure your Amazon credentials

If you do not already have an Amazon Web Services account, you must create one. If you already have an Amazon Web Services account, you simply need to configure the required permissions for your account that allow IDT to send usage metrics to Amazon on your behalf.

Step 1: Create an Amazon Web Services account

In this step, create and configure an Amazon Web Services account. If you already have an Amazon Web Services account, skip to Step 2: Configure permissions for IDT.

If you do not have an Amazon Web Services account, use the following procedure to create one.

To sign up for Amazon Web Services
  1. Open http://www.amazonaws.cn/ and choose Sign Up.

  2. Follow the on-screen instructions.

Secure IAM users

After you sign up for an Amazon Web Services account, safeguard your administrative user by turning on multi-factor authentication (MFA). For instructions, see Enable a virtual MFA device for an IAM user (console) in the IAM User Guide.

To give other users access to your Amazon Web Services account resources, create IAM users. To secure your IAM users, turn on MFA and only give the IAM users the permissions needed to perform their tasks.

For more information about creating and securing IAM users, see the following topics in the IAM User Guide:

Step 2: Configure permissions for IDT

In this step, configure the permissions that IDT uses to run tests and collect IDT usage data. You can use the Amazon Web Services Management Console or Amazon Command Line Interface (Amazon CLI) to create an IAM policy and a user for IDT, and then attach policies to the user.

To configure permissions for IDT (console)

Follow these steps to use the console to configure permissions for IDT for Amazon IoT Greengrass.

  1. Sign in to the IAM console.

  2. Create a customer managed policy that grants permissions to create roles with specific permissions.

    1. In the navigation pane, choose Policies, and then choose Create policy.

    2. On the JSON tab, replace the placeholder content with the following policy.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot-device-tester:SendMetrics" ], "Resource": "*" } ] }
    3. Choose Review policy.

    4. For Name, enter IDTUsageMetricsIAMPermissions. Under Summary, review the permissions granted by your policy.

    5. Choose Create policy.

  3. Create an IAM user and attach permissions to the user.

    1. Create an IAM user. Follow steps 1 through 5 in Creating IAM users (console) in the IAM User Guide. If you already created an IAM user, skip to the next step.

    2. Attach the permissions to your IAM user:

      1. On the Set permissions page, choose Attach existing policies to user directly.

      2. Search for the IDTUsageMetricsIAMPermissions policy that you created in the previous step. Select the check box.

    3. Choose Next: Tags.

    4. Choose Next: Review to view a summary of your choices.

    5. Choose Create user.

    6. To view the user's access keys (access key IDs and secret access keys), choose Show next to the password and access key. To save the access keys, choose Download.csv and save the file to a secure location. You use this information later to configure your Amazon credentials file.

 

To configure permissions for IDT (Amazon CLI)

Follow these steps to use the Amazon CLI to configure permissions for IDT for Amazon IoT Greengrass.

  1. On your computer, install and configure the Amazon CLI if it's not already installed. Follow the steps in Installing the Amazon CLI in the Amazon Command Line Interface User Guide.

    Note

    The Amazon CLI is an open source tool that you can use to interact with Amazon services from your command-line shell.

  2. Create the following customer managed policy that grants permissions to manage IDT and Amazon IoT Greengrass roles.

    Linux or Unix
    aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot-device-tester:SendMetrics" ], "Resource": "*" } ] }'
    Windows command prompt
    aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document '{\"Version\": \"2012-10-17\", \"Statement\": [{\"Effect\": \"Allow\", \"Action\": [\"iot-device-tester:SendMetrics\"], \"Resource": \"*\"}]}'
    Note

    This step includes a Windows command prompt example because it uses a different JSON syntax than Linux, macOS, or Unix terminal commands.

    PowerShell
    aws iam create-policy --policy-name IDTUsageMetricsIAMPermissions --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iot-device-tester:SendMetrics" ], "Resource": "*" } ] }'
  3. Create an IAM user and attach the permissions required by IDT for Amazon IoT Greengrass.

    1. Create an IAM user.

      aws iam create-user --user-name user-name
    2. Attach the IDTUsageMetricsIAMPermissions policy you created to your IAM user. Replace user-name with your IAM user name and <account-id> in the command with the ID of your Amazon Web Services account.

      aws iam attach-user-policy --user-name user-name --policy-arn arn:aws-cn:iam::<account-id>:policy/IDTGreengrassIAMPermissions
  4. Create a secret access key for the user.

    aws iam create-access-key --user-name user-name

    Store the output in a secure location. You use this information later to configure your Amazon credentials file.

Provide Amazon credentials to IDT

To allow IDT to access your Amazon credentials and submit metrics to Amazon, do the following:

  1. Store the Amazon credentials for your IAM user as environment variables or in a credentials file:

    1. To use environment variables, run the following commands.

      Linux or Unix
      export AWS_ACCESS_KEY_ID=access-key export AWS_SECRET_ACCESS_KEY=secret-access-key
      Windows Command Prompt (CMD)
      set AWS_ACCESS_KEY_ID=access-key set AWS_SECRET_ACCESS_KEY=secret-access-key
      PowerShell
      $env:AWS_ACCESS_KEY_ID="access-key" $env:AWS_SECRET_ACCESS_KEY="secret-access-key"
    2. To use the credentials file, add the following information to the ~/.aws/credentials file.

      [profile-name] aws_access_key_id=access-key aws_secret_access_key=secret-access-key
  2. Configure the auth section of the config.json file. For more information, see (Optional) Configure config.json.