Documentation ¶
Index ¶
- type AliasInfo
- type Aliases
- type Breaker
- type ClusterHealth
- type ClusterHealthIndex
- type FS
- type Index
- type IndexRecovery
- type IndexRecoveryFiles
- type IndexRecoverySize
- type IndexRecoveryState
- type IndexRecoveryTranslog
- type IndexSummary
- type Indices
- type Network
- type Node
- type NodeFSData
- type NodeHTTP
- type NodeIndices
- type NodeIndicesCache
- type NodeIndicesDocs
- type NodeIndicesFlush
- type NodeIndicesGet
- type NodeIndicesIndexing
- type NodeIndicesMerges
- type NodeIndicesRefresh
- type NodeIndicesSearch
- type NodeIndicesSegments
- type NodeIndicesStore
- type NodeIndicesTranslog
- type NodeJVM
- type NodeJVMBufferPool
- type NodeJVMGC
- type NodeJVMGCCollector
- type NodeJVMMem
- type NodeOSCPU
- type NodeOSMem
- type NodeOSSwap
- type NodeProcessCPU
- type NodeProcessMem
- type NodeTCP
- type Nodes
- type OS
- type Process
- type Recovery
- type RecoveryDestination
- type ShardRecovery
- type Tasks
- type ThreadPool
- type Transport
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AliasInfo ¶
type AliasInfo struct {
Aliases map[string]interface{} `json:"aliases"`
}
AliasInfo is a representation of ElasticSearch index alias
type Breaker ¶
type Breaker struct { EstimatedSize int64 `json:"estimated_size_in_bytes"` LimitSize int64 `json:"limit_size_in_bytes"` Overhead float64 `json:"overhead"` Tripped int64 `json:"tripped"` }
Breaker is a representation of statistics about the field data circuit breaker
type ClusterHealth ¶
type ClusterHealth struct { ClusterName string `json:"cluster_name"` Status string `json:"status"` TimedOut bool `json:"timed_out"` NumberOfNodes int `json:"number_of_nodes"` NumberOfDataNodes int `json:"number_of_data_nodes"` ActivePrimaryShards int `json:"active_primary_shards"` ActiveShards int `json:"active_shards"` RelocatingShards int `json:"relocating_shards"` InitializingShards int `json:"initializing_shards"` UnassignedShards int `json:"unassigned_shards"` DelayedUnassignedShards int `json:"delayed_unassigned_shards"` NumberOfPendingTasks int `json:"number_of_pending_tasks"` NumberOfInFlightFetch int `json:"number_of_in_flight_fetch"` TaskMaxWaitingInQueueMillis int `json:"task_max_waiting_in_queue_millis"` ActiveShardsPercentAsNumber float64 `json:"active_shards_percent_as_number"` Indices map[string]ClusterHealthIndex `json:"indices"` }
ClusterHealth represents cluster health ES response
type ClusterHealthIndex ¶
type ClusterHealthIndex struct { Status string `json:"status"` NumberOfShards int `json:"number_of_shards"` NumberOfReplicas int `json:"number_of_replicas"` ActivePrimaryShards int `json:"active_primary_shards"` ActiveShards int `json:"active_shards"` RelocatingShards int `json:"relocating_shards"` InitializingShards int `json:"initializing_shards"` UnassignedShards int `json:"unassigned_shards"` }
ClusterHealthIndex represents ES index health
type FS ¶
type FS struct { Timestamp int64 `json:"timestamp"` Data []NodeFSData `json:"data"` }
FS is a representation of file system information, data path, free disk space, read/write stats
type Index ¶
type Index struct { Primaries IndexSummary `json:"primaries"` Total IndexSummary `json:"total"` }
Index is a index overall information
type IndexRecovery ¶
type IndexRecovery struct {
Shards []ShardRecovery `json:"shards"`
}
IndexRecovery is a index recovery representation
type IndexRecoveryFiles ¶
type IndexRecoveryFiles struct { Total int64 `json:"total"` Reused int64 `json:"reused"` Recovered int64 `json:"recovered"` Percent string `json:"percent"` }
IndexRecoveryFiles is an index recovery files representation
type IndexRecoverySize ¶
type IndexRecoverySize struct { TotalInBytes int64 `json:"total_in_bytes"` ReusedInBytes int64 `json:"reused_in_bytes"` RecoveredInBytes int64 `json:"recovered_in_bytes"` Percent string `json:"percent"` }
IndexRecoverySize is an index recovery size representation
type IndexRecoveryState ¶
type IndexRecoveryState struct { Size IndexRecoverySize `json:"size"` Files IndexRecoveryFiles `json:"files"` TotalTimeInMillis int64 `json:"total_time_in_millis"` SourceThrottleTimeInMillis int64 `json:"source_throttle_time_in_millis"` TargetThrottleTimeInMillis int64 `json:"target_throttle_time_in_millis"` }
IndexRecoveryState is an index recovery statement representation
type IndexRecoveryTranslog ¶
type IndexRecoveryTranslog struct { Recovered int64 `json:"recovered"` Total int64 `json:"total"` Percent string `json:"percent"` TotalOnStart int64 `json:"total_on_start"` TotalTimeInMillis int64 `json:"total_time_in_millis"` }
IndexRecoveryTranslog is an index recovery translog representation
type IndexSummary ¶
type IndexSummary struct { Docs struct { Count int64 `json:"count"` Deleted int64 `json:"deleted"` } `json:"docs"` Store struct { SizeInBytes int64 `json:"size_in_bytes"` ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"` } `json:"store"` Indexing struct { IndexTotal int64 `json:"index_total"` IndexTimeInMillis int64 `json:"index_time_in_millis"` IndexCurrent int64 `json:"index_current"` IndexFailed int64 `json:"index_failed"` DeleteTotal int64 `json:"delete_total"` DeleteTimeInMillis int64 `json:"delete_time_in_millis"` DeleteCurrent int64 `json:"delete_current"` NoopUpdateTotal int64 `json:"noop_update_total"` IsThrottled bool `json:"is_throttled"` ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"` } `json:"indexing"` Get struct { Total int64 `json:"total"` TimeInMillis int64 `json:"time_in_millis"` ExistsTotal int64 `json:"exists_total"` ExistsTimeInMillis int64 `json:"exists_time_in_millis"` MissingTotal int64 `json:"missing_total"` MissingTimeInMillis int64 `json:"missing_time_in_millis"` Current int64 `json:"current"` } `json:"get"` Search struct { OpenContexts int64 `json:"open_contexts"` QueryTotal int64 `json:"query_total"` QueryTimeInMillis int64 `json:"query_time_in_millis"` QueryCurrent int64 `json:"query_current"` FetchTotal int64 `json:"fetch_total"` FetchTimeInMillis int64 `json:"fetch_time_in_millis"` FetchCurrent int64 `json:"fetch_current"` ScrollTotal int64 `json:"scroll_total"` ScrollTimeInMillis int64 `json:"scroll_time_in_millis"` ScrollCurrent int64 `json:"scroll_current"` SuggestTotal int64 `json:"suggest_total"` SuggestTimeInMillis int64 `json:"suggest_time_in_millis"` SuggestCurrent int64 `json:"suggest_current"` } `json:"search"` Merges struct { Current int64 `json:"current"` CurrentDocs int64 `json:"current_docs"` CurrentSizeInBytes int64 `json:"current_size_in_bytes"` Total int64 `json:"total"` TotalTimeInMillis int64 `json:"total_time_in_millis"` TotalDocs int64 `json:"total_docs"` TotalSizeInBytes int64 `json:"total_size_in_bytes"` TotalStoppedTimeInMillis int64 `json:"total_stopped_time_in_millis"` TotalThrottledTimeInMillis int64 `json:"total_throttled_time_in_millis"` TotalAutoThrottleInBytes int64 `json:"total_auto_throttle_in_bytes"` } `json:"merges"` Refresh struct { Total int64 `json:"total"` TotalTimeInMillis int64 `json:"total_time_in_millis"` Listeners int64 `json:"listeners"` } `json:"refresh"` Flush struct { Total int64 `json:"total"` TotalTimeInMillis int64 `json:"total_time_in_millis"` } `json:"flush"` Warmer struct { Current int64 `json:"current"` Total int64 `json:"total"` TotalTimeInMillis int64 `json:"total_time_in_millis"` } `json:"warmer"` QueryCache struct { MemorySizeInBytes int64 `json:"memory_size_in_bytes"` TotalCount int64 `json:"total_count"` HitCount int64 `json:"hit_count"` MissCount int64 `json:"miss_count"` CacheSize int64 `json:"cache_size"` CacheCount int64 `json:"cache_count"` Evictions int64 `json:"evictions"` } `json:"query_cache"` Fielddata struct { MemorySizeInBytes int64 `json:"memory_size_in_bytes"` Evictions int64 `json:"evictions"` } `json:"fielddata"` Completion struct { SizeInBytes int64 `json:"size_in_bytes"` } `json:"completion"` Segments struct { Count int64 `json:"count"` MemoryInBytes int64 `json:"memory_in_bytes"` TermsMemoryInBytes int64 `json:"terms_memory_in_bytes"` StoredFieldsMemoryInBytes int64 `json:"stored_fields_memory_in_bytes"` TermVectorsMemoryInBytes int64 `json:"term_vectors_memory_in_bytes"` NormsMemoryInBytes int64 `json:"norms_memory_in_bytes"` PointsMemoryInBytes int64 `json:"points_memory_in_bytes"` DocValuesMemoryInBytes int64 `json:"doc_values_memory_in_bytes"` IndexWriterMemoryInBytes int64 `json:"index_writer_memory_in_bytes"` VersionMapMemoryInBytes int64 `json:"version_map_memory_in_bytes"` FixedBitSetMemoryInBytes int64 `json:"fixed_bit_set_memory_in_bytes"` MaxUnsafeAutoIDTimestamp int64 `json:"max_unsafe_auto_id_timestamp"` FileSizes struct { } `json:"file_sizes"` } `json:"segments"` Translog struct { Operations int64 `json:"operations"` SizeInBytes int64 `json:"size_in_bytes"` } `json:"translog"` RequestCache struct { MemorySizeInBytes int64 `json:"memory_size_in_bytes"` Evictions int64 `json:"evictions"` HitCount int64 `json:"hit_count"` MissCount int64 `json:"miss_count"` } `json:"request_cache"` Recovery struct { CurrentAsSource int64 `json:"current_as_source"` CurrentAsTarget int64 `json:"current_as_target"` ThrottleTimeInMillis int64 `json:"throttle_time_in_millis"` } `json:"recovery"` }
IndexSummary is a index summary for primaries or totals
type Indices ¶
type Indices struct { Shards struct { Total int `json:"total"` Successful int `json:"successful"` Failed int `json:"failed"` } `json:"_shards"` All Index `json:"_all"` Indices map[string]Index `json:"indices"` }
Indices is a representation of Elasticsearch /_stats response
type Network ¶
type Network struct {
TCP NodeTCP `json:"tcp"`
}
Network is a representation of network usage stats
type Node ¶
type Node struct { Name string `json:"name"` Host string `json:"host"` Timestamp int64 `json:"timestamp"` TransportAddress string `json:"transport_address"` Hostname string `json:"hostname"` Indices NodeIndices `json:"indices"` OS OS `json:"os"` Network Network `json:"network"` FS FS `json:"fs"` ThreadPool map[string]ThreadPool `json:"thread_pool"` JVM NodeJVM `json:"jvm"` Breakers map[string]Breaker `json:"breakers"` Transport Transport `json:"transport"` Process Process `json:"process"` }
Node is a representation of ElasticSearch node stats
type NodeFSData ¶
type NodeFSData struct { Path string `json:"path"` Mount string `json:"mount"` Device string `json:"dev"` Total int64 `json:"total_in_bytes"` Free int64 `json:"free_in_bytes"` Available int64 `json:"available_in_bytes"` DiskReads int64 `json:"disk_reads"` DiskWrites int64 `json:"disk_writes"` DiskReadSize int64 `json:"disk_read_size_in_bytes"` DiskWriteSize int64 `json:"disk_write_size_in_bytes"` }
NodeFSData is a representation of filesystem stats
type NodeHTTP ¶
type NodeHTTP struct { CurrentOpen int64 `json:"current_open"` TotalOpen int64 `json:"total_open"` }
NodeHTTP is a representation of HTTP connections stats
type NodeIndices ¶
type NodeIndices struct { Docs NodeIndicesDocs Store NodeIndicesStore Indexing NodeIndicesIndexing Merges NodeIndicesMerges Get NodeIndicesGet Search NodeIndicesSearch FieldData NodeIndicesCache `json:"fielddata"` FilterCache NodeIndicesCache `json:"filter_cache"` QueryCache NodeIndicesCache `json:"query_cache"` RequestCache NodeIndicesCache `json:"request_cache"` Flush NodeIndicesFlush Segments NodeIndicesSegments Refresh NodeIndicesRefresh Translog NodeIndicesTranslog }
NodeIndices is a representation of indices stats (size, document count, indexing and deletion times, search times, field cache size, merges and flushes)
type NodeIndicesCache ¶
type NodeIndicesCache struct { Evictions int64 `json:"evictions"` MemorySize int64 `json:"memory_size_in_bytes"` CacheCount int64 `json:"cache_count"` CacheSize int64 `json:"cache_size"` HitCount int64 `json:"hit_count"` MissCount int64 `json:"miss_count"` TotalCount int64 `json:"total_count"` }
NodeIndicesCache is a representation of index cache stats
type NodeIndicesDocs ¶
NodeIndicesDocs is a representation of indices docs stats
type NodeIndicesFlush ¶
type NodeIndicesFlush struct { Total int64 `json:"total"` Time int64 `json:"total_time_in_millis"` }
NodeIndicesFlush is a representation of index flush stats
type NodeIndicesGet ¶
type NodeIndicesGet struct { Total int64 `json:"total"` Time int64 `json:"time_in_millis"` ExistsTotal int64 `json:"exists_total"` ExistsTime int64 `json:"exists_time_in_millis"` MissingTotal int64 `json:"missing_total"` MissingTime int64 `json:"missing_time_in_millis"` Current int64 `json:"current"` }
NodeIndicesGet is a representation of index get stats
type NodeIndicesIndexing ¶
type NodeIndicesIndexing struct { IndexTotal int64 `json:"index_total"` IndexTime int64 `json:"index_time_in_millis"` IndexCurrent int64 `json:"index_current"` DeleteTotal int64 `json:"delete_total"` DeleteTime int64 `json:"delete_time_in_millis"` DeleteCurrent int64 `json:"delete_current"` }
NodeIndicesIndexing is a representation of index indexing stats
type NodeIndicesMerges ¶
type NodeIndicesMerges struct { Current int64 `json:"current"` CurrentDocs int64 `json:"current_docs"` CurrentSize int64 `json:"current_size_in_bytes"` Total int64 `json:"total"` TotalDocs int64 `json:"total_docs"` TotalSize int64 `json:"total_size_in_bytes"` TotalTime int64 `json:"total_time_in_millis"` }
NodeIndicesMerges is a representation of index merging stats
type NodeIndicesRefresh ¶
type NodeIndicesRefresh struct { Total int64 `json:"total"` TotalTime int64 `json:"total_time_in_millis"` }
NodeIndicesRefresh is a representation of index refresh stats
type NodeIndicesSearch ¶
type NodeIndicesSearch struct { OpenContext int64 `json:"open_contexts"` QueryTotal int64 `json:"query_total"` QueryTime int64 `json:"query_time_in_millis"` QueryCurrent int64 `json:"query_current"` FetchTotal int64 `json:"fetch_total"` FetchTime int64 `json:"fetch_time_in_millis"` FetchCurrent int64 `json:"fetch_current"` }
NodeIndicesSearch is a representation of index search stats
type NodeIndicesSegments ¶
type NodeIndicesSegments struct { Count int64 `json:"count"` Memory int64 `json:"memory_in_bytes"` }
NodeIndicesSegments is a representation of index segments stats
type NodeIndicesStore ¶
type NodeIndicesStore struct { Size int64 `json:"size_in_bytes"` ThrottleTime int64 `json:"throttle_time_in_millis"` }
NodeIndicesStore is a representation of index store stats
type NodeIndicesTranslog ¶
type NodeIndicesTranslog struct { Operations int64 `json:"operations"` Size int64 `json:"size_in_bytes"` }
NodeIndicesTranslog is a representation of index translog stats
type NodeJVM ¶
type NodeJVM struct { BufferPools map[string]NodeJVMBufferPool `json:"buffer_pools"` GC NodeJVMGC `json:"gc"` Mem NodeJVMMem `json:"mem"` }
NodeJVM is a representation of JVM stats, memory pool information, garbage collection, buffer pools, number of loaded/unloaded classes
type NodeJVMBufferPool ¶
type NodeJVMBufferPool struct { Count int64 `json:"count"` TotalCapacity int64 `json:"total_capacity_in_bytes"` Used int64 `json:"used_in_bytes"` }
NodeJVMBufferPool is a representation of JVM buffer pool stats
type NodeJVMGC ¶
type NodeJVMGC struct {
Collectors map[string]NodeJVMGCCollector `json:"collectors"`
}
NodeJVMGC is a representation of JVM GC stats for all kinds of collectors
type NodeJVMGCCollector ¶
type NodeJVMGCCollector struct { CollectionCount int64 `json:"collection_count"` CollectionTime int64 `json:"collection_time_in_millis"` }
NodeJVMGCCollector is a representation of JVM GC collector stats
type NodeJVMMem ¶
type NodeJVMMem struct { HeapCommitted int64 `json:"heap_committed_in_bytes"` HeapUsed int64 `json:"heap_used_in_bytes"` HeapMax int64 `json:"heap_max_in_bytes"` NonHeapCommitted int64 `json:"non_heap_committed_in_bytes"` NonHeapUsed int64 `json:"non_heap_used_in_bytes"` }
NodeJVMMem is a representation of JVM memory usage stats
type NodeOSCPU ¶
type NodeOSCPU struct { Sys int64 `json:"sys"` User int64 `json:"user"` Idle int64 `json:"idle"` Steal int64 `json:"stolen"` }
NodeOSCPU is a representation of CPU usage stats
type NodeOSMem ¶
type NodeOSMem struct { Free int64 `json:"free_in_bytes"` Used int64 `json:"used_in_bytes"` ActualFree int64 `json:"actual_free_in_bytes"` ActualUsed int64 `json:"actual_used_in_bytes"` }
NodeOSMem is a representation of OS memory stats
type NodeOSSwap ¶
NodeOSSwap is a representation of swap stats
type NodeProcessCPU ¶
type NodeProcessCPU struct { Percent int64 `json:"percent"` Sys int64 `json:"sys_in_millis"` User int64 `json:"user_in_millis"` Total int64 `json:"total_in_millis"` }
NodeProcessCPU is a representation of process CPU usage stats
type NodeProcessMem ¶
type NodeProcessMem struct { Resident int64 `json:"resident_in_bytes"` TotalVirtual int64 `json:"total_virtual_in_bytes"` }
NodeProcessMem is a representation of memory usage stats
type NodeTCP ¶
type NodeTCP struct { ActiveOpens int64 `json:"active_opens"` PassiveOpens int64 `json:"passive_opens"` CurrEstab int64 `json:"curr_estab"` InSegs int64 `json:"in_segs"` OutSegs int64 `json:"out_segs"` RetransSegs int64 `json:"retrans_segs"` EstabResets int64 `json:"estab_resets"` AttemptFails int64 `json:"attempt_fails"` InErrs int64 `json:"in_errs"` OutRsts int64 `json:"out_rsts"` }
NodeTCP is a representation of tcp stats on node
type OS ¶
type OS struct { Timestamp int64 `json:"timestamp"` Uptime int64 `json:"uptime_in_millis"` // LoadAvg was an array of per-cpu values pre-2.0, and is a string in 2.0 // Leaving this here in case we want to implement parsing logic later LoadAvg json.RawMessage `json:"load_average"` CPU NodeOSCPU `json:"cpu"` Mem NodeOSMem `json:"mem"` Swap NodeOSSwap `json:"swap"` }
OS is a representation of operating system stats, load average, mem, swap
type Process ¶
type Process struct { Timestamp int64 `json:"timestamp"` OpenFD int64 `json:"open_file_descriptors"` MaxFD int64 `json:"max_file_descriptors"` CPU NodeProcessCPU `json:"cpu"` Memory NodeProcessMem `json:"mem"` }
Process is a representation of process statistics, memory consumption, cpu usage, open file descriptors
type RecoveryDestination ¶
type RecoveryDestination struct { ID string `json:"id"` Host string `json:"host"` TransportAddress string `json:"transport_address"` IP string `json:"ip"` Name string `json:"name"` }
RecoveryDestination is a shard recovery source / target
type ShardRecovery ¶
type ShardRecovery struct { ID int64 `json:"id"` Type string `json:"type"` Stage string `json:"stage"` Primary bool `json:"primary"` StartTimeInMillis int64 `json:"start_time_in_millis"` TotalTimeInMillis int64 `json:"total_time_in_millis"` Source RecoveryDestination `json:"source"` Target RecoveryDestination `json:"target"` Index IndexRecoveryState `json:"index"` Translog IndexRecoveryTranslog `json:"translog"` VerifyIndex struct { CheckIndexTimeInMillis int64 `json:"check_index_time_in_millis"` TotalTimeInMillis int64 `json:"total_time_in_millis"` } `json:"verify_index"` }
ShardRecovery is an index shard recovery representation
type Tasks ¶
type Tasks []struct { Action string `json:"action"` RunningTime string `json:"running_time"` Node string `json:"node"` }
Tasks is a representation of ElasticSearch cluster tasks statistics
type ThreadPool ¶
type ThreadPool struct { Threads int64 `json:"threads"` Queue int64 `json:"queue"` Active int64 `json:"active"` Rejected int64 `json:"rejected"` Largest int64 `json:"largest"` Completed int64 `json:"completed"` }
ThreadPool is a representation of statistics about each thread pool, including current size, queue and rejected tasks
type Transport ¶
type Transport struct { ServerOpen int64 `json:"server_open"` RxCount int64 `json:"rx_count"` RxSize int64 `json:"rx_size_in_bytes"` TxCount int64 `json:"tx_count"` TxSize int64 `json:"tx_size_in_bytes"` }
Transport is a representation of transport statistics about sent and received bytes in cluster communication