Cloud Load Balancer Metrics

Overview

This document provides a detailed walkthrough on how to send Google Cloud Load Balancer metrics to SigNoz. By the end of this guide, you will have a setup that sends your Cloud Load Balancer metrics to SigNoz.

Here's a quick summary of what we will be doing in this guide

  • Deploy OpenTelemetry to scrape the metrics from Google Cloud Monitoring.
  • Send and Visualize the metrics obtained by OpenTelemetry in SigNoz

Prerequisites

  • You should have a Google Cloud account with administrative privileges or Cloud Load Balancer Admin privileges both should suffice.
  • Cloud Load Balancer
  • A SigNoz Cloud account. You'll need the ingestion details. To obtain your Ingestion Key and URL, log in to your SigNoz Cloud account and navigate to Settings >> Ingestion Settings.
  • Access to a project in Google Cloud Platform (GCP).
  • The Google Cloud Load Balancer APIs must be enabled. You can follow this guide to learn how to enable an API in Google Cloud.

Setup

Deploy OpenTelemetry to scrape the metrics from Google Cloud Monitoring

Step 1: Install and configure OpenTelemetry for scraping the metrics from Google Cloud Monitoring. Follow OpenTelemetry Binary Usage in Virtual Machine guide for detailed instructions.

πŸ“ Note

Note that googlecloudmonitoring receiver is supported only from version 0.112.0 and above of opentelemetry-collector. So, ensure you download and use the appropriate release.

Step 2: Create config.yaml.

Under the googlecloudmonitoring receiver, you need to specify the metrics that you want to capture in the metrics_list. You can include all the metrics that you would like to capture for Cloud Load Balancer, see the available metrics for Cloud Load Balancer.

Here is the config.yaml file for capturing Cloud Load Balancer metrics:

receivers:
  googlecloudmonitoring:
    collection_interval: 5m # Can be specified in seconds (s), minutes (m), or hours (h)
    project_id: gcp-project-id
    metrics_list:
      - metric_name: "loadbalancing.googleapis.com/https/backend_latencies"
      - metric_name: "loadbalancing.googleapis.com/https/backend_request_count"
      - metric_name: "loadbalancing.googleapis.com/https/request_bytes_count"
      - metric_name: "loadbalancing.googleapis.com/https/request_count"
      - metric_name: "loadbalancing.googleapis.com/https/response_bytes_count"
      - metric_name: "loadbalancing.googleapis.com/https/total_latencies"
processors:
  resource/env:
    attributes:
    - key: deployment.environment
      value: prod
      action: upsert
  batch: {}
exporters:
  otlp:
    endpoint: "ingest.{region}.signoz.cloud:443"
    tls:
      insecure: false
    headers:
      "signoz-access-token": "<SIGNOZ_INGESTION_KEY>"
service:
  pipelines:
    metrics:
      receivers: [googlecloudmonitoring]
      processors: [resource/env,batch]
      exporters: [otlp]

Depending on the choice of your region for SigNoz cloud, the otlp endpoint will vary according to this table.

RegionEndpoint
USingest.us.signoz.cloud:443
INingest.in.signoz.cloud:443
EUingest.eu.signoz.cloud:443

After successful configuration, start the OTel Collector using the following command:

./otelcol-contrib --config ./config.yaml &> otelcol-output.log & echo "$!" > otel-pid

Step 3: If the configurations are configured correctly, you can see the output logs from OpenTelemtry as follows:

OpenTelemetry logs

OpenTelemetry logs

Send and Visualize the metrics obtained by OpenTelemetry in SigNoz

Step 1: Go to the SigNoz Cloud URL and head over to the dashboard.

Step 2: If not already created, create a new dashboard. You can create the dashboard and multiple panel under it by following the instructions here.

Step 3: While creating the panel, select metric for Cloud Load Balancer.

All metrics starting with loadbalancing_googleapis_com_ have been collected from Cloud Load Balancer.

For example loadbalancing_googleapis_com_https_total_latencies is one of the metrics that was collected.

Here is the sample dashboard for Cloud Load Balancer:

GCP Cloud Load Balancer dashboard

GCP Cloud Load Balancer dashboard

Troubleshooting

If you run into any problems while setting up monitoring for your Cloud Load Balancer metrics with SigNoz, consider these troubleshooting steps:

  • Verify Configuration: Double-check your config.yaml file to ensure all settings, including the ingestion key and endpoint, are correct.
  • Review Logs: Look at the logs of your Cloud Load Balancer and the OpenTelemetry Collector to identify any error messages or warnings that might provide insights into what’s going wrong.
  • Consult Documentation: Review the SigNoz and OpenTelemetry documentation for additional troubleshooting of the common issues.

Was this page helpful?