Query API
This page describes the API for querying the data from LOGIQ Observability stack
Getting data is a two step process
Create a Query Request
POST /v1/query will respond with a QueryId. Use that to access data
1
$ curl --location --request POST 'http://cluster-1.logiq.ai/v1/query' \
2
--header 'Accept: application/json' \
3
--header 'Content-Type: application/json' \
4
--data-raw '{
5
"applicationNames": [
6
"tomcat"
7
],
8
"filters": {
9
"Message": {
10
"values": [
11
"user-369"
12
]
13
}
14
},
15
"namespace": "production",
16
"pageSize": 100,
17
"startTime": "2020-05-10T17:55:20+05:30"
18
}'
Copied!
1
{
2
"queryId": "4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq"
3
}
Copied!
Use GET /v1/data/{queryId}/next and GET /v1/data/{queryId}/previous to retrieve data.
1
$ curl 'https://cluster-1.logiq.ai/v1/data/4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq/next'
2
[...data]
3
$ curl 'https://cluster-1.logiq.ai/v1/data/4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq/previous'
4
[...data]
5
​
Copied!

Query API Documentation

Version: 1.0

/v1/query

POST
Parameters
Name
Located in
Description
Required
Schema
body
body
​
Yes
​queryQueryProperties​
Responses
Code
Description
Schema
200
A successful response.
​queryGetQueryResponse​
​

/v1/data/{queryId}/next

GET
Parameters
Name
Located in
Description
Required
Schema
queryId
path
​
Yes
string
Responses
Code
Description
Schema
200
A successful response.
​queryGetDataResponse​
400
Invalid Request.
​
403
Token Expired.
​
404
Returned when the resource does not exist.
​

/v1/data/{queryId}/previous

GET
Parameters
Name
Located in
Description
Required
Schema
queryId
path
​
Yes
string
_internal
query
​
No
boolean (boolean)
Responses
Code
Description
Schema
200
A successful response.
​queryGetDataResponse​
400
Invalid Request.
​
403
Token Expired.
​
404
Returned when the resource does not exist.
​
protobufAny
A
1
if (any.UnpackTo(&foo)) {
2
...
3
}
Copied!
Example 2: Pack and unpack a message in Java.
1
Foo foo = ...;
2
Any any = Any.pack(foo);
3
...
4
if (any.is(Foo.class)) {
5
foo = any.unpack(Foo.class);
6
}
Copied!
Example 3: Pack and unpack a message in Python.
1
foo = Foo(...)
2
any = Any()
3
any.Pack(foo)
4
...
5
if any.Is(Foo.DESCRIPTOR):
6
any.Unpack(foo)
7
...
Copied!
Example 4: Pack and unpack a message in Go
1
foo := &pb.Foo{...}
2
any, err := ptypes.MarshalAny(foo)
3
...
4
foo := &pb.Foo{}
5
if err := ptypes.UnmarshalAny(any, foo); err != nil {
6
...
7
}
Copied!
The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON

The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:
1
package google.profile;
2
message Person {
3
string first_name = 1;
4
string last_name = 2;
5
}
6
​
7
{
8
"@type": "type.googleapis.com/google.profile.Person",
9
"firstName": <string>,
10
"lastName": <string>
11
}
Copied!
If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):
1
{
2
"@type": "type.googleapis.com/google.protobuf.Duration",
3
"value": "1.212s"
4
}
Copied!
queryFilterValues
Name
Type
Description
Required
values
[ string ]
​
No

queryGetDataResponse

Name
Type
Description
Required
data
​
No
Status
string
​
No
remaining
integer
​
No

queryGetQueryResponse

Name
Type
Description
Required
queryId
string
​
No
info
​
No
errors
​
No
meta
object
​
No
queryOrderBy
Name
Type
Description
Required
queryOrderBy
string
​
​

queryQueryErrors

Name
Type
Description
Required
Key
string
​
No
message
string
​
No

queryQueryInfo

Name
Type
Description
Required
Key
string
​
No
message
string
​
No

queryQueryProperties

Name
Type
Description
Required
applicationNames
[ string ]
​
No
filters
object
​
No
namespace
string
​
No
pageSize
long
​
No
startTime
string
​
No
endTime
string
​
No
keyWord
string
​
No

querySysLogMessage

Name
Type
Description
Required
ID
string
​
No
AppName
string
​
No
Facility
string
​
No
FacilityString
string
​
No
Hostname
string
​
No
Message
string
​
No
MsgID
string
​
No
PartitionID
string
​
No
Priority
string
​
No
ProcID
string
​
No
Sender
string
​
No
Severity
string
​
No
SeverityString
string
​
No
StructuredData
string
​
No
Tag
string
​
No
Timestamp
string
​
No
Namespace
string
​
No
runtimeError
Name
Type
Description
Required
error
string
​
No
code
integer
​
No
message
string
​
No
Export as PDF
Copy link
Edit on GitHub