The clusterManagementSettings() GraphQL query
is used to return the cluster management settings for a LogScale
cluster.
Below is the syntax for the
clusterManagementSettings() query field:
clusterManagementSettings : ClusterManagementSettings
There is no input for this query field. There's only parameters
for the return datatype,
clusterManagementSettings , which are
described in the next section.
Below is an example of how you might use this query field:
Show:
Raw Mac OS or Linux (curl) Mac OS or Linux (curl) One-line Windows Cmd and curl Windows Powershell and curl Perl Python Node.js
Raw query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}
Mac OS or Linux (curl) curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}
EOF
Mac OS or Linux (curl) One-line curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @- << EOF
{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}
EOF
Windows Cmd and curl curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
-H "Authorization: Bearer $TOKEN" ^
-H "Content-Type: application/json" ^
-d @'{"query" : "query { ^
clusterManagementSettings ^
{ allowUpdateDesiredDigesters, ^
allowRebalanceExistingSegments, ^
segmentReplicationFactor, ^
minHostAlivePercentageToEnableClusterRebalancing} ^
}" ^
} '
Windows Powershell and curl curl.exe -X POST
-H "Authorization: Bearer $TOKEN "
-H "Content-Type: application/json"
-d '{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}'
"$YOUR_LOGSCALE_URL /graphql"
Perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN" ;
my $uri = '$YOUR_LOGSCALE_URL/graphql' ;
my $json = '{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}' ;
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
import requests
url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}'''
resp = requests.post(url,
data = mydata,
headers = {
"Authorization" : "Bearer $TOKEN" ,
"Content-Type" : "application/json"
}
)
print (resp.text)
Node.js const https = require ('https' );
const data = JSON .stringify (
{"query" : "query {
clusterManagementSettings
{ allowUpdateDesiredDigesters,
allowRebalanceExistingSegments,
segmentReplicationFactor,
minHostAlivePercentageToEnableClusterRebalancing}
}"
}
);
const options = {
hostname : '$YOUR_LOGSCALE_URL/graphql' ,
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 Show:
Success (HTTP Response Code 200 OK)
Success (HTTP Response Code 200 OK) {
"data" : {
"clusterManagementSettings" : {
"allowUpdateDesiredDigesters" : true ,
"allowRebalanceExistingSegments" : true ,
"segmentReplicationFactor" : 1 ,
"minHostAlivePercentageToEnableClusterRebalancing" : 25
}
}
}
As you can see, for the returned results, a list of requests is
entered in a comma-separated list, within curly-brackets.
Incidentally, despite the syntax including a colon, you don't
actually enter it.
The clusterManagementSettings has several
possible return values. They're listed below, along with
descriptions of each.
Table: ClusterManagementSettings
Parameter Type Required Default Stability Description Some arguments may be required, as indicated in the Required column. For some fields, this column indicates that a result will always be returned for this column. Table last updated: Sep 24, 2024 allowRebalanceExistingSegments
boolean yes Short-Term
Whether the cluster should allow the moving of existing segments between nodes. This is done generally to achieve a better data distribution. allowUpdateDesiredDigesters
boolean yes Short-Term
Whether or not desired digesters are allowed to be updated automatically. digestReplicationFactor
long yes Long-Term
The replication factor for the digesters. minHostAlivePercentageToEnableClusterRebalancing
long yes Long-Term
Percentage of all hosts relevant to a particular cluster rebalance operation that need to be alive before we allow the system to automatically execute the operation. Cluster rebalance operations currently include reassigning digest work, and moving existing segments to balance disk usage. Value is between 0 and 100, both inclusive. segmentReplicationFactor
long yes Long-Term
The replication factor for segments.