# OpenTelemetry

![OpenTelemetry.svg](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602746509.svg)
OpenTelemetry is a collection of tools, APIs, and SDKs. Use it to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) to help you analyze your software’s performance and behavior.

In order to integrate OpenTelemetry with Relyance AI you will need an AWS S3 bucket to store your OpenTelemetry trace data. You will therefore need the AWS **Account ID**, **Role Name**, **External ID**, **Region Name**, and **Bucket Name**.

#### In AWS:

1. Start by creating an S3 Bucket to store your OpenTelemetry data.
    1. Login to your AWS account.
    2. Go to the AWS S3 homepage and click **Create bucket**.
    3. Choose a name for the bucket. These buckets must be globally unique, so something like `mycompany-relyance-otel-data` will be a much better choice than `otel`. (Optional) Choose an AWS Region to host your bucket in - this can help reduce latency for writes to keep the bucket close to your servers.
    4. Scroll to the bottom of the page and click **Create bucket**.

    ![OpenTelemetry-1.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602747533.png)

    ![OpenTelemetry-2.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602748301.png)

2. Create a new IAM Role:
    1. Navigate to the AWS IAM dashboard page and select **Roles** in the navigation menu on the left.
    2. Click **Create role**.
    3. Enter provided Relyance’s AWS Account ID and External ID.  Enter Account ID: **580082088342** (This is the Relyance’s account ID that will be used to do the connection to your account using *assumeRole*). Also select **Require external ID** and choose an **External ID** string. You will need this for configuring the integration later, but can be whatever you want. A simple solution could be something like `mycompany-relyance`.
    4. Click **Create Policy** to grant custom permissions (with the json provided below, replacing `yourBucketName` with the name of the bucket you created previously).

    ![OpenTelemetry-3.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602749965.png)

    ![OpenTelemetry-5.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602753677.png)

    ![OpenTelemetry-6.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602758669.png)

JSON Policy:
```json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"
      ],
      "Resource": "arn:aws:s3:::<yourBucketName>"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion"
      ],
      "Resource": "arn:aws:s3:::<yourBucketName>/*"
    }
  ]
}
```
5. Fill in the **Role Name** and **Description** and scroll to the bottom of the page and click **Create role**.
6. The newly created role in your AWS account would look like as shown below:
7. Go to the **Trust Relationships** tab on the newly created role.
8. Click on the **Edit Trust policy.**
9. Change the section:
```json
"Principal": {
  "AWS": "arn:aws:iam::580082088342:root"
},
```
**to**
```json
"Principal": {
  "AWS": "arn:aws:iam::580082088342:user/tenant-prod-access"
},
```
3. Grant this Role the permission to **ListMetrics** and **GetMetricsData**.
4. Add a Trust relationship for the role to be accessed by using the provided Relyance AWS account ID, IAM User Name, and External ID.
5. Make note of the following AWS details:
    - **account-id**
    - **role-name**
    - **external-id**
    - **region-name**
    - **bucket-name**

    ![OpenTelemetry-7.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789634038669.png)

    ![OpenTelemetry-8.png](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602763021.png)

#### In the Relyance AI application:

1. Login to your Relyance AI account.
2. Navigate to the **Settings** (bottom-left corner).
3. Select **Integrations**.
4. Search and locate the **OpenTelemetry** integration card and click on it.
5. Click on the **Add Connection** button on the top right.
6. Provide a meaningful name for the integration and click on the **Add** button.
7. In the **Overview** section, select the integration features you wish to enable for the integration, review the **Scope and Permission**, and **Endpoint** details and click on **Continue**. For more details, see [Integration Features](/docs/introduction-to-relyance-ai/integration-features/).
8. In the **Connection** section, provide the appropriate values and click on **Continue**,
    - **Connection Name**: This property allows you to update the integration specified in Step 6. If you have multiple integrations for the same vendor, you may want to assign distinct names to each. This helps streamline filtering by **Discovery Source** across the **Inventory**, **Visual** **Maps**, **Assets**, and **Data Flow Analysis** pages.
    - **Rescan Frequency**: This property allows you to configure how often Relyance executes scans against this Vendor connection.
    - **Business Atlas Associations** (required): the business entities or products that newly discovered third parties, services and assets from this integration are attributed to. Choose at least one from the **Select Associations** dropdown — the wizard will not advance past this step without one. For more details, see [Business Atlas](/docs/other-settings/business-atlas-overview/).
9. In the **Authentication** section, Please choose the authentication method **as below** and fill the Account details retrieved from the **In AWS** section and click on **Continue.**
10. Review the configuration summary from the **Completion** section and click on **Finish.**
11. Confirm the integration Status reflects **Connected.**

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602764301.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602768909.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602770701.png)

![Screenshot](https://assets.relyanceuat.xyz/images/docs/34789634060941/34789602772749.png)
