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:
{
"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:
$ 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:
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.