Deploy OneAgent on Cloud Foundry for application-only monitoring

Applications deployed on Cloud Foundry are usually run through technology-specific buildpacks that provide framework and runtime support for applications running on the Cloud Foundry platform. For complete details, see how buildpacks work.

When deployed in application-only mode, OneAgent monitors the memory, disk, CPU, and networking of processes within the container only. Host metrics aren't monitored.

Prerequisites

Deploy OneAgent

  1. Create a Dynatrace service in your Cloud Foundry environment.
    There are two ways of defining a service instance, choose one:

    Create a single service instance for Dynatrace with the name dynatrace as a substring, like in the example below. You will then be prompted for your environment ID and API token. The API token corresponds to the token mentioned above.

    cf cups dynatrace-service -p "environmentid, apitoken, apiurl"

    The apiurl parameter specifies the API endpoint of your Dynatrace Cluster and needs to be set to https://<YourDynatraceClusterURL>/e/<environmentID>/api. This parameter is optional. If not provided, the default SaaS endpoint will be used. In case there is no direct connection to the SaaS endpoint, the ActiveGate one might be used: https://{your-activegate-domain}:9999/e/{your-environment-id}/api/.

    If you want to maintain Dynatrace credentials in a central location, use a service broker. For details, visit GitHub. You need to configure and run the broker as an application, add the service broker to Cloud Foundry, enable service access to users, and finally, create the service instance.

  2. Bind Dynatrace service to your application.

    You can bind the created Dynatrace service to your application in your manifest.yml file. If your application is already started, you need to restage it.

    ---
    applications:
    - name: demo-helloworld
    path: target/JavaHelloWorldApp.war
    buildpack: https://github.com/cloudfoundry/java-buildpack.git
    memory: 512M
    instances: 1
    host: hello-world-${random-word}
    disk_quota: 1024M
    services:
    - dynatrace-service
  3. optional Configure the default OneAgent log stream for Cloud Foundry.

    By default, OneAgent logs are written to the Cloud Foundry standard error stream. All you have to do is set the environment variable DT_LOGSTREAM to either stdout or stderr.

    For example:

    cf set-env APP_NAME DT_LOGSTREAM stdout
  4. optional Configure a proxy address.

    If your environment uses a proxy, you need to set the DT_PROXY environment variable to pass the proxy credentials to OneAgent as shown below.

    cf set-env <application> DT_PROXY <proxy address>
  5. optional Configure network zones.

    You can configure network zones in two ways.

    • Via UserProvidedService:
    cf cups dynatrace-service -p "environmentid, apitoken, networkzone"
    • As an environment variable per application:
    cf set-env <application> DT_NETWORK_ZONE <your_network_zone>

    See network zones for more information.

  6. optional Configure additional code modules

    You can configure additional code modules via UserProvidedService:

    cf cups dynatrace-service -p "environmentid, apitoken, addtechnologies"

    The addtechnologies parameter accepts a comma-separated list (without whitespaces). See supported values supported values in the "include" row.

    This is required to monitor additional technologies in multi-buildpack and sidecar deployment scenarios with Cloud Foundry.

    Important:

    • Setting unsupported values will break the deployment, since this directly affects the download instructions.
    • Adding code modules will increase the disk space requirements.