Connecting IBM Cloud Private Cloud Foundry to Prometheus

IBM® Cloud Private Cloud Foundry Prometheus exporters are used to aggregate IBM Cloud Private Cloud Foundry monitoring data. Exporters draw from the BOSH, IBM Cloud Private Cloud Foundry, and Firehose monitoring pools to provide information on the health of the IBM Cloud Private Cloud Foundry deployment. Install the ibm-cf-exporters-prod Helm chart to install these exporters in your IBM Cloud Private Cloud Foundry environment.

Prerequisites

Installing the Chart

Before you begin

Configuration

Parameter Description Default
cf_api_url Cloud Foundry API URL https://api.DOMAIN For DOMAIN, see bmxconfig.yml: bmxconfig.bluemix_env_domain
cf_client_secret Cloud Foundry cf_exporter client ID's secret See credentials.yml: credentials.cloudfoundry.uaa_cf_exporter_secret
uaa_url Cloud Foundry UAA URL https://uaa.DOMAIN For DOMAIN, see bmxconfig.yml: bmxconfig.bluemix_env_domain
firehose_client_secret The secret for the client, firehose_client See credentials.yml: credentials.cloudfoundry.uaa_firehose_exporter_secret.secret
firehose_doppler_url Cloud Foundry Doppler URL wss://doppler.DOMAIN:443 URL For DOMAIN, see bmxconfig.yml: bmxconfig.bluemix_env_domain
bosh_url BOSH director URL https://IP_ADDRESS:25555 URL For IP_ADDRESS, see bmxconfig.yml: bmxconfig.director_ip
bosh_pwd BOSH admin user password See credentials.yml: credentials.boshdirector.bosh.password
director_cert BOSH director CA certificate See certificates.yml: certificates.rootca.certificates.data
environment Environment name to display in Prometheus and Grafana
Should be unique per IBM Cloud Private Cloud Foundry deployment
Cloud Foundry
  1. Change directory to the IBMCloudPrivate/ibm-cf-exporters-provide directory within the installation configuration directory.
  2. Inspect the values.yaml, or create a values.yaml from the values.template_yaml, editing parameters according to the preceding table.
  3. Run the following command:
    helm install --name=cf-exporters . --tls
    

The Helm installation command fails with the following message:

Error: release cf-exporters failed: Internal error occurred: admission webhook "trust.hooks.securityenforcement.admission.cloud.ibm.com" denied the request:
Deny "docker.io/boshprometheus/firehose-exporter", no matching repositories in ClusterImagePolicy and no ImagePolicies in the "default" namespace

Follow the steps to fix this issue:

  1. Navigate to Manage > Resource Security > Image Policies.
  2. Click Create Image Policy.
  3. Provide a name.
  4. Choose Namespace. Select the namespace you will install the exporter to.
  5. Click Add Registry and fill in Registry URL = docker.io/boshprometheus/*.
  6. Leave the VA Scanning off and click Add.
  7. Click Add again to activate the policy.

Results

Troubleshoot

Run the following command to see logs for the three exporters:

  kubectl logs cf-exporter
  kubectl logs firehose-exporter
  kubectl logs bosh-exporter

The logs show if an incorrect configuration parameter was provided.

Grafana Dashboards

If needed, you can add dashboards to your deployment. Additional dashboards are available in these locations:

Uninstalling the Chart

Run the following command to uninstall or delete the my-release deployment:

  helm delete cf-exporters --tls

This command removes all of the Kubernetes components that are associated with the chart and deletes the release.