Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DDSaaS: StreamNative: Crawler Integration v1.0.0 #18782

Open
wants to merge 24 commits into
base: master
Choose a base branch
from

Conversation

narendranandaniya-crest
Copy link
Contributor

What does this PR do?

This is an initial release PR of StreamNative integration including all the required assets.

Motivation

  • Crawler code for this integration has been committed in its respective repo
  • Pipeline created for this integration are available in our sandbox and would be shared separately with the required teams.
  • Samples for the pipeline review would also be shared separately with the required teams.
  • Since during the standard attribute remapping we are not preserving the source attributes as per suggested best practices, it would result in filters using these standard attributes populating the values of other integrations as well as per current Datadog behavior.

Review checklist (to be filled by reviewers)

  • Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
  • Changelog entries must be created for modifications to shipped code
  • Add the qa/skip-qa label if the PR doesn't need to be tested during QA.
  • If you need to backport this PR to another branch, you can add the backport/<branch-name> label to the PR and it will automatically open a backport PR once this one is merged


[StreamNative][1] provides an enterprise-grade messaging and event streaming platform built on Apache Pulsar. It offers scalable, real-time data streaming solutions with features like multi-tenancy, geo-replication, and seamless integration with cloud services.

The StreamNative integration collects below types of metrics:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we please get a link to the types of metrics collected?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


### Configuration

StreamNative integration requires a StreamNative account and its Client Id, Client Secret, Organization ID and Instance Name. Below are the steps to fetch these details from StreamNative console:
Copy link
Contributor

@apiazza-dd apiazza-dd Nov 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Id > ID for consistency please. Would also be great to see these formatted as code with ``. Thanks!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


#### Steps to retrieve Organization ID, Instance Name, Client Id & Client Secret

1. Login to the [StreamNative Cloud Console Account][2]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a . at the end of #1 for consistency. Thanks!


1. Login to the [StreamNative Cloud Console Account][2]
2. Go to the profile icon and select to the **Organizations** option.
3. Go into the **Organization** from which data needs to be collected in the Datadog.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the Datadog > Datadog

1. Login to the [StreamNative Cloud Console Account][2]
2. Go to the profile icon and select to the **Organizations** option.
3. Go into the **Organization** from which data needs to be collected in the Datadog.
4. Copy and save the **Organization ID** to configure in the Integration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the Integration > the Streamnative Integration Tile

2. Go to the profile icon and select to the **Organizations** option.
3. Go into the **Organization** from which data needs to be collected in the Datadog.
4. Copy and save the **Organization ID** to configure in the Integration.
5. From the **Select an Instance** section, Copy and save the **Instance Name** to configure in the Integration.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy > copy

3. Go into the **Organization** from which data needs to be collected in the Datadog.
4. Copy and save the **Organization ID** to configure in the Integration.
5. From the **Select an Instance** section, Copy and save the **Instance Name** to configure in the Integration.
6. Go to the profile icon and select the **Accounts & Accesses** tab.
Copy link
Contributor

@apiazza-dd apiazza-dd Nov 3, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Go to > "click"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

@apiazza-dd
Copy link
Contributor

Thanks for all of the updates, we're running this by our docs team and PM.

streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved
Copy link
Contributor

@jhgilbert jhgilbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apologies, I missed these capitalization tweaks the first time around.

streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved
streamnative/README.md Outdated Show resolved Hide resolved

The StreamNative integration collects and forwards the following metrics to Datadog.

1. Health

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@apiazza-dd is this where we should have the table view with all the metric names + descriptions for the public docs?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Metrics section on the public docs should reflect a table view of all the metrics collected that show up on the "Data collected" tab on the tile (from the metadata.csv)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see comment above

@apiazza-dd
Copy link
Contributor

@narendranandaniya-crest Can you please take this PR out of draft? We have reviews from all stakeholders, so once they're addressed, we're happy to approve and merge! Thanks!

@ashah-crest
Copy link

Hi @apiazza-dd , normally we follow this path where once the without Assets PR is merged we will move the Assets PR in Ready for Review State.
As we have without Assets PR in open state, we have kept this Assets PR in draft state. But considering we have the required reviews and approvals, we can move the Assets PR out of draft for merging and close the without Assets PR since everything related to non assets PR is already covered in here. CC: @dj0well

@jhgilbert
Copy link
Contributor

This looks good, thanks for all of the updates! I'll need to verify the docs build once the PR is completely finished and ready to ship, just mention me here and I'll be happy to run the final check and approve it.


[StreamNative][1] provides an enterprise-grade messaging and event streaming platform built on Apache Pulsar. It offers scalable, real-time data streaming solutions with features like multi-tenancy, geo-replication, and seamless integration with cloud services.

The StreamNative integration collects the below types of [metrics][2]:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"collects the below" > Collects the following types of metrics

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

5. Click **Download OAuth2 Key** to get the **Client ID** and **Client Secret**.


#### Add StreamNative credentials
Copy link
Contributor

@apiazza-dd apiazza-dd Nov 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add more clarity here. What do you think of the following:

1. Click the profile icon and select **Organizations**.
2. Choose the **Organization** for which data needs to be collected.
3. From the **Select an Instance** dropdown, note the **Instance Name**.

#### Get the `Client ID` and `Client Secret`:

1. Click the profile icon and navigate to the **Accounts & Accesses** tab.
2. Find the Service Account with **Admin** permissions set to **Enabled**.
   - If no Service Account exists, select **New -> Service Account** to create one, and make sure to enable the **Super Admin** option.
3. On the right side of the chosen Service Account, click the `...` button.
4. Select **Download OAuth2 Key** to obtain the **Client ID** and **Client Secret**.



### Setting Up the Integration Tile

After gathering the necessary details, add the following Stream Native credentials to the integration tile

- **Organization ID**
- **Instance Name**
- **Client ID**
- **Client Secret**

Copy link

@ashah-crest ashah-crest Nov 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @apiazza-dd, we have updated the first half including the steps to get the configuration details.
Regarding the second part from "Setting Up the Integration Tile", earlier on the similar lines we have had an discussion around this over slack with @dpoint01 ( ref ). Can you please have a look. thanks!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ashah-crest Thanks, I don't have access to that slack environment, but if @dpoint01 approved, lgtm.


[StreamNative][1] provides an enterprise-grade messaging and event streaming platform built on Apache Pulsar. It offers scalable, real-time data streaming solutions with features like multi-tenancy, geo-replication, and seamless integration with cloud services.

The StreamNative integration Collects the following types of [metrics][2]:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The StreamNative integration Collects the following types of [metrics][2]:
The StreamNative integration collects the following types of [metrics][2]:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.


#### Get StreamNative credentials

##### Log in to the [StreamNative Cloud Console Account][3].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
##### Log in to the [StreamNative Cloud Console Account][3].
Log into the [StreamNative Cloud Console Account][3].

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

steveny91
steveny91 previously approved these changes Nov 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants