-
Notifications
You must be signed in to change notification settings - Fork 32
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
TI Recipe: Ensure each production component has at least one Datadog SLO #1072
Conversation
This pull request has been linked to Shortcut Story #15890: Write TI Tutorial: Ensure each production component has at least one Datadog SLO. |
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. |
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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?
There was a problem hiding this 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: |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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: |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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
There was a problem hiding this 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
Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>
Co-authored-by: Jorge Lainfiesta <jorgelainfiesta@users.noreply.github.com>
Kudos, SonarCloud Quality Gate passed! |
…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>
https://app.shortcut.com/larder/story/15890/write-ti-tutorial-ensure-each-production-component-has-at-least-one-datadog-slo
Preview: https://deploy-preview-1072--roadie.netlify.app/docs/tech-insights/track-datadog-slos/