Sending custom metrics over HTTP

You can submit metrics via an HTTP POST to our metrics endpoint. Here's a simple example using the cURL HTTP client:

curl -d temperature=27.54 \

The only setup needed is to create a Wormly host - you submit the Host ID and your API key with the request as shown above - you will find pre-filled examples under the Metrics tab on the Host Overview page.

You can submit three different types of metrics:

  1. GAUGE - is suitable for any metric that is a point-in-time observation. This is the default if you don't specify a metric type - it's probably suitable for most metrics you submit. For example: Load Average, CPU, RAM, Disk Usage, and temperature are all gauges.
  2. COUNTER - is for metrics which are continuously incrementing counters; often used in network interfaces or other traffic measurements. We store these metrics as a derivative, and they are expressed as rates; e.g. "events per second" or "MiB/s".
  3. EVENT - is for counters which are reset every time they are read. This is useful to describe when an event occurs; e.g. "a sale was made". Or "3 people entered a room".

The metric type is specified as meta-data. Here's how you do it:

curl -d net-packets-eth0=176322,type:COUNTER \

As you can see, the meta-data comes after the metric key=value pair, and is expressed in colon delimited key:value pairs.

You can also specify multiple metrics in a single POST - separated by an ampersand:


Here's a complete example with multiple metrics specified in a single POST:

curl -d "\

Downtime Hurts. Start monitoring and stop worrying.

Our monitoring service continually tests your servers & web sites to keep you online and performing fast. Fully-featured plans start from just $44 / month.

But don't listen to our spiel - Decide for yourself with a free trial »