Skip to main content

Change Events

With Levitate, track change events such as configuration changes and deployment events with ease along with other metrics.

Software systems and their observability are not just about the telemetry data emitted from these systems. The software systems also get affected by external change events. These events can be from domains such as deployment, configuration, or external 3rd party systems. Levitate allows tracking such change events along with other metrics, seamlessly providing more context to the system observability.

This document will show how to start tracking change events with Levitate.

Premise

Levitate offers an HTTP API that can be used to track any domain change event. Each event has two states, start and stop, and both can be tracked with Levitate. Once Levitate receives the event, it converts it into a metric that can be used with other metrics for querying using PromQL in Grafana dashboards or alerting.

Data Flow

The data flow is as follows.

Change Events Data Flow

Sending Change Events to Levitate

Levitate offers a REST HTTP endpoint that can be used to send the change events. The API endpoint is as follows.

curl -XPUT https://app.last9.io/api/v4/organizations/{org_slug}/change_events \
--header 'Content-Type: application/json' \
--header 'X-LAST9-API-TOKEN: Bearer: <LAST9_API_WRITE_TOKEN>' \
--data-raw '
{
"timestamp": "2024-01-15T17:57:22+05:30",
"event_name": "new_deployment",
"event_state": "start",
"attributes": {
"env": "production",
"k8s_cluster": "prod-us-east-1",
"app": "backend-api"
}
}'
tip

Refer to the Getting Started with API guide to obtain the token required for the Change Events API.

  • timestamp is the iso8601 formatted timestamp of the event. It is optional. If not passed, current timestamp is used.
  • event_name can be any event name depending on the context. It will be added as a label to the resulting time series.
  • event_state can be start or stop.
  • attributes will be used as labels while converting the change event to a metric.
  • data_source_name is the name of the Levitate data source where the events will be pushed to. It is an optional field and can be obtained from the Data Source page.
info

If you are using multiple Levitate Clusters, make sure that the data source used for Change Events and other related metrics should be same.

will be ingested into a different Levitate Levitate will convert these events into a metric named last9_change_events.

Visualizing the Change Events in Grafana

The change events can be visualized in Grafana just like any other metrics.

Change Events in Grafana

Troubleshooting

Please get in touch with us on Discord or Email if you have any questions.