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

TI Recipe: Ensure each production component has at least one Datadog SLO #1072

Merged

Conversation

@shortcut-integration
Copy link

Before you begin, make sure you have the following:

- A Datadog account: Sign up for a Datadog account if you don't have one already.
- Access to your system's components: Ensure you have the necessary permissions to access the components you want to track.
Copy link
Member

Choose a reason for hiding this comment

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

It's not totally clear to me what this means. Do I need access to the Backstage components, or the Datadog "services"? Maybe explain why we're going to need the access. That will make it more clear.

- Access to your system's components: Ensure you have the necessary permissions to access the components you want to track.
- Defined SLOs in at least one of the components.

With Roadie’s Tech Insights feature, there’s an easier way. In this tutorial, we’re going to:
Copy link
Member

Choose a reason for hiding this comment

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

This is slightly different content than the "Prerequisites". I'd recommend splitting this out into it's own section called "What you'll learn"


![Data Source Listing](./datasources_list.png)

2. You may need to wait some time for the data source to collect all SLOs and Monitors from Datadog. It must contact the Datadog APIs for each component which is captured by the already set filter.
Copy link
Member

Choose a reason for hiding this comment

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

We're missing a step here I think. Don't we need to teach the user how to set the annotations on some components so that this DS will work?

Copy link
Contributor

@jorgelainfiesta jorgelainfiesta left a comment

Choose a reason for hiding this comment

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

Great tutorial! Left a few comments that can help improve clarity for the reader if they're not already familiar with Tech Insights.


### **What you'll learn**

With Roadie's Tech Insights feature, there's an easier way. In this tutorial, we’re going to:
Copy link
Contributor

Choose a reason for hiding this comment

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

What is this "easier than" referring to?


In order to collect the Datadog SLO count from each component, the Datadog integration needs to be set up on Roadie. To do that, follow these steps:

### Administration → Settings → Datadog
Copy link
Contributor

Choose a reason for hiding this comment

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

I think steps should be formatted as a numbered list, as you do in the following section.


![Data Source Listing](./datasources_list.png)

2. You may need to wait some time for the data source to collect all SLOs and Monitors from Datadog. It must contact the Datadog APIs for each component, which is captured by the already set filter.
Copy link
Contributor

Choose a reason for hiding this comment

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

Might be useful to add more details on what this filter is about (who sets it, when, can it be changed).


![Data Source Visualization](./datasource_graph.png)

This chart tells us:
Copy link
Contributor

Choose a reason for hiding this comment

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

You've been using "you" as a subject throughout most of the article. It's better not to change it to "us" now, but keep it all consistent. The case of "our data source" a bit before this paragraph is also confusing: does it refer to the data source usage you described just now or to Roadie's implementation

2. 33% of the Components that this Data Source targets have 2 SLOs defined and configured.
3. 33% of the Components that this Data Source targets have no SLOs configured.

In the next section, we will create a Check that can show a pass or fail result to app dev teams to tell them if they are missing any component that doesn’t have an SLO defined.
Copy link
Contributor

Choose a reason for hiding this comment

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

Considering re-phrasing this sentence, perhaps splitting it into two sentences? I'm not quite sure about what you want to say exactly


## Create a check that shows which software doesn’t have an SLO defined and configured

Now that we can determine which components are using Dockerfiles, and we can extract the base image version from those files, let’s write a check to combine both of these properties.
Copy link
Contributor

Choose a reason for hiding this comment

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

When did Dockerfiles come into play?


![Create a Check](./create_check.png)

3. In the Conditions section, we’re going to create a condition that compares against the Datadog Slo facts retrieved from the data source.
Copy link
Contributor

Choose a reason for hiding this comment

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

I think the notion of a 'fact' is rather blurry as it wasn't introduced earlier. Might be useful to refer to the results of the Data Source as 'facts' in the previous section

Copy link
Contributor

@jorgelainfiesta jorgelainfiesta left a comment

Choose a reason for hiding this comment

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

Looks great, left some suggestions on formatting

content/docs/tech-insights/track-datadog-slos/index.md Outdated Show resolved Hide resolved
content/docs/tech-insights/track-datadog-slos/index.md Outdated Show resolved Hide resolved
JoaoMartins51 and others added 2 commits August 2, 2023 18:25
Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>
Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>
@sonarcloud
Copy link

sonarcloud bot commented Aug 2, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
No Duplication information No Duplication information

@JoaoMartins51 JoaoMartins51 merged commit ce15527 into main Aug 3, 2023
7 checks passed
@JoaoMartins51 JoaoMartins51 deleted the sc-15890-write-ti-tutorial-ensure-each-production branch August 3, 2023 08:06
dtuite pushed a commit that referenced this pull request Aug 17, 2023
…SLO (#1072)

* added recipe docs

* punctuation fix

* requested changes

* requested changes

* Update content/docs/tech-insights/track-datadog-slos/index.md

Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>

* Update content/docs/tech-insights/track-datadog-slos/index.md

Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>

---------

Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants