Skip to content

Latest commit

 

History

History
 
 

foundationdb

Agent Check: FoundationDB

Overview

This check monitors FoundationDB through the Datadog Agent. Aside from checking that the FoundationDB cluster is healthy, it also collects numerous metrics and, optionally, FoundationDB transaction logs.

Setup

Both the check and metrics apply to the FoundationDB cluster as a whole, and should only be installed on one host. The host doesn't need to be one that is running FoundationDB, but just one with access to it.

Installation

The FoundationDB check is included in the Datadog Agent package, but requires the FoundationDB client to be installed.

Configuration

Host

To configure this check for an Agent running on a host:

Metric collection
  1. To start collecting your FoundationDB metrics, edit the foundationdb.d/conf.yaml file in the conf.d/ folder at the root of your Agent's configuration directory. See the sample foundationdb.d/conf.yaml for all available configuration options.

  2. The cluster to check is determined by searching for a cluster file in the default location. If the cluster file is located elsewhere, set the cluster_file property. Only one cluster can be monitored per check instance.

  3. If the cluster is configured to use TLS, further properties should be set in the configuration. These properties follow the names of the TLS related options given to fdbcli to connect to such a cluster.

  4. Restart the Agent.

Log collection

FoundationDB writes XML logs by default, however, Datadog integrations expect JSON logs. Thus, a configuration change needs to be made to FoundationDB.

  1. Locate your foundationdb.conf file. Under the fdbserver section, add or change the key trace_format to have the value json. Also, make note of the logdir.

    [fdbserver]
    ...
    logdir = /var/log/foundationdb
    trace_format = json
    
  2. Restart the FoundationDB server so the changes take effect. Verify that logs in the logdir are written in JSON.

  3. Ensure that log collection is enabled in your datadog.yaml file:

    logs_enabled: true
  4. In the foundationdb.d/conf.yaml file, uncomment the logs section and set the path to the one in your FoundationDB configuration file, appending *.json.

    logs:
      - type: file
        path: /var/log/foundationdb/*.json
        service: foundationdb
        source: foundationdb
  5. Make sure the Datadog Agent has the privileges required to list the directory and read its files.

  6. Restart the Datadog Agent.

Containerized

For containerized environments, see the Autodiscovery Integration Templates for guidance on applying the parameters below.

Metric collection
Parameter Value
<INTEGRATION_NAME> foundationdb
<INIT_CONFIG> blank or {}
<INSTANCE_CONFIG> {}
Log collection

Collecting logs is disabled by default in the Datadog Agent. To enable it, see Kubernetes log collection.

Parameter Value
<LOG_CONFIG> {"source": "foundationdb", "service": "<SERVICE_NAME>"}

Validation

Run the Agent's status subcommand and look for foundationdb under the Checks section.

Data Collected

Metrics

See metadata.csv for a list of metrics provided by this check.

Service Checks

See service_checks.json for a list of service checks provided by this integration.

Events

The FoundationDB check does not include any events.

Troubleshooting

Need help? Contact Datadog support.