How to setup the Crisp Status Reporter library?
If you're using Crisp Status to monitor nodes in push
mode, you will need to setup a Crisp Status Reporter on each of your monitored application node.
Crisp Status Reporter libraries are easy to install in your applications. Crisp supports a growing number of application platforms. You may contact us if you need a non-supported programming language or platform added.
Libraries
Find a Crisp Status Reporter library for your language:
- Rust: rs-crisp-status-reporter
- Node: node-crisp-status-reporter
- Golang: go-crisp-status-reporter
- Python: python-crisp-status-reporter
Get your reporter token & node identifier
When configuring your reporter library in your application, you'll need the following values: token
, service_id
, node_id
.
You can retrieve them from your Crisp Status settings here:
- Go to your Crisp Dashboard
- Go to Settings, then click on Status Page
Get your token
You can get your secret token in the "Configure your Status Reporter" section.
Get node identifiers
You can get your node identifiers (node_id
+ service_id
) in the "Manage monitored services" section.
When you hover a node with your mouse, click on "Show details" to reveal the identifiers.
Manually report status
Crisp Status exposes a Crisp Status Reporter API endpoint that you can use to do the periodic status push yourself. This section explains the format of a reporting request, and when to trigger such a request.
Report request format
API endpoint: https://report.crisp.watch/v1/report/[service_id]/[node_id]
[service_id]
and [node_id]
with your node identifiers. See "Get node identifiers" above for more on how you can get those identifiers.Request method: HTTP POST
Request authentication: Basic Auth
, with username blank and password to token value (see "Get your token" above)
Request content type: application/json; charset=utf-8
Request body:
{
"replica_id" : "[replica_id]",
"interval" : "[interval_seconds]",
"load" : {
"cpu" : "[cpu_load_average]",
"ram" : "[ram_percent_used]"
}
}
Replace:
- [replica_id]: a replica identifier, can be anything defining the host pushing its status, eg. its IP address like
192.168.1.2
- [interval_seconds]: the interval at which you plan to send periodic reports, in seconds, eg.
60
for 1 minute - [cpu_load_average]: a float number from
0.00
to10.00
indicating current CPU load (can be0.00
) - [ram_percent_used]: a float number from
0.00
to1.00
indicating the current percent of RAM used (can be0.00
)
push
mode.When to report status
The status reporting request is to be executed at a fixed interval, eg. every minute. Once you start reporting every minute, and you've set interval
in your request body to eg. 60
seconds, you need to commit to reporting at this interval. If you don't report in time, Crisp Status will mark the node as DEAD
.
Updated on: 29/06/2025
Thank you!