API Stability Short-Term

The environmentVariableUsage() GraphQL query is used to get usage information about non-secret environment variables.

This very much is an administrator tool. There's no equivalent for this query through the UI. However, there are environment variables that can be configured at the system level for self-hosted installations of LogScale (see Configuration Variables).

Syntax

graphql
environmentVariableUsage [EnvironmentVariableUsage]

This query is simple. There's no input. You just enter what you want returned, of which there are only three possibilities: the name of the environment variable; the source by which that variable was used; and the value of the variable.

Example

Below is an example of this query in use:

Raw
graphql
query {
  environmentVariableUsage 
    {name, source, value}
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "query {
  environmentVariableUsage 
    {name, source, value}
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "query {
  environmentVariableUsage 
    {name, source, value}
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "query { ^
  environmentVariableUsage  ^
    {name, source, value} ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "query {
  environmentVariableUsage 
    {name, source, value}
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "query {
  environmentVariableUsage 
    {name, source, value}
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "query {
  environmentVariableUsage 
    {name, source, value}
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "query {
  environmentVariableUsage 
    {name, source, value}
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "environmentVariableUsage": [
      {
        "name": "S3_STORAGE_CHUNK_SIZE",
        "source": "Default",
        "value": "8388608"
      },
      {
        "name": "TLS_KEY_PASSWORD",
        "source": "Missing",
        "value": "*****"
      },
      {
        "name": "HUMIO_GITHUB_DEMO",
        "source": "Default",
        "value": "false"
      },
      {
        "name": "EMERGENCY_USERS",
        "source": "Default",
        "value": "false"
      },
      {
        "name": "INGEST_FEED_GOVERNOR_INITIAL_RATE_PER_CORE",
        "source": "Default",
        "value": "80000"
      },
      ...
    ]
  }
}

Since the results are very long, they've been reduced here to only a few environment variables.

Returned Datatype

The returned datatype has only a few parameters: the name of the environment variable; the source by which that variable was used and set (e.g., from the system's default); and the value of the variable. These parameters are listed below:

Table: EnvironmentVariableUsage

ParameterTypeRequiredDefaultStabilityDescription
Some arguments may be required, as indicated in the Required column. For return datatypes, this indicates that you must specify which fields you want returned in the results.
Table last updated: Sep 24, 2024
namestringyes Short-TermThe environment variable name.
sourcestringyes Short-TermThe source for the environment variable. Environment: The value is from the environment, Default: variable not found in the environment, but a default value is used. Missing: no variable or default found.
valuestringyes Short-TermThe value for this variable.