Monitoring Auxiliary PDF Service
To monitor auxiliary services within the UI, visit the
Auxiliary services
page.
Auxiliary services can also be monitoring through the servicesMetadata GraphQL query:
Raw
graphql
query {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}
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 {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}
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 {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}
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 { ^
servicesMetadata { ^
name, ^
serviceType, ^
endpointUrl, ^
healthStatus {status,message} ^
} ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST
-H "Authorization: Bearer $TOKEN"
-H "Content-Type: application/json"
-d '{"query" : "query {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}'
"$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl
use HTTP::Request;
use LWP;
my $INGEST_TOKEN = "TOKEN";
my $uri = '$YOUR_LOGSCALE_URL/graphql';
my $json = '{"query" : "query {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}';
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 {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}'''
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 {
servicesMetadata {
name,
serviceType,
endpointUrl,
healthStatus {status,message}
}
}"
}
);
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();
This will output a list of the configured services:
json
{
"data": {
"servicesMetadata": [
{
"name": "default-pdf-render-service",
"serviceType": "pdf-render-service",
"endpointUrl": "http://pdf-render.local:5123",
"healthStatus": {
"status": "OK",
"message": "HttpEntity.Strict(text/html; charset=UTF-8,2 bytes total)"
}
}
]
},
}