Integration · Cloud Foundry

Cloud Foundry monitoring for platform and apps

Stream metrics and logs from Loggregator for every app, Diego cell and Gorouter on Cloud Foundry and VMware Tanzu Application Service, and add OpenTelemetry traces from your apps.
Obseria apps and capabilities: observability, APM, infrastructure and integrations
Obseria home dashboard with service health, open problems, SLO compliance and ingestion
Obseria trace explorer with span list and span attributes
Overview

Why monitor Cloud Foundry with Obseria

Platform and apps in one stream

One connection to the Loggregator streaming API delivers app container metrics, app logs and platform component metrics.

Org and space context

Telemetry carries org, space and app names, so teams see their own apps and platform operators see everything.

Traces without lock-in

Apps send OpenTelemetry traces over OTLP, using standard environment variables set through cf set-env or the manifest.

Coverage

Cloud Foundry components Obseria monitors

  • Applications and instances. CPU, memory, disk and crash events per app instance, with org, space and app metadata.
  • App logs. stdout, stderr and staging logs from Loggregator, enriched with app and instance identity.
  • Gorouter. Request rate, latency, 5xx responses and bad gateways at the platform edge.
  • Diego cells and BBS. Remaining memory and disk capacity per cell and running versus crashed long-running processes.
  • Auctioneer and scheduling. Failed placement of app instances and tasks when capacity runs out.
  • Loggregator. Health and throughput of the logging system itself, including dropped envelopes.
At a glance

The Cloud Foundry signals that matter

Obseria collects these values automatically and shows them in ready-made dashboards and alerts.

Traffic and speed

Shows how many requests reach your apps and how quickly they are answered, so slowdowns are noticed immediately.

  • gorouter.total_requests
  • gorouter.latency

Errors users see

Tells you how often visitors hit errors or unreachable apps, a direct measure of lost trust and revenue.

  • gorouter.responses.5xx
  • gorouter.bad_gateways

Platform capacity

Reveals how much processing power and memory your platform uses and how much room remains for new apps.

  • rep.cpu
  • rep.memory
  • rep.CapacityRemainingMemory

App stability

Highlights apps that keep crashing or cannot be started because the platform has no suitable place for them.

  • bbs.CrashedActualLRPs
  • auctioneer.AuctioneerLRPAuctionsFailed
Show all 9 metrics in detail
MetricUnitWhat it tells you
gorouter.total_requests{request}Requests routed by the Gorouter, the platform-wide traffic signal.
gorouter.latencymsTime the Gorouter takes to handle a request, including the app response.
gorouter.responses.5xx{response}5xx responses returned through the router.
gorouter.bad_gateways{response}502 responses, often caused by unreachable or crashing app instances.
rep.cpu%CPU usage of an app container instance.
rep.memoryByMemory used by an app container instance; compare with its quota.
rep.CapacityRemainingMemoryMiByMemory still available for new containers on a Diego cell.
bbs.CrashedActualLRPs{lrp}App instances in crashed state across the platform.
auctioneer.AuctioneerLRPAuctionsFailed{auction}App instances that could not be placed, usually due to missing capacity.
Setup

Set up Cloud Foundry monitoring in minutes

  1. Step 1

    Create a UAA client

    Create a UAA client with the logs.admin authority so it can read from the Loggregator reverse log proxy gateway.

  2. Step 2

    Configure the receiver

    Point the cloudfoundry receiver of the OpenTelemetry Collector at the RLP gateway and UAA endpoints and export to Obseria over OTLP.

  3. Step 3

    Add app traces

    Set OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_HEADERS for apps using OpenTelemetry SDKs.

Example configuration · YAML
receivers:
  cloudfoundry:
    rlp_gateway:
      endpoint: "https://log-stream.sys.example.com"
      shard_id: "obseria"
    uaa:
      endpoint: "https://uaa.sys.example.com"
      username: "obseria-nozzle"
      password: ${env:UAA_CLIENT_SECRET}
processors:
  batch: {}
exporters:
  otlphttp:
    endpoint: ${env:OBSERIA_OTLP_ENDPOINT}
    headers:
      Authorization: "Bearer ${env:OBSERIA_TOKEN}"
service:
  pipelines:
    metrics:
      receivers: [cloudfoundry]
      processors: [batch]
      exporters: [otlphttp]

Out of the box

Dashboards, alerts and SLOs that are ready the moment data arrives.

  • Cloud Foundry platform overview
  • Gorouter traffic, latency and 5xx rate
  • Diego cell capacity and placement failures
  • Crashed app instances by org and space
  • App resource usage against quotas
Guide

Cloud Foundry monitoring: what matters

Why Cloud Foundry monitoring needs two perspectives

Cloud Foundry, including its commercial distribution VMware Tanzu Application Service, makes deploying apps simple: cf push and the platform takes care of containers, routing, scaling and logs. That simplicity hides a lot of machinery. Diego cells run the containers, the BBS tracks the desired and actual state of every app instance, the Gorouter routes traffic, the Auctioneer places instances and Loggregator collects logs and metrics from all of it.

Cloud Foundry monitoring therefore needs two perspectives. Platform operators care about cell capacity, routing health and the logging system. Application teams care about their app's response time, errors, crashes and memory against quota. Cloud Foundry observability works when both views share the same data and metadata, so a crash in one space can be traced to a capacity problem on the platform or to a bug in the app.

The Cloud Foundry metrics that matter

Loggregator carries all platform and container metrics as envelopes. The most useful ones are:

  • Gorouter: total_requests, latency, responses.5xx and bad_gateways give you rate, errors and duration for every route on the platform.
  • App containers: cpu, memory and disk per app instance from the rep, compared with the memory and disk quotas set in the manifest.
  • Diego cells: CapacityRemainingMemory and CapacityRemainingDisk show how much room is left for new instances.
  • BBS: LRPsRunning and CrashedActualLRPs reveal how many app instances are healthy and how many are crashing.
  • Auctioneer: AuctioneerLRPAuctionsFailed and failed task auctions show that the platform could not place work.

Common Cloud Foundry problems and how to detect them

Crashing apps. An app that exceeds its memory quota or fails health checks is restarted repeatedly. Rising CrashedActualLRPs, crash events in the app log stream and memory close to the quota point to the cause.

Capacity exhaustion. When Diego cells run low on memory or disk, new instances cannot be placed and scaling stops working. Low remaining capacity combined with failed auctions is the signal to add cells or reduce quotas.

502 errors at the router. bad_gateways usually mean the router could not reach an instance, often because it crashed or was being restarted during a rolling deployment. Correlating router errors with app events and deployments shows which app and version is affected.

Dropped logs and metrics. Under heavy load, Loggregator can drop envelopes. Watching its own throughput and drop counters ensures you do not miss data during the incidents that matter most.

Slow apps without platform issues. If router latency rises while platform metrics look healthy, the problem is inside the app or one of its bound services. OpenTelemetry traces show which call is slow.

Cloud Foundry monitoring best practices

  1. Collect from the Loggregator streaming API once, centrally, rather than per app.
  2. Keep org, space and app names as attributes so dashboards and alerts can be scoped per team.
  3. Alert on crashed instances, router 5xx rates and cell capacity, not only on host metrics of the VMs below.
  4. Set realistic memory quotas and track usage against them to avoid crash loops.
  5. Instrument apps with OpenTelemetry and configure exporters through environment variables in the manifest.

How Obseria monitors Cloud Foundry

Obseria ingests Cloud Foundry telemetry through the OpenTelemetry Collector's Cloud Foundry receiver, which reads metrics from the Loggregator reverse log proxy gateway with a UAA client. App logs can be routed through Obseria Pipeline to filter noise and mask personal data before storage. Apps send traces with OpenTelemetry SDKs over OTLP. Obseria TopoGraph links routes, apps, instances and bound services, and Obseria Intelligence correlates platform and app signals to find the root cause with a chain of evidence. Because Cloud Foundry often runs on VMware vSphere, the same platform can also show the VMs and hosts below.

Cloud Foundry monitoring FAQ

Yes. Tanzu Application Service is based on Cloud Foundry and exposes the same Loggregator APIs, so the same integration applies.

The OpenTelemetry Collector's Cloud Foundry receiver connects to the Loggregator reverse log proxy gateway and authenticates with a UAA client that has the logs.admin authority.

Yes. App and staging logs from Loggregator can be forwarded, for example through a syslog drain, and are enriched with org, space and app metadata.

Add an OpenTelemetry SDK or agent for your language and set OTEL_SERVICE_NAME, OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_HEADERS via cf set-env or the app manifest.

Yes. Org, space and app names are attached to all telemetry, and role-based access control lets you scope dashboards and data per team.

Start monitoring Cloud Foundry today

Connect Cloud Foundry in minutes with OpenTelemetry or the Obseria Agent. Free for 14 days.