DATADOG MULE® INTEGRATION
Configuration
The Datadog Mule® Integration is a Datadog custom integration and it is configured through a conf.yaml
file located at:
- Windows systems - C:\ProgramData\Datadog\conf.d\iocs_dmi.d\conf.yaml
- Linux systems - /etc/datadog-agent/conf.d/iocs_dmi.d/conf.yaml
The configuration in the conf.yaml is divided into two parts:
- INIT_CONFIG: A common part used by all the executions
- INSTANCES: A list of instances to be scheduled independently
init_config
This section contains the common configuration used by all the instance executions. It contains the following configurations (these should not be removed):
- HOSTS:Grouping of all the hosts definitions needed by Mulesoft Anypoint Reader. Some hosts are specific to some APIs, if so, it is specified in the description:
- ANYPOINT The Anypoint server host url. It is preconfigured with https://anypoint.mulesoft.com but it could be different for EU or GOV Mule Regions, see https://docs.mulesoft.com/access-management/managing-users#prerequisites
OBJECT_STORE_V2: Object Store V2 server host url. See https://docs.mulesoft.com/object-store/osv2-apis for the full list of available hosts. This host definition is used by the Object Store API. Example value: https://object-store-us-east-1.anypoint.mulesoft.com
OBJECT_STORE_V2_STATS: The Object Store V2 Stats server host url. This host definition is used by the Object Store V2 Stats API . It is preconfigured with https://object-store-stats.aypoint.mulesoft.com
MULE_SERVER: This is the URL or IP address of the server where a Mule Runtime with the Mule Agent is running. The MULE_SERVER host definition is utilized by the ARM APIs. For example, the value might be http://localhost:9999.
OAUTH_PROVIDER: This is the OAuth Provider URL responsible for obtaining a Bearer token used for making requests to all the APIs. By default, it is preconfigured with https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token. However, please note that it might differ for EU or GOV Mule Regions. For specific configurations in these regions, refer to the documentation at link to documentation. see https://docs.mulesoft.com/access-management/managing-users#prerequisites
- CLIENT_ID:
The Client ID for the authentication API. This value is obtained by creating a connected app in Anypoint Platform.
- CLIENT_SECRET:
The Client Secret for the authentication API. This value is obtained by creating a connected app in Anypoint Platform.
- ENV_ID :
The Environment ID represents the specific environment (such as Development, Staging, or Production).
- ORG_ID:
The Organization ID for the requests that requires to specify it.
- CUSTOMER_KEY:
The Customer key is provided from our team once the purchase is completed.
- CONNECTION_WAIT_TIME:
The number of seconds that authentication method will wait until next retry. If not specified it is defaulted to 2
- CONNECTION_ATTEMPTS_NUM:
The number of retry attempts that authentication method will perform. If not specified it is defaulted to 3
In the Full Example section there is an example of a configuration file with all the values configured.
instances
This section contains a list of instances defined following the YAML list item notation -
. Each instance is scheduled independently to run a set of APIs with a specific threads number configuration. Each instance contains the following configurations:
- MIN_COLLECTION_INTERVAL: The time in seconds between executions. If not specified it is defaulted to 15 seconds
- THREADS:The number of allowed parallel threads running the instance
- API_FILTER: If not specified, all the APIs are executed, otherwise it must contain a list of APIs to run within the instance following the YAML list item notation
In the Full Example Section there is an example of a configuration file with a list of instances. The example is taken directly from the conf.yaml file distributed with the integration and contains the optimum numbers we recommend for almost any scenario for min_collection_interval and threads.
The metric collection of any instance can be disabled at any time by commenting out the whole instance. This means, commenting the two attributes mentioned above.
Configuration process
The example file provided in datadog_checks/iocs_dmi/data/conf.yaml.example and copied to the conf.d/iocs_dmi.d/conf.yaml.example folder after the installation process contains a configuration with all the possible values already configured and they should just work for the common usage case.
instances section contains a list of instances that were set to a periodicity and concurrency level according to each API provided information. Even if all these values can be changed, we recommend just go with the defaults.
The main configuration parameters to pay attention are:
- OBJECT_STORE_V2:
In the section, it depends on the CloudHub Region and can be found at the following link https://docs.mulesoft.com/object-store/osv2-apis
- MULE_SERVER:
In the hosts section, it depends on the Mule Agent configuration. Following the defaults of the Mule Agent configuration it would be http://localhost:9999 to retrieve the metrics from a Mule Runtime running on the same machine
Connected Apps Authentication
The credentials to get access to the Anypoint platform. More information about Connected Apps:https://docs.mulesoft.com/access-management/connected-apps-overview. The two parameters to configure:
- CLIENT_ID:
Connected Apps account client_id
- CLIENT_SECRET:
It must be configured with the Connected Apps account client_secret
- ENV_ID
The Environment ID for environment specific requests. See https://docs.mulesoft.com/access-management/environments and https://help.mulesoft.com/s/question/0D52T00004mXPvSSAW/how-to-find-cloud-hub-environment-id
- ORG_ID:
The Organization ID for the requests that requires to specify it. See https://docs.mulesoft.com/access-management/organization and https://help.mulesoft.com/s/article/How-to-know-my-Organization-ID-Org-ID-on-the-Anypoint-Platform
- API_KEY:
The API key provided by IO Connect Services when you purchased the product
- CUSTOMER_KEY
The Customer key provided by IO Connect Services when you purchased the product
For EU or GOV Mule Regions, the anypoint and oauth_provider should be changed too. See https://docs.mulesoft.com/access-management/managing-users#prerequisites