Publishing metrics to external monitoring systems

If you want to send Artillery metrics (such as latency and response codes) to an external monitoring system such as Datadog, you can use the official artillery-publish-metrics plugin.

Supported targets:

We are working on adding more targets (such as Splunk, ELK and Prometheus). You can follow the plugin's development on Github.

Published metrics

Usage

An example configuration to publish metrics to Datadog via its HTTP API:

config:
  plugins:
    publish-metrics:
      - type: datadog
        apiKey: "{{ $processEnvironment.DD_API_KEY }}"
        prefix: artillery.
        tags:
          - team:sre
          - component:eu-payments-backend
          - region:eu-west-1
        event:
          tags:
            - team:sre

Datadog Configuration

The plugin supports sending metrics to an already running Datadog agent or directly to Datadog API. If Datadog agents have already been set up on your infrastructure, then publishing via the agent is probably preferable. Publishing via the HTTP API is useful when running in environments which do not have the agent (e.g. when running Artillery on AWS Lambda or AWS Fargate).

StatsD Configuration

InfluxDB/Telegraf Configuration

More Information

The source code for artillery-plugin-expect is available on Github at https://github.com/artilleryio/artillery-plugin-publish-metrics. It's an officially supported plugin and we'd love to hear your feedback and ideas for improvement.