Metrics Reporting #

Pragma Engine supports exporting operational metrics to another service, such as a data visualization tool or an Application Performance Management (APM) service. Pragma Engine uses the Micrometer metrics library. To learn more about Micrometer’s metrics library, see the Supported Monitoring Systems in the Micrometer documentation.

Pragma Engine supports the following vendors. These vendors can pull or push from the Pragma Engine metrics registry. To get started with these vendors, review their documentation and the basic configuration guides on this page.

Prometheus #

The Prometheus registry is configured, by default, to send all collected metrics to the /metrics endpoint. Any application that supports the Prometheus data format can then pull metrics from that endpoint.

To get started with the Prometheus registry, turn on the prometheusGatewayModuleProvider in your configuration.

Example: Prometheus registry configuration
pluginConfigs:
  MetricsNodeService.prometheusGatewayModuleProvider:
    class: "pragma.metrics.PrometheusGatewayModuleProvider"

Datadog #

To get started with the Datadog integration, turn on and configure the datadogRegistryProvider in the MetricsNodeService.

The following are the possible configuration options:

  • apiKey (Required) - API keys are unique to your organization. An API key is required by the Datadog Agent to submit metrics and events to Datadog.
  • applicationKey - Application keys are associated with the user account that created them and by default have the permissions and scopes of the user who created them.
  • descriptions - A toggle to send description metadata to Datadog, or not.
  • hostTag - A tag used to identify your Pragma Engine host when sending metrics.
  • uri - The URI that Pragma Engine sends the metrics to.
Example: Datadog registry configuration
pluginConfigs:
  MetricsNodeService.datadogRegistryProvider:
    class: "pragma.metrics.DatadogRegistryProvider"
    config:
      apiKey: "<MyEncryptedApiKey>"

StatsD #

To get started with the StatsD integration, turn on and configure the StatsdRegistryProvider in the MetricsNodeService.

The following are the possible configuration options:

  • flavor - The protocol of the StatsD agent you are sending metrics to.
  • host - The StatsD server host that you are sending metrics to.
  • port - The port that your StatsD server accepts metrics to.
  • protocol - The protocol your StatsD server accepts metrics on.
  • maxPacketLength - A set limit for the amount of data sent per metric report.
  • pollingFrequencySeconds - How often Pragma Engine will send metrics to StatsD.
  • stepSeconds - The compute intervals for windowed statistics.
  • publishUnchangedMeters - A boolean to send metrics that have not changed, or not.
  • buffered - A boolean to buffer metrics before sending them, or not.
To integrate with Datadog, set the flavor value to DATADOG.
Example: StatsD registry configuration
pluginConfigs:
  MetricsNodeService.statsdRegistryProvider:
    class: "pragma.metrics.StatsdRegistryProvider"