Skip to main content

Getting Started with Nobl9

Welcome, and thank you for choosing Nobl9. This 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).

info

SLO Objective Unique Identifier - Grace Period Announcement

Nobl9 is introducing an SLO objective unique identifier to support the same value for different SLIs in the same SLO. As such, Nobl9 is adding a name identifier to each SLO objective to enable uniqueness in error budget calculations. For more detailed information, refer to the SLO Objective Unique Identifier documentation.

Setting Up 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. A confirmation page will appear asking you to return to the login screen.

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) using your credentials:

  1. Go to the Nobl9 App in your browser.

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

tip

If you want to reset your password or to change it for security reasons, go to the Forgot password page and follow the provided instructions.

Establishing Connection with Nobl9

Data sources aggregate data for your services. Nobl9 allows you to have more than one data source defined for each of your services. You can run data collection using either Direct or Agent connection method:

  • Use the Direct method if you want Nobl9 to access your server by connecting directly over the internet. This method may be less secure as you will need to open the port the data source is running on for Nobl9 to connect.

  • Use the Agent configuration if you want to run an Agent alongside your server. You will not need to directly expose your server to Nobl9; the Agent will periodically connect to Nobl9 using an outbound connection.

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 types of resources available in the Nobl9 platform.

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

Image 1: 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 enable users to control who can see and change these resources. For example, you can allow all of your users to view the SLOs in a given project, but only a few users to make changes.

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

  1. Go to Catalog > Projects.

  2. Click the button.
  3. Enter a Display Name.
    You can enter a 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-name). This field is populated automatically when you enter a display name, 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 the Create Project button.
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 the button.
  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 then object is assigned to project default.
  4. Enter a Display Name.
    You can enter a 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-name). This field is populated automatically when you enter a display name, 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 the Create Service button.
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.

You can configure Nobl9 to connect to these to collect the service data in real-time by using the Agent or the Direct connection method. For more detailed information, go back 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 the button.
  3. Select the relevant source from the list.

  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 even 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).

    For information on of what can be queried, refer to the Query Examples section.

    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 that are 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 Slices method measures how many good minutes were achieved (minutes where a system is operating within defined boundaries) during a time window.

      For more information on the Error Budget Calculation Methods, see the use case example and the SLO Calculations guide.

  7. Add your SLO Objective(s).

    • You can define up to 12 objectives for an SLO. For more information, check the Composite SLOs Guide.
  8. In step 5 of the SLO wizard:

    • Enter a Display Name.
      You can enter a 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-name). This field is populated automatically when you enter a display name, but you can edit the result.
    • 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 | Nobl9 Documentation.

    • 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

      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.
  9. Click the button.
tip

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

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.

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 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.

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 that has 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 Alerts Policy wizard, and follow the configuration process in the wizard.

  3. In step 1:

    1. Define your Alert Conditions by selecting one or more of the boxes and choosing your parameters. You can set a maximum of three alert conditions; create another alert policy if you want to set more than three. A defined alert condition monitors the behavior and volatility of a data source:

      • The Error budget relies on the targets set in your service level agreement (SLA) and SLOs. Error budgets measure the maximum amount of time a system can fail without repercussions.

      • The Remaining error budget is the amount left from the error budget set in the SLO.

      • The Error budget burn rate measures how fast the error budget is disappearing. The numbers here must match the numbers in the error budget (i.e., in the SLO, or in the error budget condition defined above).

    2. Define a Cooldown period for your Alert Policy:

      • Cooldown period value is mandatory, and it must be an integer value greater than or equal to 5 minutes.

      • The default value is 5 minutes.

      • You can choose between 3 types of units (hours, minutes, seconds).

      • When the cooldown value is saved by the YAML file and has a value with a few units (e.g., 5m30s), it will be displayed with one unit (e.g., 330 seconds) in the UI.

  4. 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.

  1. In step 3, select the box to set up a Webhook. Set up the integration in YAML, using sloctl to apply the changes. The webhook integration will then be available in the Alert wizard in the web UI.

Role-Based Access Control

Nobl9 supports Role-Based Access Control (RBAC) to enable granular user permissions and access to resources in the Nobl9 platform.

There are two levels of permissions, the organization level and the project level:

  • Organization roles enable access across the Nobl9 platform. Depending on the desired access rights, users can be assigned the Organization Admin, User, or Viewer role.

  • Project roles enable 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.

For more detailed information, refer to the RBAC section of the documentation.

Getting Started with sloctl

Now that you've set up your first SLO and attached an Alert Policy to it, you can install our Command Line Interface, 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 how to create and modify 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 it easy to create and update many SLOs at once. 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 for creating or updating multiple SLOs at once, creating or updating multiple thresholds, or updating 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, while sloctl aims to provide a systematic and/or 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.