Geneos ["Geneos"]
["Geneos > Netprobe"]["Technical Reference"] "1"

Cloud Foundry


The end of life (EOL) date for Cloud Foundry plugin is 31 May 2021. This documentation is now archived and is no longer updated.

Overview

The Cloud Foundry Collection Agent plug-in collects logs, metrics and events from Cloud Foundry environments, using the Cloud Foundry Loggregator. This plug-in is compatible with both the open-source and commercially licensed editions of Cloud Foundry.

The Cloud Foundry Loggregator collects logs and metrics from applications deployed in a Cloud Foundry environment and from platform components. The Loggregator also collects health metrics for all virtual machines. The data collected by the Loggregator can be accessed by external applications through the Firehose API endpoint.

The Cloud Foundry plug-in receives data from the Loggregator Firehose and generates the following types of datapoints:

  • Container Metrics — container level resource usage.
  • Counter Events — cluster level counter metrics.
  • Logs — application and container logs.
  • Value Metrics — cluster level gauge metrics.

The Cloud Foundry plug-in will also attempt to ingest any additional metrics supplied by the Firehose that follow the same formatting.

Note: This plugin requires both Netprobe and Gateway 5.1.x or higher.If you are using a Netprobe 5.2.x or higher (contains Collection Agent 2.1.0 or higher) when using this plugin, then you must upgrade to Gateway 5.2.x or higher.

This plugin also requires an additional licence to use. Please contact your ITRS Account Manager or ITRS Sales.

Dimensions

All datapoints generated by the Cloud Foundry plug-in have the following Cloud Foundry specific dimensions:

  • deployments
  • origin
  • job
  • ip

Datapoints associated with a hosted application have additional dimensions:

  • org_name
  • space_name
  • application_name
  • cf_instance_index

Run multiple instances

In most cases a single instance of the Cloud Foundry plug-in is sufficient to monitor an entire Cloud Foundry estate. However in some cases it is useful to deploy multiple instances.

Multiple Cloud Foundry users

You can use multiple Cloud Foundry plug-ins to connect to Cloud Foundry with multiple users. This is useful when access permissions are split across many users. The Collection Agent can aggregate data from multiple plug-ins, connected as different users, that each provide a subset of the required Firehose data.

Scaling

In especially large estates, where the volume of data is substantial, you can use multiple Cloud Foundry plug-ins to distribute the load. For example you can filter the data received by multiple Cloud Foundry plug-ins by dimension, so that each processes data from a specific application or dimension.

Configuration reference

The Cloud Foundry Collection Agent plug-in is configured using a YAML file that specifies the connection information for the Loggregator Firehose API endpoint.

Option Description
api-host

Address of the Firehose API endpoint.

Mandatory: Yes

api-username

Username for connecting to the Firehose API endpoint.

Mandatory: Yes

api-password

Password for the connecting user. You must ensure that the user has permissions to access all metrics that you want to monitor.

Mandatory: Yes

skip-ssl-validation

Disable TLS/SSL certificate validation.

Mandatory: No

Default: False

enable-logs

Enable log collection. If this option is set to False then only metrics and events will be collected.

Mandatory: No

Default: True

subscription-id

Firehose unique subscription ID.

Cloud Foundry requires a unique subscription ID for each connection to the Loggregator Firehose. By default an instance of the Cloud Foundry plug-in generates a random ID. If multiple instances of the Cloud Foundry plug-in are required to access the same data you should specify the same subscription ID in each.

Mandatory: No

Default: <RandomID>

Below is an example YAML file which may require some changes for your project’s configuration:

collectors:
  - type: plugin
    class-name: CloudFoundryCollector
 
    # CF API hostname (required)
    api-host: api.dev.cfdev.sh
  
    # CF API username (required)
    api-username: admin

    # CF API password (required)
    api-password: admin

    # Disable SSL certificate validation when connecting to API.  Defaults to false.
    skip-ssl-validation: false
  
    # Enable collection of logs.  Defaults to true.
    enable-logs: true

Load an include file

Example include files are provided for Gateway configuration. To load an include file into the Gateway Setup Editor:

  1. Open the Gateway Setup Editor.
  2. In the Navigation panel, click Includes to create a new file.
  3. Enter the location of the file to include in the Location field.
  4. Update the Priority field. This can be any value except 1. If you input a priority of 1, the Gateway Setup Editor returns an error.
  5. Expand the file location in the Include section.
  6. Select Click to load.
  7. Click Yes to load the new include file and save your setup.

The example include file for the Cloud Foundry Collection Agent plug-in can be downloaded from the ITRS Github.