You can send custom values to CloudStats and receive alerts if they get triggered on your server.

For this you will need to have:

  1. Server ID  - you can get it from URL, for example: https://app.cloudstats.me/servers/52681
  2. Server KEY - you can get it from the file "config.yml"
    cat /home/cloudstats_agent/config.yml
  3. KEY - the key that you want to send, anything like "connections"
  4. VALUE - the value that you want to send, like "100"
  5. STATE - either success or fail

A change of STATE from SUCCESS to FAIL will trigger an ALERT. Same for FAIL to SUCCESS.

You need to implement logic for this into your script.

Custom values API

  1. Create a new key, value, state custom value:

POST request to https://api.cloudstats.me/agent_api/custom_values

For authentication it needs the SERVER_ID and the KEY used by the agent.

SERVER_ID is set with the id parameter and the AGENT_KEY with key=AGENT_KEY

The api can create a batch of custom values(key, value and state)
Each custom value must contain the key, the value and the state.
The STATE can be success or fail.

JSONish representation of the params:
{
  id: SERVER_ID,
  agent_key: AGENT_KEY,
  values: [
    {
      key: 'key',
      value: 'value',
      state: 'success'
    }, {
      key: 'key2',
      value: 'value',
      state: 'fail'
    }
  ]
}

Example to create 1 new value:

curl -X POST -d 'id=SERVER_ID&agent_key=AGENT_KEY&values[][key]=KEY&values[][state]=STATE&values[][value]=VALUE' https://api.cloudstats.me/agent_api/custom_values


2. Update a key

PUT request to https://api.cloudstats.me/agent_api/custom_values/SERVER_ID

{
  agent_key: AGENT_KEY,
  key='key',
  value='new value',
  state='new state'
}

Example:

curl -X PUT -d 'agent_key=AGENT_KEY&key=KEY&value=VALUE&state=STATE' https://api.cloudstats.me/agent_api/custom_values/SERVER_ID

Did this answer your question?