https://github.com/acidvegas/elastop
HTOP for Elasticsearch
https://github.com/acidvegas/elastop
cli elastic elasticsearch htop monitoring tui
Last synced: 29 days ago
JSON representation
HTOP for Elasticsearch
- Host: GitHub
- URL: https://github.com/acidvegas/elastop
- Owner: acidvegas
- License: isc
- Created: 2024-11-29T05:09:20.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-12-13T05:21:33.000Z (5 months ago)
- Last Synced: 2025-03-28T06:06:20.540Z (about 1 month ago)
- Topics: cli, elastic, elasticsearch, htop, monitoring, tui
- Language: Go
- Homepage: https://www.elastic.co/elasticsearch
- Size: 43.6 MB
- Stars: 263
- Watchers: 5
- Forks: 7
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- my-awesome - acidvegas/elastop - 12 star:0.3k fork:0.0k HTOP for Elasticsearch (Go)
- awesome-ops - acidvegas/elastop - 11-29|2024-12-13 | 一个基于终端的仪表板,用于实时监控 Elasticsearch 集群。 | (ElasticSearch-Manage)
README
# Elastop - Elasticsearch Terminal Dashboard
Elastop is a terminal-based dashboard for monitoring Elasticsearch clusters in real-time. It provides a comprehensive view of cluster health, node status, indices, and various performance metrics in an easy-to-read terminal interface. This tool was designed to look visually similar HTOP.

## Features
- Real-time cluster monitoring
- Node status and resource usage
- Index statistics and write rates
- Search and indexing performance metrics
- Memory usage and garbage collection stats
- Network and disk I/O monitoring
- Color-coded health status indicators
- Role-based node classification
- Version compatibility checking## Installation
```bash
# Clone the repository
git clone https://github.com/acidvegas/elastop.git
cd elastop
go build
```## Usage
```bash
./elastop [flags]
```### Command Line Flags
| Flag | Description | Default |
| ----------- | ------------------------------------- | ------------- |
| `-host` | Elasticsearch host | `localhost` |
| `-port` | Elasticsearch port | `9200` |
| `-user` | Elasticsearch username | `elastic` |
| `-password` | Elasticsearch password | `ES_PASSWORD` |
| `-apikey` | Elasticsearch API key | `ES_API_KEY` |
| `-cert` | Path to client certificate file | |
| `-key` | Path to client private key file | |
| `-ca` | Path to CA certificate file | |
| `-insecure` | Skip TLS certificate verification | `false` |Note: Only one authentication method (username/password, API key, or certificates) can be used at a time.
### Authentication Examples
```bash
# Using username/password
./elastop -host https://elasticsearch.example.com -user elastic -password secret# Using API key
./elastop -host https://elasticsearch.example.com -apikey your_api_key# Using certificate authentication
./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -ca /path/to/ca.crt# Using certificate authentication with insecure SSL (not recommended for production)
./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -insecure
```## Dashboard Layout
### Header Section
- Displays cluster name and health status
- Shows total number of nodes (successful/failed)
- Indicates version compatibility with latest Elasticsearch release### Nodes Panel
- Lists all nodes with their roles and status
- Shows real-time resource usage:
- CPU utilization
- Memory usage
- Heap usage
- Disk space
- Load average
- Displays node version and OS information### Indices Panel
- Lists all indices with health status
- Shows document counts and storage size
- Displays primary shards and replica configuration
- Real-time ingestion monitoring with:
- Document count changes
- Ingestion rates (docs/second)
- Active write indicators### Metrics Panel
- Search performance:
- Query counts and rates
- Average query latency
- Indexing metrics:
- Operation counts
- Indexing rates
- Average indexing latency
- Memory statistics:
- System memory usage
- JVM heap utilization
- GC metrics:
- Collection counts
- GC timing statistics
- I/O metrics:
- Network traffic (TX/RX)
- Disk operations
- Open file descriptors### Role Legend
Shows all possible node roles with their corresponding colors:
- M: Master
- D: Data
- C: Content
- H: Hot
- W: Warm
- K: Cold
- F: Frozen
- I: Ingest
- L: Machine Learning
- R: Remote Cluster Client
- T: Transform
- V: Voting Only
- O: Coordinating Only## Controls
- Press `q` or `ESC` to quit
- Mouse scrolling supported in all panels
- Auto-refreshes every 5 seconds---
###### Mirrors: [acid.vegas](https://git.acid.vegas/elastop) • [SuperNETs](https://git.supernets.org/acidvegas/elastop) • [GitHub](https://github.com/acidvegas/elastop) • [GitLab](https://gitlab.com/acidvegas/elastop) • [Codeberg](https://codeberg.org/acidvegas/elastop)