health

package
v8.16.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 16 Imported by: 4

Documentation

Overview

The cluster health API returns a simple status on the health of the cluster. You can also use the API to get the health status of only specified data streams and indices. For data streams, the API retrieves the health status of the stream’s backing indices. The cluster health status is: green, yellow or red. On the shard level, a red status indicates that the specific shard is not allocated in the cluster, yellow means that the primary shard is allocated but replicas are not, and green means that all shards are allocated. The index level status is controlled by the worst shard status. The cluster status is controlled by the worst index status.

Index

Constants

This section is empty.

Variables

View Source
var ErrBuildPath = errors.New("cannot build path, check for missing path parameters")

ErrBuildPath is returned in case of missing parameters within the build of the request.

Functions

This section is empty.

Types

type Health

type Health struct {
	// contains filtered or unexported fields
}

func New

The cluster health API returns a simple status on the health of the cluster. You can also use the API to get the health status of only specified data streams and indices. For data streams, the API retrieves the health status of the stream’s backing indices. The cluster health status is: green, yellow or red. On the shard level, a red status indicates that the specific shard is not allocated in the cluster, yellow means that the primary shard is allocated but replicas are not, and green means that all shards are allocated. The index level status is controlled by the worst shard status. The cluster status is controlled by the worst index status.

https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html

func (Health) Do

func (r Health) Do(providedCtx context.Context) (*Response, error)

Do runs the request through the transport, handle the response and returns a health.Response

func (*Health) ErrorTrace added in v8.14.0

func (r *Health) ErrorTrace(errortrace bool) *Health

ErrorTrace When set to `true` Elasticsearch will include the full stack trace of errors when they occur. API name: error_trace

func (*Health) ExpandWildcards

func (r *Health) ExpandWildcards(expandwildcards ...expandwildcard.ExpandWildcard) *Health

ExpandWildcards Whether to expand wildcard expression to concrete indices that are open, closed or both. API name: expand_wildcards

func (*Health) FilterPath added in v8.14.0

func (r *Health) FilterPath(filterpaths ...string) *Health

FilterPath Comma-separated list of filters in dot notation which reduce the response returned by Elasticsearch. API name: filter_path

func (*Health) Header

func (r *Health) Header(key, value string) *Health

Header set a key, value pair in the Health headers map.

func (*Health) HttpRequest

func (r *Health) HttpRequest(ctx context.Context) (*http.Request, error)

HttpRequest returns the http.Request object built from the given parameters.

func (*Health) Human added in v8.14.0

func (r *Health) Human(human bool) *Health

Human When set to `true` will return statistics in a format suitable for humans. For example `"exists_time": "1h"` for humans and `"eixsts_time_in_millis": 3600000` for computers. When disabled the human readable values will be omitted. This makes sense for responses being consumed only by machines. API name: human

func (*Health) Index

func (r *Health) Index(index string) *Health

Index Comma-separated list of data streams, indices, and index aliases used to limit the request. Wildcard expressions (`*`) are supported. To target all data streams and indices in a cluster, omit this parameter or use _all or `*`. API Name: index

func (Health) IsSuccess

func (r Health) IsSuccess(providedCtx context.Context) (bool, error)

IsSuccess allows to run a query with a context and retrieve the result as a boolean. This only exists for endpoints without a request payload and allows for quick control flow.

func (*Health) Level

func (r *Health) Level(level level.Level) *Health

Level Can be one of cluster, indices or shards. Controls the details level of the health information returned. API name: level

func (*Health) Local

func (r *Health) Local(local bool) *Health

Local If true, the request retrieves information from the local node only. Defaults to false, which means information is retrieved from the master node. API name: local

func (*Health) MasterTimeout

func (r *Health) MasterTimeout(duration string) *Health

MasterTimeout Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. API name: master_timeout

func (Health) Perform added in v8.7.0

func (r Health) Perform(providedCtx context.Context) (*http.Response, error)

Perform runs the http.Request through the provided transport and returns an http.Response.

func (*Health) Pretty added in v8.14.0

func (r *Health) Pretty(pretty bool) *Health

Pretty If set to `true` the returned JSON will be "pretty-formatted". Only use this option for debugging only. API name: pretty

func (*Health) Timeout

func (r *Health) Timeout(duration string) *Health

Timeout Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. API name: timeout

func (*Health) WaitForActiveShards

func (r *Health) WaitForActiveShards(waitforactiveshards string) *Health

WaitForActiveShards A number controlling to how many active shards to wait for, all to wait for all shards in the cluster to be active, or 0 to not wait. API name: wait_for_active_shards

func (*Health) WaitForEvents

func (r *Health) WaitForEvents(waitforevents waitforevents.WaitForEvents) *Health

WaitForEvents Can be one of immediate, urgent, high, normal, low, languid. Wait until all currently queued events with the given priority are processed. API name: wait_for_events

func (*Health) WaitForNoInitializingShards

func (r *Health) WaitForNoInitializingShards(waitfornoinitializingshards bool) *Health

WaitForNoInitializingShards A boolean value which controls whether to wait (until the timeout provided) for the cluster to have no shard initializations. Defaults to false, which means it will not wait for initializing shards. API name: wait_for_no_initializing_shards

func (*Health) WaitForNoRelocatingShards

func (r *Health) WaitForNoRelocatingShards(waitfornorelocatingshards bool) *Health

WaitForNoRelocatingShards A boolean value which controls whether to wait (until the timeout provided) for the cluster to have no shard relocations. Defaults to false, which means it will not wait for relocating shards. API name: wait_for_no_relocating_shards

func (*Health) WaitForNodes

func (r *Health) WaitForNodes(waitfornodes string) *Health

WaitForNodes The request waits until the specified number N of nodes is available. It also accepts >=N, <=N, >N and <N. Alternatively, it is possible to use ge(N), le(N), gt(N) and lt(N) notation. API name: wait_for_nodes

func (*Health) WaitForStatus

func (r *Health) WaitForStatus(waitforstatus healthstatus.HealthStatus) *Health

WaitForStatus One of green, yellow or red. Will wait (until the timeout provided) until the status of the cluster changes to the one provided or better, i.e. green > yellow > red. By default, will not wait for any status. API name: wait_for_status

type NewHealth

type NewHealth func() *Health

NewHealth type alias for index.

func NewHealthFunc

func NewHealthFunc(tp elastictransport.Interface) NewHealth

NewHealthFunc returns a new instance of Health with the provided transport. Used in the index of the library this allows to retrieve every apis in once place.

type Response added in v8.7.0

type Response struct {

	// ActivePrimaryShards The number of active primary shards.
	ActivePrimaryShards int `json:"active_primary_shards"`
	// ActiveShards The total number of active primary and replica shards.
	ActiveShards int `json:"active_shards"`
	// ActiveShardsPercentAsNumber The ratio of active shards in the cluster expressed as a percentage.
	ActiveShardsPercentAsNumber types.Percentage `json:"active_shards_percent_as_number"`
	// ClusterName The name of the cluster.
	ClusterName string `json:"cluster_name"`
	// DelayedUnassignedShards The number of shards whose allocation has been delayed by the timeout
	// settings.
	DelayedUnassignedShards int                               `json:"delayed_unassigned_shards"`
	Indices                 map[string]types.IndexHealthStats `json:"indices,omitempty"`
	// InitializingShards The number of shards that are under initialization.
	InitializingShards int `json:"initializing_shards"`
	// NumberOfDataNodes The number of nodes that are dedicated data nodes.
	NumberOfDataNodes int `json:"number_of_data_nodes"`
	// NumberOfInFlightFetch The number of unfinished fetches.
	NumberOfInFlightFetch int `json:"number_of_in_flight_fetch"`
	// NumberOfNodes The number of nodes within the cluster.
	NumberOfNodes int `json:"number_of_nodes"`
	// NumberOfPendingTasks The number of cluster-level changes that have not yet been executed.
	NumberOfPendingTasks int `json:"number_of_pending_tasks"`
	// RelocatingShards The number of shards that are under relocation.
	RelocatingShards int                       `json:"relocating_shards"`
	Status           healthstatus.HealthStatus `json:"status"`
	// TaskMaxWaitingInQueue The time since the earliest initiated task is waiting for being performed.
	TaskMaxWaitingInQueue types.Duration `json:"task_max_waiting_in_queue,omitempty"`
	// TaskMaxWaitingInQueueMillis The time expressed in milliseconds since the earliest initiated task is
	// waiting for being performed.
	TaskMaxWaitingInQueueMillis int64 `json:"task_max_waiting_in_queue_millis"`
	// TimedOut If false the response returned within the period of time that is specified by
	// the timeout parameter (30s by default)
	TimedOut bool `json:"timed_out"`
	// UnassignedPrimaryShards The number of primary shards that are not allocated.
	UnassignedPrimaryShards int `json:"unassigned_primary_shards"`
	// UnassignedShards The number of shards that are not allocated.
	UnassignedShards int `json:"unassigned_shards"`
}

Response holds the response body struct for the package health

https://github.com/elastic/elasticsearch-specification/blob/4fcf747dfafc951e1dcf3077327e3dcee9107db3/specification/cluster/health/ClusterHealthResponse.ts#L26-L37

func NewResponse added in v8.7.0

func NewResponse() *Response

NewResponse returns a Response

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL