Monitor#
Links to grafana, InfluxDB, Kibana and elasticsearch.
You need to provide authentication parameters for all queries. To learn more, see API Introduction.
Select, filter and delete value in influxDB#
Code samples
curl -X GET {server}/influxdb/query \
-H 'Authorization: Basic {access-token}'
GET /influxdb/query
Show measurement#
$ curl -X GET {server}/influxdb/query \
-H 'Authorization: Basic {access-token}' \
Get value from a measurement#
$ curl -X GET "{server}/influxdb/query?q=SELECT%20%2A%20from%20ifTable%20where%20time%20%3E%20now%28%29%20-%201h&db=telegraf" \
-H "accept: */*" \
-H "Authorization: Basic {access-token}"
The data after the q parameter is url encoded. If I decode it, it will look like this.
SELECT * from ifTable where time > now() - 1h
Get alerts#
$ curl -X GET "{server}/influxdb/query?q=SELECT%20%2A%20FROM%20alerts%20WHERE%20time%20%3E%20now%28%29%20-%2024h&db=telegraf" \
-H "accept: */*" \
-H "Authorization: Basic {access-token}"
Delete value#
$ curl -X GET "{server}/influxdb/query?q=DROP%20SERIES%20FROM%20%22ifTable%22%20WHERE%20%22resource%22%3D%27docker%27&db=telegraf" \
-H "accept: */*" \
-H "Authorization: Basic {access-token}"
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| q | query | string | false | none |
| db | query | string | false | none |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Action on influxDB | None |
Write data in influxdb#
Code samples
curl -X POST {server}/influxdb/write \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Basic {access-token}'
POST /influxdb/write
Create value#
$ curl -X POST "{server}/influxdb/write?db=telegraf" \
-H "accept: */*" \
-H "Authorization: Basic {access-token}" \
-H "Content-Type: application/json" \
-d "ifTable,resource=docker temperature=42 160873958000000000"
Body parameter
The timestamps need 8 zero after the unixtimestamp(
00000000).
"ifTable,resource=docker temperature=42 160873958000000000"
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| db | query | string | false | none |
| body | body | string(binary) | false | Write data in influxdb |
Example responses
400 Response
{
"error": "0=i': missing fields"
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | Success | None |
| 400 | Bad Request | Unable to understand the query | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » error | string | false | none | none |
Get dashboard by uid#
Code samples
curl -X GET {server}/g/api/dashboards/uid/{uid} \
-H 'Accept: application/json' \
-H 'Authorization: Basic {access-token}'
GET /g/api/dashboards/uid/{uid}
Will return the dashboard given the dashboard unique identifier (uid).
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| uid | path | string | true | none |
Example responses
200 Response
{
"value": {
"uid": "string",
"title": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Get a single dashboards | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » value | object | false | none | none |
| »» uid | string | false | none | none |
| »» title | string | false | none | none |
Get a single kibana saved object#
Code samples
curl -X GET {server}/kibana/api/saved_objects/{type}/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Basic {access-token}'
GET /kibana/api/saved_objects/{type}/{id}
Retrieve a single Kibana saved specified by the ID
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | true | none |
| type | path | string | true | none |
Enumerated Values#
| Parameter | Value |
|---|---|
| type | visualization |
| type | dashboard |
| type | search |
| type | index-pattern |
| type | config |
| type | timelion-sheet |
Example responses
200 Response
{
"value": {
"page": 0,
"per_page": 0,
"total": 0,
"saved_objects": [
{
"uid": "string",
"title": "string"
}
]
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Structure of a Saved object | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » value | object | false | none | none |
| »» page | integer | false | none | none |
| »» per_page | integer | false | none | none |
| »» total | integer | false | none | none |
| »» saved_objects | [object] | false | none | none |
| »»» uid | string | false | none | none |
| »»» title | string | false | none | none |
Elasticsearch Search API#
Code samples
curl -X GET {server}/elasticsearch/{index}/_doc/{doc_id} \
-H 'Authorization: Basic {access-token}'
GET /elasticsearch/{index}/_doc/{doc_id}
Get one document#
$ curl -X GET {server}/elasticsearch/fluentd-default-000001/_doc/0 \
-H 'Authorization: Basic {access-token}' \
For more info on Search query, you can visit
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| index | path | string | true | none |
| doc_id | path | string | true | none |
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Content of a document | None |
Elasticsearch Match API#
Code samples
curl -X GET {server}/elasticsearch/_search \
-H 'Authorization: Basic {access-token}'
GET /elasticsearch/_search
Get document from a datetime range#
$ curl -X GET {server}/elasticsearch/_search \
-H 'Authorization: Basic {access-token}' \
-H 'content-type: application/json' \
--data '{"query": {"bool": {"must": [],"filter": [{"match_all": {}},{"range": {"@timestamp": {"gte": "2021-03-30T16:52:10.115Z","lte": "2021-04-13T16:52:10.115Z","format": "strict_date_optional_time"}}}],"should": [],"must_not": []}}}'
This query will match all the document present in the timestamp range.
Get error from a datetime range#
curl --request GET \
--url {server}/elasticsearch/_search \
-H 'authorization: Basic YWRtaW46dW5yeTBwYXNz' \
-H 'content-type: application/json' \
--data '{"query": {"bool": {"must": [],"filter": [{"bool": {"should": [{"match_phrase": {"level": "Error"}}],"minimum_should_match": 1}},{"range": {"@timestamp": {"gte": "2021-03-30T17:02:56.186Z","lte": "2021-04-13T17:02:56.186Z","format": "strict_date_optional_time"}}}],"should": [],"must_not": []}}}'
For more info on match query, you can visit
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Value of the matching request | None |