curl --request POST \
--url https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses \
--header 'API-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"collection_slugs": [
"<string>"
],
"include_signals": true,
"label_filters": [
{
"label_matchers": [
{
"matcher": {
"name": "<string>",
"value": "<string>"
}
}
]
}
],
"monitor_slugs": [
"<string>"
],
"team_slugs": [
"<string>"
]
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses"
payload := strings.NewReader("{\n \"collection_slugs\": [\n \"<string>\"\n ],\n \"include_signals\": true,\n \"label_filters\": [\n {\n \"label_matchers\": [\n {\n \"matcher\": {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"monitor_slugs\": [\n \"<string>\"\n ],\n \"team_slugs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses")
.header("API-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collection_slugs\": [\n \"<string>\"\n ],\n \"include_signals\": true,\n \"label_filters\": [\n {\n \"label_matchers\": [\n {\n \"matcher\": {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"monitor_slugs\": [\n \"<string>\"\n ],\n \"team_slugs\": [\n \"<string>\"\n ]\n}")
.asString();const options = {
method: 'POST',
headers: {'API-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collection_slugs: ['<string>'],
include_signals: true,
label_filters: [{label_matchers: [{matcher: {name: '<string>', value: '<string>'}}]}],
monitor_slugs: ['<string>'],
team_slugs: ['<string>']
})
};
fetch('https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses"
payload = {
"collection_slugs": ["<string>"],
"include_signals": True,
"label_filters": [{ "label_matchers": [{ "matcher": {
"name": "<string>",
"value": "<string>"
} }] }],
"monitor_slugs": ["<string>"],
"team_slugs": ["<string>"]
}
headers = {
"API-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"monitor_statuses": [
{
"monitor_slug": "<string>",
"muted": true,
"severity": "WARN",
"signals": [
{
"severities": [
{
"muted": true,
"severity": "WARN"
}
],
"signal_labels": {}
}
]
}
]
}{
"message": "<string>"
}ListMonitorStatuses
Lists monitors that have at least one firing alert, and how they are firing. A read served by POST, because its label filters cannot be expressed as query parameters.
curl --request POST \
--url https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses \
--header 'API-Token: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"collection_slugs": [
"<string>"
],
"include_signals": true,
"label_filters": [
{
"label_matchers": [
{
"matcher": {
"name": "<string>",
"value": "<string>"
}
}
]
}
],
"monitor_slugs": [
"<string>"
],
"team_slugs": [
"<string>"
]
}
'package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses"
payload := strings.NewReader("{\n \"collection_slugs\": [\n \"<string>\"\n ],\n \"include_signals\": true,\n \"label_filters\": [\n {\n \"label_matchers\": [\n {\n \"matcher\": {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"monitor_slugs\": [\n \"<string>\"\n ],\n \"team_slugs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("API-Token", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses")
.header("API-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"collection_slugs\": [\n \"<string>\"\n ],\n \"include_signals\": true,\n \"label_filters\": [\n {\n \"label_matchers\": [\n {\n \"matcher\": {\n \"name\": \"<string>\",\n \"value\": \"<string>\"\n }\n }\n ]\n }\n ],\n \"monitor_slugs\": [\n \"<string>\"\n ],\n \"team_slugs\": [\n \"<string>\"\n ]\n}")
.asString();const options = {
method: 'POST',
headers: {'API-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
collection_slugs: ['<string>'],
include_signals: true,
label_filters: [{label_matchers: [{matcher: {name: '<string>', value: '<string>'}}]}],
monitor_slugs: ['<string>'],
team_slugs: ['<string>']
})
};
fetch('https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://{tenant}.chronosphere.io/api/v1/state/monitor-statuses"
payload = {
"collection_slugs": ["<string>"],
"include_signals": True,
"label_filters": [{ "label_matchers": [{ "matcher": {
"name": "<string>",
"value": "<string>"
} }] }],
"monitor_slugs": ["<string>"],
"team_slugs": ["<string>"]
}
headers = {
"API-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"monitor_statuses": [
{
"monitor_slug": "<string>",
"muted": true,
"severity": "WARN",
"signals": [
{
"severities": [
{
"muted": true,
"severity": "WARN"
}
],
"signal_labels": {}
}
]
}
]
}{
"message": "<string>"
}Authorizations
Chronosphere API token
Body
Return only monitors owned by one of these collections.
Include each monitor's firing signals.
Each LabelFilter is one AND clause; the clauses are OR'ed together. Applied to alerts before they roll up into monitor statuses, with the same semantics as ListAlerts.
Show child attributes
Show child attributes
Return only these monitors. When empty, returns every monitor with a firing alert.
Count only alerts of this severity. Unset counts both.
WARN, CRITICAL Return only monitors owned by one of these teams.
Response
A successful response.
One entry per monitor with at least one matching firing alert, ordered by monitor slug. Monitors that are not firing are omitted.
Show child attributes
Show child attributes