Get follower stats API

edit

This functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.

Get follower stats.

Description

edit

This API gets follower stats. This API will return shard-level stats about the following tasks associated with each shard for the specified indices.

Request

edit
GET /<index>/_ccr/stats

Path Parmeters

edit
index
(string) a comma-delimited list of index patterns

Results

edit

This API returns the following information:

indices
(array) an array of follower index statistics

The indices array consists of objects containing two fields:

indices[].index
(string) the name of the follower index
indices[].shards
(array) an array of shard-level following task statistics

The shards array consists of objects containing the following fields:

indices[].shards[].remote_cluster
(string) The remote cluster containing the leader index.
indices[].shards[].leader_index
(string) the name of the index in the leader cluster being followed
indices[].shards[].follower_index
(string) the name of the follower index
indices[].shards[].shard_id
(integer) the numerical shard ID, with values from 0 to one less than the number of replicas
indices[].shards[].leader_global_checkpoint
(long) the current global checkpoint on the leader known to the follower task
indices[].shards[].leader_max_seq_no
(long) the current maximum sequence number on the leader known to the follower task
indices[].shards[].follower_global_checkpoint
(long) the current global checkpoint on the follower; the difference between the leader_global_checkpoint and the follower_global_checkpoint is an indication of how much the follower is lagging the leader
indices[].shards[].follower_max_seq_no
(long) the current maximum sequence number on the follower
indices[].shards[].last_requested_seq_no
(long) the starting sequence number of the last batch of operations requested from the leader
indices[].shards[].outstanding_read_requests
(integer) the number of active read requests from the follower
indices[].shards[].outstanding_write_requests
(integer) the number of active bulk write requests on the follower
indices[].shards[].write_buffer_operation_count
(integer) the number of write operations queued on the follower
indices[].shards[].follower_mapping_version
(long) the mapping version the follower is synced up to
indices[].shards[].follower_settings_version
(long) the index settings version the follower is synced up to
indices[].shards[].total_read_time_millis
(long) the total time reads were outstanding, measured from the time a read was sent to the leader to the time a reply was returned to the follower
indices[].shards[].total_read_remote_exec_time_millis
(long) the total time reads spent executing on the remote cluster
indices[].shards[].successful_read_requests
(long) the number of successful fetches
indices[].shards[].failed_read_requests
(long) the number of failed reads
indices[].shards[].operations_read
(long) the total number of operations read from the leader
indices[].shards[].bytes_read
(long) the total of transferred bytes read from the leader (note this is only an estimate, and does not account for compression if enabled)
indices[].shards[].total_write_time_millis
(long) the total time spent writing on the follower
indices[].shards[].write_buffer_size_in_bytes
(long) the total number of bytes of operations currently queued for writing
indices[].shards[].successful_write_requests
(long) the number of bulk write requests executed on the follower
indices[].shards[].failed_write_requests
(long) the number of failed bulk write requests executed on the follower
indices[].shards[].operations_written
(long) the number of operations written on the follower
indices[].shards[].read_exceptions
(array) an array of objects representing failed reads

The read_exceptions array consists of objects containing the following fields:

indices[].shards[].read_exceptions[].from_seq_no
(long) the starting sequence number of the batch requested from the leader
indices[].shards[].read_exceptions[].retries
(integer) the number of times the batch has been retried
indices[].shards[].read_exceptions[].exception
(object) represents the exception that caused the read to fail

Continuing with the fields from shards:

indices[].shards[].time_since_last_read_millis
(long) the number of milliseconds since a read request was sent to the leader; note that when the follower is caught up to the leader, this number will increase up to the configured read_poll_timeout at which point another read request will be sent to the leader
indices[].fatal_exception
(object) an object representing a fatal exception that cancelled the following task; in this situation, the following task must be resumed manually with the resume follower API

Authorization

edit

If the Elasticsearch security features are enabled, you must have monitor cluster privileges on the cluster that contains the follower index. For more information, see Security privileges.

Example

edit

This example retrieves follower stats:

GET /follower_index/_ccr/stats

The API returns the following results:

{
  "indices" : [
    {
      "index" : "follower_index",
      "shards" : [
        {
          "remote_cluster" : "remote_cluster",
          "leader_index" : "leader_index",
          "follower_index" : "follower_index",
          "shard_id" : 0,
          "leader_global_checkpoint" : 1024,
          "leader_max_seq_no" : 1536,
          "follower_global_checkpoint" : 768,
          "follower_max_seq_no" : 896,
          "last_requested_seq_no" : 897,
          "outstanding_read_requests" : 8,
          "outstanding_write_requests" : 2,
          "write_buffer_operation_count" : 64,
          "follower_mapping_version" : 4,
          "follower_settings_version" : 2,
          "total_read_time_millis" : 32768,
          "total_read_remote_exec_time_millis" : 16384,
          "successful_read_requests" : 32,
          "failed_read_requests" : 0,
          "operations_read" : 896,
          "bytes_read" : 32768,
          "total_write_time_millis" : 16384,
          "write_buffer_size_in_bytes" : 1536,
          "successful_write_requests" : 16,
          "failed_write_requests" : 0,
          "operations_written" : 832,
          "read_exceptions" : [ ],
          "time_since_last_read_millis" : 8
        }
      ]
    }
  ]
}