Node API

Node API documentation

An HTTP API called Node API is available within each GEM binary, and each binary runs either as a microservice (such as an ingester) or in single-process mode where target=all. The Node API fetches basic information about that microservice or single process.

Get version information

GET /node/api/v1/version


  "go_version": "<string>",       // The go version
  "product": "<string>",          // The name of the product, in this case "GEM"
  "revision": "<string>",         // The git revision of GEM
  "version": "<string>"           // The GEM version


$ curl -u :$API_TOKEN http://localhost:8080/node/api/v1/version | jq
  "go_version": "go1.16.6",
  "product": "GEM",
  "revision": "1rr03cg6e",
  "version": "v1.3.0"

Get debug information

This endpoint exports debug information from the GEM target.

GET /node/api/v1/debug-export

The response is a ZIP file with the following structure:

├─ tsdb-metas/
│  ├─ team-a/
│  │  ├─ 01FCZEADAH07FB9VER85YGVMBP.json
│  │  ├─ 01FCZEAD3ZN9Z9Q0YMR234VHXY.json
│  ├─ team-b/
│  ├─ __system__/
├─ config.default.yaml
├─ config.actual.yaml
├─ version.json

The TSDB block meta data for the available tenants.

The default configuration file for the requested service.

The actual runtime configuration file for the requested service.

The version information about the requested service in the same format as is returned for the node/api/v1/version endpoint.