Summary

The updateLogCollectorGroupFilter() mutation sets or clears the filter string for a Log Collector group. A group filter restricts which log collectors are assigned to a group. Use this mutation after creating a group with createLogCollectorGroup() or when you need to change the filter criteria for an existing group.

Syntax

graphql
updateLogCollectorGroupFilter(
      id: String!, filter: String
   ): LogCollectorGroup!

The id argument is required and identifies the Log Collector group to update. The filter argument is optional; omit it or pass null to clear any existing filter from the group. The mutation returns a non-null LogCollectorGroup! object representing the updated group.

Input parameters

Provide the unique identifier of the Log Collector group to update and, optionally, the new filter string.

Table: Input parameters and datatypes

Parameter Type Required Default Description
This table contains all input parameters for this mutation.
id String yes   The unique identifier of the Log Collector group to update.
filter String     The filter string to apply to this group. The filter restricts which log collectors belong to the group. Omit this argument or pass null to clear the existing filter.

Example

Raw
graphql
mutation {
  updateLogCollectorGroupFilter( 
     id: "abc123",
     filter: "#vhost"
  )
 { name }
}
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 {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}"
}
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 {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}"
}
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 { ^
  updateLogCollectorGroupFilter(  ^
     id: \"abc123\", ^
     filter: \"#vhost\" ^
  ) ^
 { name } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}"
}'
    "$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 {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}";
$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 {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}"
}'''

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 {
  updateLogCollectorGroupFilter( 
     id: \"abc123\",
     filter: \"#vhost\"
  )
 { name }
}"
}
);


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": {
    "updateLogCollectorGroupFilter": {
      "name": "we-few"
    }
  }
}

Returned values

The mutation returns a non-null LogCollectorGroup! object representing the updated group. The returned object reflects the group's current state, including the new filter value, its assigned configurations, and version information.

Table: LogCollectorGroup Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
collectorCountInt  Short-Term text
collectorsAtWantedVersionInt  Short-Term Stability: Short-term
collectorsWithVersionConflictInt  Short-Termadded in 1.255Stability: Short-term
configurationsLogCollectorConfigurationyes Short-Term The log collector's configurations. See LogCollectorConfiguration.
conflictingGroupNamesStringyes Short-Termadded in 1.255Stability: Short-term
filterString  Short-Term The filter used with the log collector.
idStringyes Short-Term The unique identifier for the group.
nameStringyes Short-Term The name of the log collector group.
onlyUsesRemoteUpdatesBooleanyes Short-Term Whether the group only uses remove updates.
wantedVersionString  Short-Term The wanted version.