Monitoring Source

3 min read

Monitoring Source #

Overview

This document explains how to add a monitoring source, which is the metrics endpoint that BP Canary reads during canary analysis.

What Is a Monitoring Source? #

A Monitoring Source is an external monitoring system integrated with BuildPiper to collect and provide metrics related to application and workload performance. It enables BuildPiper to access monitoring data for workloads running on Kubernetes clusters or virtual machines.

BuildPiper integrates with existing monitoring tools, such as Prometheus, to retrieve relevant metrics and provide visibility into application health, performance and resource utilization. This data can be used for monitoring workloads, evaluating application stability and supporting analysis workflows such as canary analysis.

By configuring a Monitoring Source, teams can use their existing monitoring infrastructure within BuildPiper to make informed decisions based on application performance and stability data.

1. Adding a Monitoring Source #

To add a monitoring source, open the Monitoring Source Integration page in the User Portal. The page lists the monitoring sources that are already added.

Original source screenshot 1

Figure 1: Navigating to Monitoring Source

  1. 1

    Click your profile and select User Portal.

  2. 2

    In the left navigation, click Integration.

  3. 3

    Choose Monitoring Source.

  4. 4

    Click + ADD MONITORING SOURCE.

The Add Monitoring Source form has two modes. Select the Mode before you fill in the other fields.

Swipe horizontally to view all columns →
Mode Description
Sync BuildPiper pulls data directly from the monitoring tool in real time through a connector.
Async BuildPiper pulls data indirectly through background workers.
Original source screenshot 2

Figure 2: Add Monitoring Source (Sync mode)

Swipe horizontally to view all columns →
Field Name Mandatory Description Best Practices
Name Yes A unique name that identifies the monitoring source. Use a naming convention like [Environment]-[Tool]-[Purpose], e.g., Prod-Prometheus-CanaryMetrics.
Connector Yes The connector type that links BuildPiper to the monitoring tool. –
Authentication Type Yes The authentication method required by the connector. –
Credential Yes The credentials used to authenticate with the monitoring tool. –
URL Yes The base URL or API endpoint of the monitoring tool. Ensure this URL endpoint is accessible and has already been validated.

In Async mode, the form asks for the Name, the Type and the URL of the metrics endpoint.

Original source screenshot 3

Figure 3: Add Monitoring Source (Async mode)

Swipe horizontally to view all columns →
Field Name Mandatory Description Best Practices
Name Yes A unique name that identifies the monitoring source. Use a naming convention like [Environment]-[Tool]-[Purpose], e.g., Prod-Prometheus-CanaryMetrics.
Type Yes The step catalog type for this monitoring source. Select HTTP if you are configuring an endpoint which exposes a HTTP API to load metrics. Select MONGO if you are using you want to load data from MongoDB.
URL Yes The base URL or API endpoint of the monitoring tool. Ensure this URL endpoint is accessible and has already been validated.

After the monitoring source is added, define the metrics that are read from it in Stability Matrix. The metrics are then used in the Canary Analysis Template.

For more information, refer to the following documents.

Swipe horizontally to view all columns →
Document What It Covers
Canary Deployment Concept, pod shift rollout and canary analysis overview
Canary Setup and Pipeline System settings, canary pipeline and job configuration
Canary Approval and Rollback Failed analysis, Exceptional Approval and canary rollback
Stability Matrix Stability metrics and Stability Matrix Group
Canary Analysis Template Mapping metrics into a canary analysis template
Deployment Strategies Overview of deployment strategies and the job form