Query API

This page describes the API for querying the data from Apica Ascent 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

$ curl --location --request POST 'http://cluster-1.logiq.ai/v1/query' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--data-raw '{
    "applicationNames": [
        "tomcat"
    ],
    "filters": {
        "Message": {
            "values": [
                "user-369"
            ]
        }
    },
    "namespace": "production",
    "pageSize": 100,
    "startTime": "2020-05-10T17:55:20+05:30"
}'
{
    "queryId": "4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq"
}

Use GET /v1/data/{queryId}/next and GET /v1/data/{queryId}/previous to retrieve data.

$ curl 'https://cluster-1.logiq.ai/v1/data/4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq/next'
[...data]
$ curl 'https://cluster-1.logiq.ai/v1/data/4c977d08-4acf-52b5-a99d-d8c0eb41fe4b-lgq/previous'
[...data]

Query API Documentation

Version: 1.0

/v1/query

POST

Parameters

NameLocated inDescriptionRequiredSchema

body

body

Yes

Responses

Code

Description

Schema

200

A successful response.

/v1/data/{queryId}/next

GET

Parameters

NameLocated inDescriptionRequiredSchema

queryId

path

Yes

string

Responses

CodeDescriptionSchema

200

A successful response.

400

Invalid Request.

403

Token Expired.

404

Returned when the resource does not exist.

/v1/data/{queryId}/previous

GET

Parameters

NameLocated inDescriptionRequiredSchema

queryId

path

Yes

string

_internal

query

No

boolean (boolean)

Responses

CodeDescriptionSchema

200

A successful response.

400

Invalid Request.

403

Token Expired.

404

Returned when the resource does not exist.

protobufAny

A

if (any.UnpackTo(&foo)) {
  ...
}

Example 2: Pack and unpack a message in Java.

Foo foo = ...;
Any any = Any.pack(foo);
...
if (any.is(Foo.class)) {
  foo = any.unpack(Foo.class);
}

Example 3: Pack and unpack a message in Python.

foo = Foo(...)
any = Any()
any.Pack(foo)
...
if any.Is(Foo.DESCRIPTOR):
  any.Unpack(foo)
  ...

Example 4: Pack and unpack a message in Go

 foo := &pb.Foo{...}
 any, err := ptypes.MarshalAny(foo)
 ...
 foo := &pb.Foo{}
 if err := ptypes.UnmarshalAny(any, foo); err != nil {
   ...
 }

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:

package google.profile;
message Person {
  string first_name = 1;
  string last_name = 2;
}

{
  "@type": "type.googleapis.com/google.profile.Person",
  "firstName": <string>,
  "lastName": <string>
}

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][]):

{
  "@type": "type.googleapis.com/google.protobuf.Duration",
  "value": "1.212s"
}

queryFilterValues

NameTypeDescriptionRequired

values

[ string ]

No

queryGetDataResponse

NameTypeDescriptionRequired

data

No

Status

string

No

remaining

integer

No

queryGetQueryResponse

NameTypeDescriptionRequired

queryId

string

No

info

No

errors

No

meta

object

No

queryOrderBy

NameTypeDescriptionRequired

queryOrderBy

string

queryQueryErrors

NameTypeDescriptionRequired

Key

string

No

message

string

No

queryQueryInfo

NameTypeDescriptionRequired

Key

string

No

message

string

No

queryQueryProperties

NameTypeDescriptionRequired

applicationNames

[ string ]

No

filters

object

No

namespace

string

No

pageSize

long

No

startTime

string

No

endTime

string

No

keyWord

string

No

querySysLogMessage

NameTypeDescriptionRequired

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

NameTypeDescriptionRequired

error

string

No

code

integer

No

message

string

No

Last updated