Service 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 services via integrations as outlined in this guide
- Using our kubernetes syncing tool
- Using a config-as-code approach via opslevel.yml files stored in your repo
- Directly using our Terraform provider, GraphQL API or CLI tool
Detecting Services from Integrations
When you add a new Git, Alert Source, Deploy, or Custom Event Check integration, OpsLevel will recommend services automatically. Git repositories will be scanned and services will be inferred from the contents. Datadog monitors and services from Pagerduty, New Relic and OpsGenie will generate recommendations.
When we receive payloads from Deploy and Custom Event Check Integrations we will also recommend services from the aliases we find. For all of these integrations, if there is no exact alias match in the service catalog, we will attempt to find a close match for an existing service in the catalog and recommend we Merge
the sources onto the service. Otherwise, we'll recommend you Register
a new service and attach the sources to the new service.
When new services are detected, the Service Show page will include a badge on the Detected Services button.
You can also go directly to the page from the Catalog > Detected Services item in the navigation menu. Once on the Detected Services page, you will see a list of Pending Services that OpsLevel has detected from your repositories and alert sources. From this list, you can see the Service alias identified during the detection process, where the Service was detected from, and when the Service was detected. When more than one repository or alert source suggestion identifies a service with the same service 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 Service.
Review the suggestions and make any changes to the action or service name. The actions are:
Register
- Make a new service and attach the associated sources.Merge
- Attach the sources to the existing service .
If you see a Recommended Service or Services you do not want to be added to your Service Catalog, you can ignore them by selecting the Service(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 service. 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.
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.
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 service recommended to them.
Personalized Ownership Suggestions
As your organization grows and continues to build new services, 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 services, OpsLevel provides a curated view of the Service Suggestions relevant to each user. This can be found within our main navigation bar under "Detected Services"
Upon opening the drawer, you'll see a personalized view of the Service Suggestions relevant to you based upon the teams that you are a member of. From here, you can accept the service and it will be added to the catalog.
If for some reason, you're not the owner of the service suggested to you, you can select "This is not my service" and easily re-assign the 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 Services Task Drawer feature and the personalized drawer will be hidden from view for all users.
Email Notifications for Service Detection
Leveraging ownership detection as a source, OpsLevel has the ability to send emails that drive service ownership. Once toggled on, OpsLevel will email users if they have service 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:
You can toggle the notification in the Account Settings under Notification Preferences
Auditing and Unignoring Detected Services
Any action you take is recorded to help you audit events created from suggestions in the Recent Activities tab.
If you've accidentally ignored a Recommended Service, you can add them back to the Pending Services list. Selecting Ignored from the Status dropdown will display all of the Recommended Services set to Ignore. You can add these Services back to the Pending Services list by selecting the Service(s) and clicking Unignore
from either the Actions column or the Bulk Actions dropdown.
Configuring Service Detection
Disabling Detected Services
Service 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 service detection button within the Service Detection card. Clicking this button will pause service recommendations for that integration and remove existing recommendations from the Service Detection page. If, at a later time, you want to resume receiving Service Recommendations, you can do so by clicking the Enable service detection button. Re-enabling Service Detection will also bring back any recommendations removed when disabling.
Managing Integration Ignore Rules
To allow you to tailor Service Detection for your unique data and needs, you can create a list of regular expressions that OpsLevel will use to reject service suggestions automatically. Each integration that is enabled with Service Detection has its own list of rules. To modify your list, navigate to the Integration page and scroll to the Service Detection card.
When a Service is detected from that integration, we identify a service alias for the resulting suggestion. If that service alias matches any of the ignore rules defined for that integration, then the Service 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:
- Press the + Add Rule button
- Enter a value
- Repeat steps 1 and 2 for all desired rules
- Press the Save Rules button.
To remove an ignore rule:
- Press the Delete button next to the rule you wish to remove
- Press the Save Rules button.
Note: We use a case insensitive match for regular expressions.
Updated about 2 months ago