Menu
Enterprise

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

Response:

json
{
  "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
}

Example:

console
$ 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:

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

tsdb_metas/
The TSDB block meta data for the available tenants.

config.default.yaml
The default configuration file for the requested service.

config.actual.yaml
The actual runtime configuration file for the requested service.

process-mappings.txt
This file shows how memory is being used by the process from the OS perspective.

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