Skip to main content

Getting started with Nobl9

Reading time: 0 minute(s) (0 words)

Welcome, and thank you for choosing Nobl9. The Getting started guide shows you how to start using the Nobl9 platform. You’ll learn to access your account, connect to metrics, and create your first service level objective (SLO).

SLO objective unique identifier

An SLO objective unique identifier allows using the same value for different SLIs within one SLO. So, the name identifier must be added to each SLO objective to ensure uniqueness in error budget calculations.

Setting up a user account

As a Nobl9 user, you will receive an invitation email with an activation link. To set up your Nobl9 account:

  1. Open the Nobl9 user invitation sent to your email.

  2. Click the link to accept the invitation and follow the instructions to create your account.
    Once all set, you're redirected to your Nobl9 account page.

tip

If you were invited to Nobl9 and did not receive an invitation email, contact Nobl9 support.

Logging in to the Nobl9 UI

Follow these steps to log in to the Nobl9 web user interface (UI):

  1. Go to the Nobl9 App in your browser.

  2. Enter your email address and the password you submitted during your account setup, or click Login with Google if you have a single sign-on (SSO) account.

    To reset or change the password, click Need Help Signing In? > Forgot Password?. Then follow the instructions provided in the Reset password form.

Image 1: Password reset
  1. Set your default organization. For this, do the following:

    1. Go to Settings > Account.
    2. Under the Personal Information section, click Edit within the Default Organization line.
      The list of available organizations opens.
    3. Select the required organization. Click Set as Default.

    Once the default organization is set, you land this organization every time when the org parameter isn't specified.

Image 2: Default organization setup
tip

If you have access to only one organization, this organization is selected for you as default, and you cannot modify it.

Access keys

Nobl9 access keys are required to sign programmatic requests to Nobl9—for example, to use sloctl.

Up two keys per organization allowed

You can disable a key to suspend signing requests with it and reactivate it later. Inactive keys still count towards the total number of keys per organization.
Also, you can delete the key. Deleted keys are erased permanently in the system. You cannot go back with it, so any requests relying on that key will fail until updated with an active key.

To create an access key in the Nobl9 UI, do the following:

  1. Log in to Nobl9 UI.

  2. Go to Settings > Access Keys. Click Create Access Key.

    Image 3: Access key creation

    Result: Your access key is created. It consists of the unique Client ID and Client Secret values and the Organization name as the authorization context.

  3. You can add the Description to identify this key in the list and copy all the generated values along with the sloctl command.

  4. Save the Client Secret value since it's displayed only once.
    Alternatively, you can retrieve the client_id and client_secret values later with sloctl.

Image 4: Access key created
  1. Click OK to close the dialog.

Adding a data source: direct vs. agent

Data sources aggregate data for your services. Nobl9 allows you to have multiple data sources defined for each service. You can set up data collection using either Direct or Agent connection method:

  • Use the Direct method if you want Nobl9 to access your server by connecting directly.
    This method requires opening the port your data source is running on for Nobl9 to connect. Also, users must enter their authentication credentials (API key, token, etc.) to add a data source. User data is encrypted and safely stored in Nobl9.
Direct connection and trusted IPs

You can still connect a data source even if your company's firewall blocks outbound connections. For this, in addition to opening a port, list Nobl9 IP addresses as trusted.

IP addresses to add to your allowlist:
  • 18.159.114.21
  • 18.158.132.186
  • 3.64.154.26
Applies to app.nobl9.com only. In all other cases, contact Nobl9 support.
  • Use the Agent configuration to run the agent alongside your server.
    You don't need to expose your server to Nobl9 directly; the agent will periodically connect to Nobl9.
    For this method, users pass their credentials to launch the agent. Nobl9 doesn't store these credentials. Additionally, you have access to the agent's logs for easier troubleshooting.
    For this reason, we recommend the agent method for your first connection to a data source.

Resources in Nobl9

Nobl9 provides a variety of resources you can create and manage, among others:

  • Projects, services, data sources, SLOs, alert policies, alert methods, and role bindings.

Here, you can find an overview of the different resources available in the Nobl9 platform.

The following diagram shows five easy steps that may help you get started with Nobl9:

Image 5: Steps to get started with Nobl9
note

You can also configure Nobl9 resources in the yaml format. Refer to the YAML Guide to see how Nobl9 resource configuration is represented in the sloctl API.

If you describe infrastructure as code, you can define the Nobl9 resources with the same convention. You can find more details in our Terraform documentation.

Projects

Projects are the primary logical grouping of resources in the Nobl9 platform. All Nobl9 resources, such as data sources, SLOs, and alerts, are created within a project.

Access controls at the project level let users control who can see and change these resources. For example, you can allow all your users to view the SLOs in a given project, but only a few can make changes.

Before you can start creating SLOs, you must create a project to put them in. Follow these steps to create a project:

  1. Go to Catalog > Projects.

  2. Click .
  3. Enter a Display Name.
    You can enter a user-friendly name with spaces in this field.
  4. Enter a Name.
    The name is mandatory and can only contain lowercase, alphanumeric characters, and dashes (for example, my-project-1). Nobl9 duplicates the display name here, transforming it into the supported format, but you can edit the result.
  5. Select or add Labels.
    Labels have a specific format and must conform to the following rules:
    • key: value format
    • key can contain only lowercase alphanumeric characters, underscores, and dashes; must start with a letter and end with an alphanumeric character; maximum length 63 characters
    • value can contain Unicode characters; maximum length 200 characters
    • Maximum of 20 labels attached
  6. Enter a Description.
    Here you can add details such as who is responsible for the integration (team/owner) and the purpose of creating it.
  7. Click Create Project.
caution

You can't move your existing SLOs between projects without losing your SLO's historical data.

For more details, refer to the Editing SLOs guide.

Services

Services in Nobl9 are organized under projects. A service can represent a logical service endpoint like an internal or external API, a database, or anything else you care about setting an SLO for, such as a user journey. Put differently, a service in the Nobl9 platform is something that you want to test for reliability.

A service may also include other services. For example, in a service desk application, one service might create a new ticket. That service might rely on a user service, a queue, a notification service, and a database service, all of which could be defined as additional services in Nobl9.

Follow these steps to add a service in the Nobl9 UI:

  1. Go to Catalog > Services.
  2. Click .
  3. Select a Project.
    Specifying a project is helpful when multiple users are spread across multiple teams or projects. When the Project field is left blank, Nobl9 uses the default project.
  4. Enter a Display Name.
    You can enter a user-friendly name with spaces in this field.
  5. Enter a Name.
    The name is mandatory and can only contain lowercase, alphanumeric characters, and dashes (for example, my-project-1). Nobl9 duplicates the display name here, transforming it into the supported format, but you can edit the result.
  6. Select or add Labels.
    Labels have a specific format and must conform to the following rules:
    • key: value format
    • key can contain only lowercase alphanumeric characters, underscores, and dashes; must start with a letter and end with an alphanumeric character; maximum length 63 characters
    • value can contain Unicode characters; maximum length 200 characters
    • Maximum of 20 labels attached
  7. Enter a Description.
    Here you can add details such as who is responsible for the integration (team/owner) and the purpose of creating it.
  8. Click Create Service.
tip

A service can have one or more SLOs defined for it. Every SLO created in Nobl9 must be tied to a service.

Data sources

Data sources aggregate data for your services. Nobl9 allows you to have more than one data source defined for each of your services. Using the Agent or the Direct connection method, you can configure Nobl9 to connect to these to collect the service data real-time. For more detailed information, refer to the Establishing Connection with Nobl9 section.

Follow these steps to define your data source in the UI:

  1. Go to the Integrations tab.

  2. Click .
  3. Select the required source from the list.

    Image 6: Data source selection
  4. Select the connection method—either agent or direct.

As each data source has its specific configuration, refer to the Sources section in the Nobl9 Documentation for more details.

Service level objectives

With a service and its data sources configured, you can define the thresholds for service level indicators. Together with a time window, these create a unique SLO.

SLOs allow you to define the reliability of your products and services in terms of customer expectations. You can create SLOs for user journeys, internal services, or infrastructure. For more background on SLOs, see our guide on SLO calculations.

Complete the following steps to create an SLO in the Nobl9 UI:

  1. Navigate to the Service Level Objectives page.

  2. Click the button to start the SLO wizard and follow the five-step configuration process in the wizard.

  3. In step 1, select a Service from the drop-down list to tag the service this SLO applies to.

  4. In step 2, choose a Data Source from the drop-down list. Then select a type of Metric and enter a Query:

    • A Threshold Metric is a single time series evaluated against a threshold.

    • A Ratio Metric allows you to enter two time series to compare (for example, a count of good requests and total requests).

    • Refer to the Query examples section for information on what can be queried.

    note

    Each data source has its specific configuration. You can find the integration-specific details in the Sources section in the Nobl9 Documentation.

  5. In step 3, choose a Rolling or Calendar-Aligned Time Window:

    • Rolling time windows are better for tracking the recent user experience of a service.

    • Calendar-aligned windows are best suited for SLOs that are intended to map to business metrics measured on a calendar-aligned basis, such as every calendar month or every quarter.

  6. In step 4, select the Error Budget Calculation Method.

    • Nobl9 supports two methods of calculating error budgets:
      • Occurrences method counts good attempts against the count of total attempts.
      • Time Slicesmethod measures how many good minutes were achieved (when a system operates within defined boundaries) during a time window.

See the use case example and the SLO calculations guide for more information on the error budget calculation methods.

  1. Add your SLO Objective(s).

    • You can define up to 12 objectives for an SLO. For more information, check the Composite SLOs Guide.
    tip

    If you want to use similar threshold values for different objectives in your SLO, we recommend differentiating them by setting varying decimal points for each objective.

    For example, if you want to use threshold value 1 for two objectives, set it to 1.0000001 for the first objective and to 1.0000002 for the second one. Check this guide for more details.

  2. In step 5 of the SLO wizard:

    • Enter a Display Name.
      You can enter a user-friendly name with spaces in this field.
    • Enter a Name.
      The name is mandatory and can only contain lowercase, alphanumeric characters, and dashes (for example, my-project-1). Nobl9 duplicates the display name here, transforming it into the supported format, but you can edit the result.
    • Select the Notify me on no data checkbox.
      Activate this feature if you want Nobl9 to notify you if your SLO hasn't received or received incomplete data for more than 15 minutes.

      note

      The Notify me on data feature is currently in beta and supports only the following alert methods:

      • Opsgenie

      • Slack

      For more details, refer to Anomaly Notifications.

    • Select the Create Composite SLO checkbox:

      • For the Occurrences method:

        • Specify the Target value.
        • Specify the Error Budget Burn value, meaning the condition when the Composite SLO’s error budget is burning.
      • For the Time Slices method:

        • Specify the Target value.

      tip

      For more details, check the Composite SLOs Guide.

    • Select Alert Policies from the drop-down list to configure alerts.
      For more information, refer to the Creating alert policies.

    • Select or add Labels.
      Labels have a specific format and must conform to the following rules:
      • key: value format
      • key can contain only lowercase alphanumeric characters, underscores, and dashes; must start with a letter and end with an alphanumeric character; maximum length 63 characters
      • value can contain Unicode characters; maximum length 200 characters
      • Maximum of 20 labels attached
      tip

      You can also use labels if you want units to be displayed on the SLI graph in the SLO Details tab. To do so, enter the unit key and its value, for example, unit: ms. For more details, check the Labels guide.

    • Attach a Link to your SLO (optional).
      You can add up to 20 links to an SLO.

      • Enter a Display Name for the title of the link.
        Display Name can contain max. 63 characters. The URL is used as a link title when the Display Name field is empty.

      • Enter a URL.
        For example, https://www.google.com/search?q=slo

    • Enter a Description.
      Here you can add details such as who is responsible for the integration (team/owner) and the purpose of creating it.
  3. Click .
note

After you create an SLO in Nobl9 UI, you can also see an automatically generated YAML configuration for that SLO. To do so, open the SLO Details view and click the View YAML button to see the configuration modal.

Query examples

The following are some examples of what can be queried:

DescriptionResult
Web service or APIHTTPS responses with 2xx and 3xx status codes.
In a queue consumerSuccessful processing of a message.
In a serverless and function-based architecturesSuccessful completion of an invocation.
In a batchNormal exit (for example, rc == 0) of the driving process or script.
In a browser applicationCompletion of a user action without yamlScript errors.
tip

Be sure to check out the Use Case of SLO Configuration to walk through creating an SLO for a sample service using sloctl.

Alert policies

Once you have created your SLO, you can configure an alert policy and alert method for it. An alert policy expresses a set of defined conditions you want to track or monitor. The conditions for an alert policy define what is monitored and when to activate an alert: when the performance of your service is declining, Nobl9 will send a notification to a predefined channel.

note

Alerting conditions are connected by AND logic. All conditions must be met to trigger the alert for such alert policy.

Alerts in Nobl9 can be sent to several different tools, including PagerDuty, MS Teams, Slack, Discord, Jira, Opsgenie, and ServiceNow. Email alerts are also supported, and you can use webhooks to send alerts to any service with a REST API, such as FireHydrant, Asana, xMatters, and many more.

note

For more detailed information on alert methods, refer to the Alert method section of the documentation.

Follow these steps to set up an alert policy in the web UI:

  1. Navigate to the Alerts page.

  2. Click the button to start the Alert policy wizard, and follow the configuration process in the wizard.

  3. In step 1:

    1. Define your Alerting Conditions by selecting one or more boxes and choosing your parameters. You can set a maximum of three alerting conditions; create another alert policy if you want to set more than three. Each condition type has a corresponding measurement that will be used to check the alerting criteria.

      • The Average error budget burn rate uses averageBurnRate measurement when verifying alerting conditions. This condition measures how fast the error budget is disappearing.

      • The Remaining error budget is the amount left from the error budget set in the SLO. It uses burnedBudget measurement when verifying alerting conditions.

      • The Entire error budget would be exhausted. In this variant, the current value of the remaining budget doesn't affect the calculation logic. The exhaustion prediction is based on the entire error budget allocation and how fast you burn it. It uses timeToBurnEntireBudget measurement when verifying alerting conditions.

      • The Remaining error budget would be exhausted lets you know if your service needs attention based on how much error budget you have left and how fast you are burning it. It uses timeToBurnBudget measurement when verifying alerting conditions.

    2. Set the measurement Value that must be met to meet the criteria. This value’s unit depends on the condition type defined above (and the measurement itself).

    3. Define the Lasts for value, which allows configuring how long the measurement has to stay under the criteria to trigger the alert. If you want to be alerted instantly when the condition is met, set this value to 0.

    caution

    Remember that defining very long Lasts for value (such as 6h) for some condition, ex. > 2x would imply that the averageBurnRate has to stay above 2x for the whole six-hour duration. If there’s a single minute of burn rate lower than 2x, the alert won’t fire.

    1. Define a Cooldown period for your alert policy.
Image 7: Alert policy setup step 1
tip

You can add up to three conditions per alert policy.

  1. In step 2:
    • Select a Project, then enter a Display name (optional) and a Name for the alert (this field is mandatory and will be filled in automatically if you provide a display name).

    • Enter a description (optional) and set the Severity to one of the following:

      • High: A critical incident with a very high impact.

      • Medium: A major incident with a significant impact.

      • Low: A minor incident with low impact.

  • Select or add Labels.
    Labels have a specific format and must conform to the following rules:
    • key: value format
    • key can contain only lowercase alphanumeric characters, underscores, and dashes; must start with a letter and end with an alphanumeric character; maximum length 63 characters
    • value can contain Unicode characters; maximum length 200 characters
    • Maximum of 20 labels attached

    The added labels will be sent along with the alert notification when the policy’s conditions are met.

Image 8: Alert policy setup step 2
  1. In step 3, select from the list menu an alert method you want to attach to your alert policy. To attach an alert method, you must first configure it:
    • In the Integrations > Alert Methods tab in the UI
    • via sloctl
Image 9: Alert policy setup step 3

Role-based access control

Nobl9 supports role-based access control (RBAC) to ensure granular user permissions and access to resources in the Nobl9 platform.

There are two levels of permissions, Organization and Project:

  • Organization roles ensure access across the Nobl9 platform. Users can be assigned the Organization Admin, User, Integrations User, Viewer, or Responder role depending on the desired access rights.

  • Project roles entitle users to access a project and its underlying resources, such as services or SLOs. Project-level roles include Project Owner, Editor, Viewer, and Integrations User.

Getting started with sloctl

Now that you've set up your first SLO and attached an alert policy to it, you can install our CLI, sloctl.

tip

For detailed instructions on installing, configuring, and using sloctl, refer to the sloctl user guide.

Check sloctl user guide and YAML Guide for details on creating and modifying Nobl9 resources through sloctl.

Prerequisites

To ensure a great onboarding experience with sloctl:

  1. Use a Mac, Linux, or Windows machine to run sloctl.
    The Nobl9 command-line utility makes creating and updating many SLOs at once easy. See sloctl user guide for more details.

  2. Select a Kubernetes cluster or any Docker environment—or use a Docker environment on your local machine—to run the Nobl9 Agent.
    The Nobl9 Agent collects service level indicator (SLI) metrics from your existing metrics systems, such as Datadog, New Relic, or Prometheus.

  3. Verify that you received an email from Nobl9 with a link to set up your user account.

Setting up sloctl

The command-line interface (CLI) for Nobl9 is named sloctl. You can use the sloctl CLI to create or update multiple SLOs simultaneously, create or update numerous thresholds, or update SLOs as part of continuous integration/continuous delivery (CI/CD).

The web user interface is available to give you an easy way to create and update SLOs and to familiarize you with the features available in Nobl9. At the same time, sloctl aims to provide a systematic and automated approach to maintaining SLOs as code.

tip

Be sure to check out the Use Case of SLO Configuration to walk through creating an SLO for a sample service using sloctl.