Overview
The Analytics Administration REST APIs are provided by the Analytics service. These APIs enables you to manage and monitor the Analytics service.
Version information
Version : 7.6
Host information
http://localhost:8095
The API schemes and host URLs are as follows:
-
http://node:8095/
-
https://node:18095/
(for secure access)
where node
is the host name or IP address of a node running the Analytics service.
Resources
This section describes the operations available with this REST API.
Request Cancellation
Cluster Status
Completed Requests
Ingestion Status
Pending Mutations
Cluster Restart
Node Restart
Active Requests
Request Cancellation
DELETE /analytics/admin/active_requests
Parameters
Name | Description | Schema |
---|---|---|
client_context_id |
Identifier passed by the client that is used to identify an active request to be cancelled. |
String |
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
The operation was successful. |
|
400 |
Bad request. Incorrect parameter or missing value. |
|
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect, or there is no active request with the specified identifier. |
Example HTTP Request
The example below uses the client_context_id
used in the Query Service example to identify the request.
curl -v -u Administrator:password -X DELETE \
http://localhost:8095/analytics/admin/active_requests \
-d client_context_id=xyz
Cluster Status
GET /analytics/cluster
Description
Shows various details about the current status of the Analytics Service, such as the service state, the state of each node partition, and the replicas of each partition.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an object giving the current status of the Analytics Service. |
|
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Example HTTP Request
curl -v -u Administrator:password http://localhost:8095/analytics/cluster
Example HTTP Response
{
"authorizedNodes": [
"86586a966202b5aa4aed31633f330aba",
"948fb3af810a9b7bc6c76e2a69ba35d9"
],
"ccNodeId": "86586a966202b5aa4aed31633f330aba",
"nodeConfigUri": "/analytics/config/node",
"nodeDiagnosticsUri": "/analytics/node/diagnostics",
"nodeRestartUri": "/analytics/node/restart",
"nodeServiceUri": "/analytics/service",
"nodes": [
{
"apiBase": "http://192.168.8.101:8095",
"apiBaseHttps": "https://192.168.8.101:18095",
"nodeId": "86586a966202b5aa4aed31633f330aba",
"nodeName": "192.168.8.101:8091"
},
{
"apiBase": "http://192.168.8.102:8095",
"apiBaseHttps": "https://192.168.8.102:18095",
"nodeId": "948fb3af810a9b7bc6c76e2a69ba35d9",
"nodeName": "192.168.8.102:8091"
}
],
"partitions": [
{
"active": true,
"activeNodeId": "86586a966202b5aa4aed31633f330aba",
"iodeviceNum": 0,
"nodeId": "86586a966202b5aa4aed31633f330aba",
"partitionId": 0,
"path": "/data/@analytics/v_iodevice_0",
"pendingActivation": false
},
{
"active": true,
"activeNodeId": "948fb3af810a9b7bc6c76e2a69ba35d9",
"iodeviceNum": 0,
"nodeId": "948fb3af810a9b7bc6c76e2a69ba35d9",
"partitionId": 1,
"path": "/data/@analytics/v_iodevice_0",
"pendingActivation": false
}
],
"partitionsTopology": {
"balanced": true,
"ccNodeId": "86586a966202b5aa4aed31633f330aba",
"metadataPartition": -1,
"numReplicas": 1,
"partitions": [
{
"id": "0",
"master": "86586a966202b5aa4aed31633f330aba",
"origin": "86586a966202b5aa4aed31633f330aba",
"replicas": [
{
"location": "192.168.8.102:9120",
"nodeId": "948fb3af810a9b7bc6c76e2a69ba35d9",
"status": "IN_SYNC",
"syncProgress": "1"
}
]
},
{
"id": "1",
"master": "948fb3af810a9b7bc6c76e2a69ba35d9",
"origin": "948fb3af810a9b7bc6c76e2a69ba35d9",
"replicas": [
{
"location": "192.168.8.101:9120",
"nodeId": "86586a966202b5aa4aed31633f330aba",
"status": "IN_SYNC",
"syncProgress": "1"
}
]
},
{
"id": "-1",
"master": "86586a966202b5aa4aed31633f330aba",
"origin": "86586a966202b5aa4aed31633f330aba",
"replicas": [
{
"location": "192.168.8.102:9120",
"nodeId": "948fb3af810a9b7bc6c76e2a69ba35d9",
"status": "IN_SYNC",
"syncProgress": "1"
}
]
}
],
"revision": 1,
"version": 1
},
"serviceConfigUri": "/analytics/config/service",
"serviceDiagnosticsUri": "http://localhost:8095/analytics/cluster/diagnostics",
"serviceRestartUri": "http://localhost:8095/analytics/cluster/restart",
"state": "ACTIVE"
}
Completed Requests
Couchbase Server 7.6.2
GET /analytics/admin/completed_requests
This operation is available in Couchbase Server 7.6.2 and later.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns a list of all completed analytic requests. |
Request list |
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Example HTTP Request
curl -v -u Administrator:password -X GET \
http://localhost:8095/analytics/admin/completed_requests
Example HTTP Response
[
{
"cancellable": true,
"clientContextID": "92e62399-1bc2-49a3-87e6-5dd88b463045",
"elapsedTime": 0.021,
"jobId": null,
"jobQueueTime": 1716926862,
"jobRequiredCPUs": 0,
"jobRequiredMemory": 0,
"jobStatus": "null",
"node": "172.20.0.2:8095",
"remoteAddr": "172.20.0.2:53612",
"requestTime": "2024-05-28T19:44:07.730",
"scanConsistency": "not_bounded",
"state": "completed",
"statement": "select count(*) from hotel_endoresement_view;",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0",
"users": "Administrator",
"uuid": "9ea68a11-31f3-4ea5-9455-2686fa499b8d"
},
{
"cancellable": true,
"clientContextID": "28379d60-7139-44d6-b57a-95935540b586",
"elapsedTime": 0.228,
"jobCreateTime": "2024-05-28T19:47:02.512",
"jobEndTime": "2024-05-28T19:47:02.638",
"jobId": "JID:0.14",
"jobQueueTime": 0,
"jobRequiredCPUs": 1,
"jobRequiredMemory": 34013184,
"jobStartTime": "2024-05-28T19:47:02.514",
"jobStatus": "TERMINATED",
"node": "172.20.0.2:8095",
"plan": "{\n \"operator\" : \"distribute-result\",\n \"expressions\" : [ \"$$84\" ],\n \"operatorId\" :
. . .
\n } ]\n } ]\n } ]\n } ]\n}",
"remoteAddr": "172.20.0.2:53612",
"requestTime": "2024-05-28T19:47:02.412",
"scanConsistency": "not_bounded",
"state": "completed",
"statement": "select count(*) from hotel_endorsement_view;",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0",
"users": "Administrator",
"uuid": "91f60338-a3e0-4163-9287-5e723fda29ef"
}
]
Ingestion Status
GET /analytics/status/ingestion
Description
Shows the progress of ingestion by the Analytics service, for each Analytics collection.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an object giving the ingestion status of each Analytics collection. |
|
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Example HTTP Request
curl -v -u Administrator:password http://localhost:8095/analytics/status/ingestion
Example HTTP Response
{
"links": [
{
"name": "Local",
"scope": "travel-sample/tenant_agent_02",
"status": "healthy",
"state": [
{
"timestamp": 1631107234921,
"progress": 1,
"scopes": [
{
"collections": [
{
"name": "users"
}
],
"name": "travel-sample/tenant_agent_02"
}
]
}
]
},
{
"name": "Local",
"scope": "travel-sample/inventory",
"status": "healthy",
"state": [
{
"timestamp": 1631107234921,
"progress": 1,
"scopes": [
{
"collections": [
{
"name": "airport"
},
{
"name": "landmark"
}
],
"name": "travel-sample/inventory"
}
]
},
{
"timestamp": 1631107234921,
"progress": 0.9821428571428571,
"timeLag": 4840,
"itemsProcessed": 23595,
"seqnoAdvances": 49129,
"scopes": [
{
"collections": [
{
"name": "route"
}
],
"name": "travel-sample/inventory"
}
]
}
]
}
]
}
Pending Mutations
GET /analytics/node/agg/stats/remaining
This operation is deprecated, and will be removed in a future release. |
Description
Shows the number of mutations in the DCP queue that have not yet been ingested by the Analytics service, for each Analytics collection.
NOTE: This endpoint may not return meaningful results in Couchbase Server 7.0 and later. The reported number of mutations may be different to the actual number of mutations in the Analytics collection. For this reason, this endpoint has been deprecated, and you should use the Ingestion Status endpoint instead.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an object giving the number of pending mutations for each Analytics collection. |
|
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Cluster Restart
POST /analytics/cluster/restart
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted. Returns an object showing the status of the cluster. |
Object |
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Example HTTP Request
curl -v -u Administrator:password -X POST http://localhost:8095/analytics/cluster/restart
Example HTTP Response
{
"cluster" : {
"metadata_node" : "edfb6de9c91d7fb36399fea3ce620c5c",
"ncs" : [ {
"node_id" : "edfb6de9c91d7fb36399fea3ce620c5c",
"partitions" : [ {
"active" : true,
"partition_id" : "partition_0"
} ],
"pid" : 5763,
"state" : "ACTIVE"
} ],
"state" : "ACTIVE"
},
"date" : "Wed Oct 10 15:35:56 BST 2018",
"status" : "SHUTTING_DOWN"
}
Node Restart
POST /analytics/node/restart
Responses
HTTP Code | Description | Schema |
---|---|---|
202 |
Accepted. Returns an object showing the status of the node. |
Object |
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Active Requests
Couchbase Server 7.6.2
GET /analytics/admin/active_requests
This operation is available in Couchbase Server 7.6.2 and later.
Responses
HTTP Code | Description | Schema |
---|---|---|
200 |
Success. Returns an array id details on the running requests. |
Request list |
401 |
Unauthorized. The user name or password may be incorrect. Returns an object containing an error message. Refer to Error Codes. |
Object |
404 |
Not found. The path may be incorrect. |
Example HTTP Request
curl -v -u Administrator:password -X GET \
http://localhost:8095/analytics/admin/active_requests
Example HTTP Response
[
{
"cancellable": true,
"clientContextID": "28379d60-7139-44d6-b57a-95935540b586",
"elapsedTime": 0.126,
"jobCreateTime": "2024-05-28T19:47:02.512",
"jobId": "JID:0.14",
"jobQueueTime": 0,
"jobRequiredCPUs": 1,
"jobRequiredMemory": 34013184,
"jobStartTime": "2024-05-28T19:47:02.514",
"jobStatus": "RUNNING",
"node": "172.20.0.2:8095",
"remoteAddr": "172.20.0.2:53612",
"requestTime": "2024-05-28T19:47:02.412",
"scanConsistency": "not_bounded",
"state": "running",
"statement": "select count(*) from hotel_endorsement_view;",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0",
"users": "Administrator",
"uuid": "91f60338-a3e0-4163-9287-5e723fda29ef"
}
]
Definitions
This section describes the properties consumed and returned by this REST API.
Ingestion
Links
States
State Scopes
State Collections
Mutations
Collections
Request
Status
Nodes
Partitions
Partition Topology
Partition States
Replicas
Ingestion
Property | Schema | |
---|---|---|
links |
An array of objects, each giving information about a single linked Analytics scope. |
Links list |
Links
Property | Schema | |
---|---|---|
name |
The name of the link. Example: |
String |
scope |
The name of the Analytics scope. Example: |
String |
status |
The status of the Analytics scope. Values: |
String |
state |
An array of objects, each giving the ingestion state of one or more Analytics collections. Analytics collections which have the same ingestion state within this Analytics scope are aggregated together. |
States list |
States
Property | Schema | |
---|---|---|
timestamp |
The time since epoch that this sample was calculated, in milliseconds. Example: |
Integer |
progress |
The percentage (fraction from 0 to 1) of ingestion progress at the current time. Minimum: |
Double (double) |
timeLag |
The estimated time that the ingestion lags behind the Data service, in milliseconds. Only displayed for Analytics collections that are not fully ingested. Example: |
Integer |
itemsProcessed |
The number of items ingested since last connect; that is, the total number of mutations and deletions processed. Only displayed for Analytics collections that are not fully ingested. Note that this value is reset on connect, so it may appear to get smaller. Example: |
Integer |
seqnoAdvances |
The change in sequence number (seqno) since last connect. Only displayed for Analytics collections that are not fully ingested. Example: |
Integer |
scopes |
An array of objects, each one giving information about a single Analytics scope. |
State Scopes list |
State Scopes
Property | Schema | |
---|---|---|
name |
The name of the Analytics scope. Example: |
String |
collections |
An array of objects, each one giving information about a single Analytics collection. |
State Collections list |
State Collections
Property | Schema | |
---|---|---|
name |
The name of the Analytics collection. Example: |
String |
Mutations
An object containing one or more nested scope objects, one for each available Analytics scope.
Property | Schema | |
---|---|---|
additional |
An object containing one or more collection properties, one for each Analytics collection in the Analytics scope. The name of the object is the name of the Analytics scope, in display form. For example, |
Collections
Property | Schema | |
---|---|---|
additional |
The number of mutations in the DCP queue that have not yet been ingested. The name of the property is the name of the Analytics collection. |
Integer |
Request
Property | Schema | |
---|---|---|
cancellable |
Whether this request can be cancelled. |
Boolean |
clientContextID |
A context ID for debugging purposes. Example: |
String |
elapsedTime |
How long the request has been running in seconds. Example: |
BigDecimal |
jobCreateTime |
The date and time when the request's job was created. Example: |
String |
jobId |
The request's job ID. This value can be null if request did not run (for example, due to an error). Example: |
String |
jobQueueTime |
How long the request's job has been in the queue waiting to run in seconds. Example: |
BigDecimal |
jobRequiredCPUs |
The number of CPU cores required to run this request. Example: |
Integer |
jobRequiredMemory |
The bytes of RAM being used to process this request. Example: |
Integer |
jobStartTime |
The date and time the request's job began running. Example: |
String |
jobStatus |
The state of the request's job. Values: |
String |
plan |
The query plan for this request. |
String |
node |
The Analytics node that received the request. Example: |
String |
remoteAddr |
The network address and port of the client that made the request. Example: |
String |
requestTime |
The date and time the request was received. Example: |
String |
scanConsistency |
The Scan Consistency setting used for the request's query. Example: |
String |
state |
The state of the request. Values: |
String |
statement |
The SQL++ query statement being run by the request. Example: |
String |
userAgent |
The user agent string of the browser that made the request. Example: |
String |
users |
The user who made the request. Example: |
String |
uuid |
The unique identifier for this request. Example: |
String |
Status
Property | Schema | |
---|---|---|
authorizedNodes |
An array of strings, each of which is the ID of an authorized Analytics node. Example: |
String list |
ccNodeId |
The ID of the cluster controller node. Example: |
String |
nodeConfigUri |
The path of the Analytics Node Configuration REST API. Example: |
String |
nodeDiagnosticsUri |
The path of the Analytics Node Diagnostics REST API. For internal use only. Example: |
String |
nodeRestartUri |
The path of the Analytics Node Restart REST API. Example: |
String |
nodeServiceUri |
The path of the Analytics Query Service REST API. Example: |
String |
serviceConfigUri |
The path of the Analytics Service Configuration REST API. Example: |
String |
serviceDiagnosticsUri |
The full URI of the Analytics Service Diagnostics REST API. For internal use only. Example: |
String |
serviceRestartUri |
The full URI of the Analytics Cluster Restart REST API. Example: |
String |
state |
The state of the Analytics Service. Values: |
String |
nodes |
An array of objects, each giving information about one Analytics node. |
Nodes list |
partitions |
An array of objects, each giving information about one Analytics partition. |
Partitions list |
partitionsTopology |
An object giving information about the partition topology. |
Nodes
Property | Schema | |
---|---|---|
apiBase |
The URI scheme, host, and port for HTTP access to Analytics REST APIs on this node. Example: |
String |
apiBaseHttps |
The URI scheme, host, and port for secure HTTPS access to Analytics REST APIs on this node. Example: |
String |
nodeId |
The ID of the node. Example: |
String |
nodeName |
The name or IP address of the node, including the cluster administration port. Example: |
String |
Partitions
Property | Schema | |
---|---|---|
active |
Indicates whether this partition is active. Example: |
Boolean |
activeNodeId |
The ID of the node where this partition is currently active. Example: |
String |
iodeviceNum |
The number of the IO Device where this partition is located. Example: |
Integer |
nodeId |
The ID of the node where this partition originated. Example: |
String |
partitionId |
The ID of this partition. Example: |
Integer |
path |
The path of the IO Device where this partition is located. Example: |
String |
pendingActivation |
Indicates whether this partition is waiting to become active. Example: |
Boolean |
Partition Topology
Property | Schema | |
---|---|---|
balanced |
Indicates whether the Analytics nodes are balanced. Example: |
Boolean |
ccNodeId |
The ID of the cluster controller node. Example: |
String |
metadataPartition |
The ID of the metadata partition. Example: |
Integer |
numReplicas |
The number of Analytics replicas. Example: |
Integer |
revision |
The revision number of the partition topology. Example: |
Integer |
version |
The version number of the partition topology. Example: |
Integer |
partitions |
An array of objects, each giving information about the state of one Analytics partition. |
Partition States list |
Partition States
Property | Schema | |
---|---|---|
id |
The partition ID. Example: |
Integer |
master |
The ID of the node where the partition is currently active. Example: |
String |
origin |
The ID of the node where the partition originated. Example: |
String |
replicas |
An array of objects, each giving information about the state of one Analytics replica. |
Replicas list |
Replicas
Property | Schema | |
---|---|---|
location |
The name or IP address of the node where this replica is located, including the Analytics replication port. Example: |
String |
nodeId |
The ID of the node where this replica is located. Example: |
String |
status |
The synchronization status of the replica. Values: |
String |
syncProgress |
The percentage (fraction from 0 to 1) of synchronization progress for this replica at the current time. Minimum: |
Double (double) |
Security
The Analytics Administration REST APIs support HTTP basic authentication. Credentials can be passed via HTTP headers.
Analytics Manage / Analytics Select
For the Active Requests, Request Cancellation, Completed Requests, Ingestion Status, and Pending Mutations operations, users must have one of the following access roles:
- Full Admin
- Cluster Admin
- Analytics Manager
- Analytics Reader
- Analytics Select
- Analytics Admin
Type : http
Cluster Read / Pools Read
For the Cluster Status operation, users must have one of the following access roles:
- Full Admin
- Cluster Admin
- Read-Only Admin
- Analytics Admin
Type : http
Analytics Manage
For the Cluster Restart and Node Restart operations, users must have one of the following RBAC roles:
- Full Admin
- Cluster Admin
- Analytics Admin
Type : http
Refer to Roles for more details.