Summary

The startLogCollectorConfigurationTest() mutation starts a configuration test on one or more Log Collectors using a specified configuration. Provide the configuration ID and the IDs of the collectors to test. The mutation returns a FleetConfigurationTest! object representing the running test state.

Syntax

graphql
startLogCollectorConfigurationTest(
      configId: String!,
      collectorIds: [String!]!
   ): FleetConfigurationTest!

Provide the unique identifier of the configuration to test and the unique identifiers of the Log Collectors to run it on. To retrieve these identifiers, select Show Test Running Query in the Related section above.

The mutation returns a FleetConfigurationTest! object. The Returned Values section lists the available fields.

Example

Raw
graphql
mutation {
  startLogCollectorConfigurationTest( 
      configId: "abc123",
      collectorIds: ["def123", "ghi456" ]
  )
  { configId }
}
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" : "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}"
}
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" : "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}"
}
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" : "mutation { ^
  startLogCollectorConfigurationTest(  ^
      configId: \"abc123\", ^
      collectorIds: [\"def123\", \"ghi456\" ] ^
  ) ^
  { configId } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}"
}'
    "$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 = "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}";
$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" : "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}"
}'''

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" : "mutation {
  startLogCollectorConfigurationTest( 
      configId: \"abc123\",
      collectorIds: [\"def123\", \"ghi456\" ]
  )
  { configId }
}"
}
);


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": {
    "startLogCollectorConfigurationTest": {
      "configId": "abc123",
      }
    }
  }
}

Input Parameters

Both parameters are required. The configId parameter identifies the Log Collector configuration to test. The collectorIds parameter specifies one or more Log Collectors to run the test on.

Table: Input Parameters & Datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
collectorIds [string] yes   The unique identifiers of the LogCollectors.
configId string yes   The unique identifier of the LogCollector configuration.

Returned Values

The mutation returns a FleetConfigurationTest! object representing the current state of the test. The returned fields include the configuration ID, the IDs of the Log Collectors participating in the test, and the current test status. Use these fields to monitor progress or to supply IDs to stopLogCollectorConfigurationTest(). The following table lists all available fields:

Table: FleetConfigurationTest Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
collectorIdsStringyes Short-Term The Log Collector unique identifiers.
configIdStringyes Short-Term The configuration identifier.