Component Detection

Learn how OpsLevel makes it easy to populate your software catalog.

This guide will walk you through how you can automatically populate your software catalog using OpsLevel's integrations; however, there are many ways to populate and maintain your catalog in OpsLevel:

Detecting Components from Integrations

When you add a new Git, Alert Source, Deploy, or Custom Event Check integration, OpsLevel will recommend components automatically. Git repositories will be scanned and components will be inferred from the contents. Datadog monitors and components from Pagerduty, New Relic and OpsGenie will generate recommendations.

When we receive payloads from Deploy and Custom Event Check Integrations we will also recommend components from the aliases we find. For all of these integrations, if there is no exact alias match in the component catalog, we will attempt to find a close match for an existing component in the catalog and recommend we Merge the sources onto the component. Otherwise, we'll recommend you Register a new component and attach the sources to the new service.

When new components are detected, the Component Show page will include a badge on the Detected Components button.

Detected Services button

Detected Components button

You can also go directly to the page from the Catalog > Detected Components item in the navigation menu. Once on the Detected Components page, you will see a list of Pending Components that OpsLevel has detected from your repositories and alert sources. From this list, you can see the Component alias identified during the detection process, where the component was detected from, and when the component was detected. When more than one repository or alert source suggestion identifies a service with the same component alias, they will be merged into a single suggestion. You can use the + expand button to see each of the repositories, alert sources, and events that support this Detected Component.

Detected Services tab

Detected Component tab

Review the suggestions and make any changes to the action or component name. The actions are:

  • Register - Make a new component and attach the associated sources.
  • Merge - Attach the sources to the existing component .

If you see a Recommended Component or Components you do not want to be added to your Components Catalog, you can ignore them by selecting the Component(s) and clicking Ignore from either the Actions column or the Bulk Actions dropdown.

Ownership Suggestions

OpsLevel also helps you by providing suggestions for teams that might own your component. For each of the suggestions that are populated from repositories, OpsLevel will pull the recent commit history looking for contributors. If any contributors match existing users in OpsLevel, the teams they are members of will be automatically suggested to you.

Selecting a suggested owner when accepting services

Selecting a suggested owner when accepting components

If multiple contributors are found, we'll aggregate their contributions together so you can see them at a glance. Hover over the icon next to a suggested owner and it will show you a breakdown of contributions that roll up into the team.

A breakdown of the users in OpsLevel who have committed to this repository

A breakdown of the users in OpsLevel who have committed to this repository

If you wish to re-assign a suggestion to another team, simply select it from the dropdown menu and it will be re-assigned. Members of that team will now see the component recommended to them.

Re-assigning a service to the "Frontend" team

Re-assigning a component to the "Frontend" team

Personalized Ownership Suggestions

As your organization grows and continues to build new components, it can be difficult for one person to manage the catalog and keep it up-to-date. To help decentralize the workload of accepting and verifying new components, OpsLevel provides a curated view of the Component Suggestions relevant to each user. This can be found within our main navigation bar under "Detected Components"

Where to find a user's personalized "Detected Services"

Where to find a user's personalized "Detected Components"

Upon opening the drawer, you'll see a personalized view of the Component Suggestions relevant to you based upon the teams that you are a member of. From here, you can accept the component and it will be added to the catalog.

A list of personalized service suggestions

A list of personalized component suggestions

If for some reason, you're not the owner of the component suggested to you, you can select "This is not my component" and easily re-assign the suggestion to another team.

Re-assigning a Service Suggestion to another team

Re-assigning a Component Suggestion to another team

Disabling Personalized Ownership Suggestion

Personalized ownership suggestions can be disabled through the Feature Management section in your Account Settings. Simply toggle off the Enable Detected Components Task Drawer feature and the personalized drawer will be hidden from view for all users.

Toggling the "Personalized Ownership Suggestion" feature

Toggling the "Personalized Ownership Suggestion" feature

Email Notifications for Component Detection

Leveraging ownership detection as a source, OpsLevel has the ability to send emails that drive component ownership. Once toggled on, OpsLevel will email users if they have component suggestions recommended to them. This email has the following targeting rules:

  • Email the team through it's default email contact if one exists
  • If the team has no default contact, fallback to emailing the team's manager
  • If the team has no manager, fallback to emailing each member of the team individually

To avoid being too noisy, an email will be delivered, at most, once a day.

Here is a sample of the email that is delivered:

Sample "Service recommendation" email

Sample "Component recommendation" email

You can toggle the notification in the Account Settings under Notification Preferences

Toggling the "Service Recommendation Reminders" from "Notification Preferences"

Toggling the "Component Recommendation Reminders" from "Notification Preferences"

Auditing and Unignoring Detected Components

Any action you take is recorded to help you audit events created from suggestions in the Recent Activities tab.

Recent Activities list

Recent Activities list

If you've accidentally ignored a Recommended Component, you can add them back to the Pending Components list. Selecting Ignored from the Status dropdown will display all of the Recommended Components set to Ignore. You can add these Components back to the Pending Components list by selecting the Component(s) and clicking Unignore from either the Actions column or the Bulk Actions dropdown.

Unignore Service Recommendation

Unignore Component Recommendation

Configuring Component Detection

Disabling Detected Components

Component Detection is enabled by default for Datadog and Git Integrations, but it can be disabled from the integration's setup page. On the Integration page, there is a Disable component detection button within the Component Detection card. Clicking this button will pause component recommendations for that integration and remove existing recommendations from the Component Detection page. If, at a later time, you want to resume receiving Component Recommendations, you can do so by clicking the Enable component detection button. Re-enabling Component Detection will also bring back any recommendations removed when disabling.

Service Detection Card

Disable Component Detection

Managing Integration Ignore Rules

To allow you to tailor Component Detection for your unique data and needs, you can create a list of regular expressions that OpsLevel will use to reject component suggestions automatically. Each integration that is enabled with Component Detection has its own list of rules. To modify your list, navigate to the Integration page and scroll to the Component Detection card.

Add Ignore Rules to automatically discard suggestions if the resulting service alias matches one or more regular expressions

Add Ignore Rules to automatically discard suggestions if the resulting component alias matches one or more regular expressions.

When a Component is detected from that integration, we identify a component alias for the resulting suggestion. If that component alias matches any of the ignore rules defined for that integration, then the Component suggestion will not be created. When a new rule is added, the rules will be applied to existing suggestions, and any matches will be removed.

To add new ignore rules:

  1. Press the + Add Rule button
  2. Enter a value
  3. Repeat steps 1 and 2 for all desired rules
  4. Press the Save Rules button.

To remove an ignore rule:

  1. Press the Delete button next to the rule you wish to remove
  2. Press the Save Rules button.

Note: We use a case insensitive match for regular expressions.