API Reference / REST API / Monitoring REST API
Mar. 02, 2019

Monitoring REST API

Overview

The monitoring API is only available on Enterprise plans.

This API enables you to see the inner workings of your clusters/replicas. It is not accessible by the standard API clients.

The Monitoring API lets your interact directly with the status & usages of your Algolia clusters from anything that can send an HTTP request.

All the API access is over HTTPS, and accessed via the https://status.algolia.com domain. APPLICATION_ID variable can be found in your dashboard. API_KEY variable can be found in your credential page, under the monitoring section.

1
2
export APPLICATION_ID="your application id"
export API_KEY="your monitoring API key"

The relative path prefix /1/ indicates that we are currently using version 1 of the API.

Request Format

Authentication is done via HTTP headers. The X-Algolia-Application-Id header identifies which application you are accessing, and the X-Algolia-API-Key header authenticates the endpoint.

Response Format

The response format for all requests is a JSON object.

Whether a request succeeded is indicated by the HTTP status code. A 2xx status code indicates success, whereas a 4xx status code indicates failure. When a request fails, the response body is still JSON, but always contains the field message which you can inspect to use for debugging.

Status Endpoints

Quick Reference

Verb Path Method

GET

/1/status

Get current api status

GET

/1/status/{servers}

Current status servers

GET

/1/incidents

List last incidents

GET

/1/incidents/{servers}

List last incidents servers

Get current api status

Path: /1/status
HTTP Verb: GET

Description:
This method gets the current status of all clusters/replicas.

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/status"

When the query is successful, the HTTP response is a 200 OK and returns the current status:

1
2
3
4
5
6
{
  "status": {
    "c4-fr": "operational",
    "c2-eu": "operational"
  }
}

Current status servers

Path: /1/status/{servers}
HTTP Verb: GET

Description:
This method gets the current status of the clusters/replicas passed in the URL.

Parameters:

servers
type: string, possible values are `operational`, `degraded_performance`, `partial_outage`, `major_outage`
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/status/c4-fr"

When the query is successful, the HTTP response is a 200 OK and returns the current status of the servers:

1
2
3
4
5
{
  "status": {
    "c4-fr": "operational"
  }
}

List last incidents

Path: /1/incidents
HTTP Verb: GET

Description:
This method gets the incidents on the last 30 days

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/incidents"

When the query is successful, the HTTP response is a 200 OK and returns the incidents:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "incidents": {
    "c4-fr": [
      {
        "t": 1463410109000,
        "v": {
          "title": "Degraded performance of primary DNS provider",
          "body": "Due to the ongoing DDoS attack on our primary DNS provider you might experience fallback to secondary provider and temporary increased latency at the connection establishment. Service availability is not impacted.",
          "status": "degraded_performance"
        }
      }
    ]
  }
}

List last incidents servers

Path: /1/incidents/{servers}
HTTP Verb: GET

Description:
This method gets the incidents on the last 30 days for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/incidents/c4-fr"

When the query is successful, the HTTP response is a 200 OK and returns the incidents:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
{
  "incidents": {
    "c4-fr": [
      {
        "t": 1463410109000,
        "v": {
          "title": "Degraded performance of primary DNS provider",
          "body": "Due to the ongoing DDoS attack on our primary DNS provider you might experience fallback to secondary provider and temporary increased latency at the connection establishment. Service availability is not impacted.",
          "status": "degraded_performance"
        }
      }
    ]
  }
}

Usage Endpoints

Quick Reference

Verb Path Method

GET

/1/usage/{statistic}/period/{period}

Get usage

GET

/1/usage/{statistic}/period/{period}/{index}

Get usage index

Get usage

Path: /1/usage/{statistic}/period/{period}
HTTP Verb: GET

Description:
This method gets a statistic over a period of time

Parameters:

period
type: string
Required

Possible values:

  • day: 1 day ago, 1 point per 1 hour (24 points)
  • month: 1 month ago (30 days), 1 point per day (30 points)
  • year: 1 year ago (365 days), 1 point per day (365 points)
statistic
type: string
Required

Possible values:

To avoid unnecessary extra calls, you may want to request all or part of the following metrics with the different Grouping statistics listed below.

Search operations

  • queries_operations: Number of single queries
  • multi_queries_operations: Number of multiple queries (queries within batches)

ACL operations

  • get_api_key_operations: Number of Get API Key operations
  • get_api_keys_operations: Number of Get API Keys operations
  • add_api_key_operations: Number of Add API Key operations
  • update_api_key_operations: Number of Update API Key operations
  • delete_api_key_operations: Number of Delete API Key operations
  • list_api_key_operations: Number of List API Keys operations

Indexing operations

  • browse_operations: Number of Browse operations
  • clear_index_operations: Number of Clear Index operations
  • copy_move_operations: Number of Copy or Move Index operations
  • delete_index_operations: Number of Delete Index operations
  • get_log_operations: Number of Get Logs operations
  • get_settings_operations: Number of Get Settings operations
  • list_indices_operations: Number of List Indices operations
  • set_settings_operations: Number of Set Settings operations
  • wait_task_operations: Number of Wait Task operations

Record operations

  • add_record_operations: Number of Add Object operations
  • batch_operations: Number of Batch operations
  • delete_by_query_operations: Number of Delete By Query operations
  • delete_record_operations: Number of Delete Object operations
  • get_record_operations: Number of Get Object operations
  • partial_update_record_operations: Number of Partial Update Object operations
  • update_record_operations: Number of Update Object operations

Synonym operations

  • batch_synonym_operations: Number of Batch Synonyms operations
  • delete_synonym_operations: Number of Delete Synonym operations
  • get_synonym_operations: Number of Get Synonym operations
  • query_synonym_operations: Number of Search Synonym operations
  • update_synonym_operations: Number of Update Synonym operations

Rule operations

  • batch_rules_operations: Number of Batch Rules operations
  • clear_rules_operations: Number of Clear Rules operations
  • delete_rules_operations: Number of Delete Rule operations
  • get_rules_operations: Number of Get Rule operations
  • save_rules_operations: Number of Save Rule operations
  • search_rules_operations: Number of Search Rules operations

Total operations

  • total_search_operations: Sum of all Search operations metrics
  • total_acl_operations: Sum of all ACL operations metrics
  • total_indexing_operations: Sum of all Indexing operations metrics
  • total_records_operations: Sum of all Record operations metrics
  • total_synonym_operations: Sum of all Synonym operations metrics
  • total_rules_operations: Sum of all Rule operations metrics
  • total_write_operations: Sum of all Write metrics
  • total_read_operations: Sum of all Read operations
  • total_operations: Sum of all operations

Processing time

  • avg_processing_time: Average processing time (in millisecond)
  • 90p_processing_time: 90th percentile of processing time (in millisecond)
  • 99p_processing_time: 99th percentile of processing time (in millisecond)
  • queries_above_last_ms_processing_time: Number of queries processed in 1s or more

Indices

  • records Total number of records
  • data_size Total size of all the indices’ records (in byte)
  • file_size Total size of all the indices’ records and metadata (in byte)

Maximum QPS (query per second)

  • max_qps: Maximum number of query per second over the period (per server)
  • region_max_qps: Maximum number of query per second over the period (per region)
  • total_max_qps: Maximum number of query per second across all servers

Used search capacity

  • used_search_capacity: Percentage of Used Search Capacity (per server)
  • region_used_search_capacity: Percentage of Used Search Capacity (per region)
  • total_used_search_capacity: Percentage of Used Search Capacity across all servers

Degraded queries

You use the degraded_queries_* methods to monitor the impact on queries when the server is overloaded. For some methods, we speak of “seconds impacted”. This refers to the percentage of seconds, for a given period, that were affected by a particular degradation. For instance, if degraded_queries_max_capacity_seconds_impacted returns 50% for one hour, it means that 1800/3600 were affected by a max_capacity. Note that the impacted seconds may not be contiguous.

  • degraded_queries_ssd_used_queries_impacted: Percentage of queries that made the Algolia search engine read from the SSD.
  • degraded_queries_ssd_used_seconds_impacted: Percentage of seconds impacted by a ssd_used degradation.
  • degraded_queries_max_capacity_queries_impacted: Percentage of queries degraded because all threads available for search were used.
  • degraded_queries_max_capacity_seconds_impacted: Percentage of seconds impacted by a max_capacity degradation.

You can get information on degraded queries by making the following call to the REST API. In this example, we retrieve all degraded queries from the last day.

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/usage/degraded_queries_*/period/day"

Grouping

  • *: returns all the Usage metrics in the same response
  • search_operations: returns all Search operations metrics in the same response
  • acl_operations: returns all ACL operations metrics in the same response
  • indexing_operations: returns all Indexing operations metrics in the same response
  • record_operations: returns all Record operations metrics in the same response
  • synonym_operations: returns all Synonym operations metrics in the same response
  • rule_operations: returns all Rule operations metrics in the same response

Errors:

  • 400: metric or period is not acceptable

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/usage/records,max_qps,region_max_qps/period/day"

When the query is successful, the HTTP response is a 200 OK and returns the metrics:

  • t: Timestamp in milliseconds
  • v: Value of the metric

Depending on the metric kind, the type of the value may differ. The majority of the metrics are integer values except the following ones:

  • degraded_queries_*
  • max_qps
  • region_*
  • used_search_capacity

The values of those metrics are returned as maps of string to integer where the keys are server names, or regions in the case of region_* metrics.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "records": [
    {"t": 1455451200000, "v": 53863464},
    {"t": 1455454800000, "v": 53897109},
    ...
  ],
  "max_qps": [
    {"t": 1455451200000, "v": {"c4-fr-1": 35, "c4-fr-2": 40, "c4-fr-3": 37}},
    {"t": 1455454800000, "v": {"c4-fr-1": 34, "c4-fr-2": 35, "c4-fr-3": 33}},
    ...
  ],
  "region_max_qps": [
    {"t": 1455451200000, "v": {"eu": 185}},
    {"t": 1455454800000, "v": {"eu": 186}},
    ...
  ]
}

Get usage index

Path: /1/usage/{statistic}/period/{period}/{index}
HTTP Verb: GET

Description:
This method gets a statistic over a period of time

Parameters:

period
type: string
Required

Possible values:

  • day: 1 day ago, 1 point per 1 hour (24 points)
  • month: 1 month ago (30 days), 1 point per day (30 points)
  • year: 1 year ago (365 days), 1 point per day (365 points)
index
type: string
Required

Index name

statistic
type: string
Required

Possible values:

To avoid unnecessary extra calls, you may want to request all or part of the following metrics with the different Grouping statistics listed below.

Search operations

  • queries_operations: Number of single queries
  • multi_queries_operations: Number of multiple queries (queries within batches)

ACL operations

  • get_api_key_operations: Number of Get API Key operations
  • get_api_keys_operations: Number of Get API Keys operations
  • add_api_key_operations: Number of Add API Key operations
  • update_api_key_operations: Number of Update API Key operations
  • delete_api_key_operations: Number of Delete API Key operations
  • list_api_key_operations: Number of List API Keys operations

Indexing operations

  • browse_operations: Number of Browse operations
  • clear_index_operations: Number of Clear Index operations
  • copy_move_operations: Number of Copy or Move Index operations
  • delete_index_operations: Number of Delete Index operations
  • get_log_operations: Number of Get Logs operations
  • get_settings_operations: Number of Get Settings operations
  • list_indices_operations: Number of List Indices operations
  • set_settings_operations: Number of Set Settings operations
  • wait_task_operations: Number of Wait Task operations

Record operations

  • add_record_operations: Number of Add Object operations
  • batch_operations: Number of Batch operations
  • delete_by_query_operations: Number of Delete By Query operations
  • delete_record_operations: Number of Delete Object operations
  • get_record_operations: Number of Get Object operations
  • partial_update_record_operations: Number of Partial Update Object operations
  • update_record_operations: Number of Update Object operations

Synonym operations

  • batch_synonym_operations: Number of Batch Synonyms operations
  • delete_synonym_operations: Number of Delete Synonym operations
  • get_synonym_operations: Number of Get Synonym operations
  • query_synonym_operations: Number of Search Synonym operations
  • update_synonym_operations: Number of Update Synonym operations

Rule operations

  • batch_rules_operations: Number of Batch Rules operations
  • clear_rules_operations: Number of Clear Rules operations
  • delete_rules_operations: Number of Delete Rule operations
  • get_rules_operations: Number of Get Rule operations
  • save_rules_operations: Number of Save Rule operations
  • search_rules_operations: Number of Search Rules operations

Total operations

  • total_search_operations: Sum of all Search operations metrics
  • total_acl_operations: Sum of all ACL operations metrics
  • total_indexing_operations: Sum of all Indexing operations metrics
  • total_records_operations: Sum of all Record operations metrics
  • total_synonym_operations: Sum of all Synonym operations metrics
  • total_rules_operations: Sum of all Rule operations metrics
  • total_write_operations: Sum of all Write metrics
  • total_read_operations: Sum of all Read operations
  • total_operations: Sum of all operations

Processing time

  • avg_processing_time: Average processing time (in millisecond)
  • 90p_processing_time: 90<sup>th</sup> percentile of processing time (in millisecond)
  • 99p_processing_time: 99<sup>th</sup> percentile of processing time (in millisecond)
  • queries_above_last_ms_processing_time: Number of queries processed in 1s or more

Indices

  • records Total number of records
  • data_size Total size of all the indices’ records (in byte)
  • file_size Total size of all the indices’ records and metadata (in byte)

Grouping

  • *: returns all the Usage metrics in the same response
  • search_operations: returns all Search operations metrics in the same response
  • acl_operations: returns all ACL operations metrics in the same response
  • indexing_operations: returns all Indexing operations metrics in the same response
  • record_operations: returns all Record operations metrics in the same response
  • synonym_operations: returns all Synonym operations metrics in the same response
  • rule_operations: returns all Rule operations metrics in the same response

Errors:

  • 400: metric or period or index is not acceptable

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/usage/records,avg_processing_time/period/day/users"

When the query is successful, the HTTP response is a 200 OK and returns the metrics:

  • t: Timestamp in milliseconds
  • v: Value of the metric
1
2
3
4
5
6
7
8
9
10
11
12
{
  "records": [
    {"t": 1455451200000, "v": 53863464},
    {"t": 1455454800000, "v": 53897109},
    ...
  ],
  "avg_processing_time": [
    {"t": 1455451200000, "v": 2},
    {"t": 1455454800000, "v": 3},
    ...
  ]
}

Monitoring Endpoints

Quick Reference

Verb Path Method

GET

/1/inventory/servers

Inventory servers

GET

/1/inventory/probes

Inventory probes

GET

/1/latency/{servers}

Average latency

GET

/1/latency/{servers}/probes/relevant

Relevant latency

GET

/1/latency/{servers}/probes/others

Others latency

GET

/1/indexing/{servers}

Get indexing time

GET

/1/reachability/{servers}/probes

Server Reachability

Inventory servers

Path: /1/inventory/servers
HTTP Verb: GET

Description:
This method gets all the clusters & replicas for this APP_ID

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/inventory/servers"

When the query is successful, the HTTP response is a 200 OK and returns the inventory: 7f3c958936c885de959cb4c55e45751e

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
  "inventory": [{
    "name": "c4-fr-1",
    "region": "eu",
    "is_replica": false,
    "cluster": "c4-fr"
  }, {
    "name": "c4-fr-2",
    "region": "eu",
    "is_replica": false,
    "cluster": "c4-fr"
  }, {
    "name": "c4-fr-3",
    "region": "eu",
    "is_replica": false,
    "cluster": "c4-fr"
  }]
}

Inventory probes

Path: /1/inventory/probes
HTTP Verb: GET

Description:
This method gets all the probes associated with this APP_ID

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/inventory/probes"

When the query is successful, the HTTP response is a 200 OK and returns the probes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
  "probes": [{
    "name": "sdn-probe-frankfurt",
    "city": "Frankfurt",
    "country": "DE",
    "latitude": 50.110922,
    "longitude": 8.682127,
    "regions": ["eu", "de", "ru", "nl"]
  }, {
    "name": "sdn-probe-awswest1",
    "city": "N. California (AWS)",
    "country": "US",
    "latitude": 41.487222,
    "longitude": -120.5425,
    "regions": ["usw", "use", "ca", "usc"]
  }]
}

Average latency

Path: /1/latency/{servers}
HTTP Verb: GET

Description:
This method gets the average latency from relevant probes for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/latency/c4-fr"

When the query is successful, the HTTP response is a 200 OK and returns average latency from releveant probes for these servers:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "metrics": {
    "latency": {
      "c4-fr": [{
        "t": 1464524400000,
        "v": 28
      }, {
        "t": 1464525000000,
        "v": 29
      }, {
        "t": 1464525600000,
        "v": 29
      }]
    }
  }
}

Relevant latency

Path: /1/latency/{servers}/probes/relevant
HTTP Verb: GET

Description:
This method gets the latency from relevant probes for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/latency/c4-fr/probes/relevant"

When the query is successful, the HTTP response is a 200 OK and returns the latency from releveant probes for these servers:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "metrics": {
    "latency_by_probes": {
      "c4-fr": {
        "sdn-probe-frankfurt": [{
          "t": 1464525000000,
          "v": 14
        }, {
          "t": 1464525600000,
          "v": 14
        }, {
          "t": 1464526200000,
          "v": 14
        }, {
          "t": 1464526800000,
          "v": 15
        }]
      }
    }
  }
}

Others latency

Path: /1/latency/{servers}/probes/others
HTTP Verb: GET

Description:
This method gets the latency from others probes for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/latency/c4-fr/probes/others"

When the query is successful, the HTTP response is a 200 OK and returns the latency from others probes for these servers:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
{
  "metrics": {
    "latency_by_probes": {
      "c4-fr": {
        "sdn-probe-frankfurt": [{
          "t": 1464525000000,
          "v": 14
        }, {
          "t": 1464525600000,
          "v": 14
        }, {
          "t": 1464526200000,
          "v": 14
        }, {
          "t": 1464526800000,
          "v": 15
        }]
      }
    }
  }
}

Get indexing time

Path: /1/indexing/{servers}
HTTP Verb: GET

Description:
This method gets the average indexing time for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/indexing/c4-fr"

When the query is successful, the HTTP response is a 200 OK and returns the average indexing time for the servers:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "metrics": {
    "indexing": {
      "c4-fr": [{
        "t": 1464524400000,
        "v": 28
      }, {
        "t": 1464525000000,
        "v": 29
      }, {
        "t": 1464525600000,
        "v": 29
      }]
    }
  }
}

Server Reachability

Path: /1/reachability/{servers}/probes
HTTP Verb: GET

Description:
This method gets the reachability for the servers passed in the URL

Parameters:

servers
type: string
Required

A comma-separated list of the servers (ex: c4-fr,c3-eu)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/reachability/c4-fr/probes"

When the query is successful, the HTTP response is a 200 OK and returns the reachability for the servers passed in the URL:

1
2
3
4
5
6
7
8
{
  "c4-fr": {
    "sdn-probe-frankfurt": true,
    "sdn-probe-awswest1": true,
    "monitoring-2": true,
    "sdn-probe-rosario": true
  }
}

Infrastructure Endpoints

Quick Reference

Verb Path Method

GET

/1/infrastructure/{metric}/period/{period}

Get Infrastructure metrics

Get Infrastructure metrics

Path: /1/infrastructure/{metric}/period/{period}
HTTP Verb: GET

Description:
This method gets a metric over a period of time

Parameters:

metric
type: string
Required

Possible values:

  • avg_build_time: Average build time of the indices in seconds
  • ssd_usage: SSD usage in % (0 means no utilisation)
  • ram_search_usage: RAM usage for the search in Mbytes
  • ram_indexing_usage: RAM usage for the indexing in Mbytes
  • cpu_usage: CPU usage in % (0 means no utilisation)
  • cpu_time: Time the cpu uses to compute the search in milliseconds
  • *: All of the above
period
type: string
Required

Possible values:

  • minute: 1 minute ago, 1 point per 10 seconds (10 points)
  • hour: 1 hour ago, 1 point per 1 minute (60 points)
  • day: 1 day ago, 1 point per 10 minutes (144 points)
  • week: 1 week ago, 1 point per 1 hour (168 points)
  • month: 1 month ago, 1 point per 1 day (30 points)

Example:

1
2
3
4
5
curl -X GET \
     -H "X-Algolia-API-Key: ${API_KEY}" \
     -H "X-Algolia-Application-Id: ${APPLICATION_ID}" \
     --compressed \
    "https://status.algolia.com/1/infrastructure/cpu_usage/period/minute"

When the query is successful, the HTTP response is a 200 OK and returns the metrics:

  • t: Timestamp in milliseconds
  • v: value of the metric
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{
  "period": "1min",
  "metrics": {
    "cpu_usage": {
      "s4-fr": {
        "region": "fr",
        "data": [{
          "t": 1455101280,
          "v": 46
        }, {
          "t": 1455101290,
          "v": 46
        }, {
          "t": 1455101300,
          "v": 46
        }],
        "is_replica": true
      },
      "c3-use-1": {
        "region": "use",
        "data": [{
          "t": 1455101280,
          "v": 42
        }, {
          "t": 1455101290,
          "v": 42
        }, {
          "t": 1455101300,
          "v": 42
        }, {
          "t": 1455101310,
          "v": 37
        }],
        "cluster": "c3-use",
        "is_replica": false
      },
      "c3-use-2": {
        "region": "use",
        "data": [{
          "t": 1455101280,
          "v": 56
        }, {
          "t": 1455101290,
          "v": 56
        }, {
          "t": 1455101300,
          "v": 56
        }, {
          "t": 1455101310,
          "v": 56
        }, {
          "t": 1455101320,
          "v": 51
        }],
        "cluster": "c3-use",
        "is_replica": false
      },
      "c3-use-3": {
        "region": "use",
        "data": [{
          "t": 1455101280,
          "v": 51
        }, {
          "t": 1455101290,
          "v": 51
        }, {
          "t": 1455101300,
          "v": 51
        }, {
          "t": 1455101310,
          "v": 51
        }, {
          "t": 1455101320,
          "v": 64
        }],
        "cluster": "c3-use",
        "is_replica": false
      }
    }
  }
}

Did you find this page helpful?