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

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 multiple data sources defined for each service. 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. 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 to run the Agent alongside your server. You will not need to expose your server to Nobl9 directly; 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 resources available in the Nobl9 platform.

The following diagram shows five easy steps that 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 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 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. 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 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 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.

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

  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 Notify me on no data checkbox.
      Enable 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 | 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

      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.
  9. Click the button.
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 Alerts 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. averageBurnRate > 2x would imply that the averageBurnRate has to stay above 2x for the whole 6 hours duration. If there’s a single minute of burn rate lower than 2x, the Alert won’t fire.

    4. Define a Cooldown period for your Alert Policy.

tip

You can add up to 3 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.

  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

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. Users can be assigned the Organization Admin, User, or Viewer role depending on the desired access rights.

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