elastop- Unnamed repository; edit this file 'description' to name the repository. |
git clone git://git.acid.vegas/-c.git |
Log | Files | Refs | Archive | README | LICENSE |
README.md (4164B)
1 # Elastop - Elasticsearch Terminal Dashboard 2 3 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. 4 5  6 7 ## Features 8 9 - Real-time cluster monitoring 10 - Node status and resource usage 11 - Index statistics and write rates 12 - Search and indexing performance metrics 13 - Memory usage and garbage collection stats 14 - Network and disk I/O monitoring 15 - Color-coded health status indicators 16 - Role-based node classification 17 - Version compatibility checking 18 19 ## Installation 20 21 ```bash 22 # Clone the repository 23 git clone https://github.com/acidvegas/elastop.git 24 cd elastop 25 go build 26 ``` 27 28 ## Usage 29 30 ```bash 31 ./elastop [flags] 32 ``` 33 34 ### Command Line Flags 35 | Flag | Description | Default | 36 | ----------- | ------------------------------------- | ------------- | 37 | `-host` | Elasticsearch host | `localhost` | 38 | `-port` | Elasticsearch port | `9200` | 39 | `-user` | Elasticsearch username | `elastic` | 40 | `-password` | Elasticsearch password | `ES_PASSWORD` | 41 | `-apikey` | Elasticsearch API key | `ES_API_KEY` | 42 | `-cert` | Path to client certificate file | | 43 | `-key` | Path to client private key file | | 44 | `-ca` | Path to CA certificate file | | 45 | `-insecure` | Skip TLS certificate verification | `false` | 46 47 Note: Only one authentication method (username/password, API key, or certificates) can be used at a time. 48 49 ### Authentication Examples 50 51 ```bash 52 # Using username/password 53 ./elastop -host https://elasticsearch.example.com -user elastic -password secret 54 55 # Using API key 56 ./elastop -host https://elasticsearch.example.com -apikey your_api_key 57 58 # Using certificate authentication 59 ./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -ca /path/to/ca.crt 60 61 # Using certificate authentication with insecure SSL (not recommended for production) 62 ./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -insecure 63 ``` 64 65 ## Dashboard Layout 66 67 ### Header Section 68 - Displays cluster name and health status 69 - Shows total number of nodes (successful/failed) 70 - Indicates version compatibility with latest Elasticsearch release 71 72 ### Nodes Panel 73 - Lists all nodes with their roles and status 74 - Shows real-time resource usage: 75 - CPU utilization 76 - Memory usage 77 - Heap usage 78 - Disk space 79 - Load average 80 - Displays node version and OS information 81 82 ### Indices Panel 83 - Lists all indices with health status 84 - Shows document counts and storage size 85 - Displays primary shards and replica configuration 86 - Real-time ingestion monitoring with: 87 - Document count changes 88 - Ingestion rates (docs/second) 89 - Active write indicators 90 91 ### Metrics Panel 92 - Search performance: 93 - Query counts and rates 94 - Average query latency 95 - Indexing metrics: 96 - Operation counts 97 - Indexing rates 98 - Average indexing latency 99 - Memory statistics: 100 - System memory usage 101 - JVM heap utilization 102 - GC metrics: 103 - Collection counts 104 - GC timing statistics 105 - I/O metrics: 106 - Network traffic (TX/RX) 107 - Disk operations 108 - Open file descriptors 109 110 ### Role Legend 111 Shows all possible node roles with their corresponding colors: 112 - M: Master 113 - D: Data 114 - C: Content 115 - H: Hot 116 - W: Warm 117 - K: Cold 118 - F: Frozen 119 - I: Ingest 120 - L: Machine Learning 121 - R: Remote Cluster Client 122 - T: Transform 123 - V: Voting Only 124 - O: Coordinating Only 125 126 ## Controls 127 128 - Press `q` or `ESC` to quit 129 - Mouse scrolling supported in all panels 130 - Auto-refreshes every 5 seconds 131 132 --- 133 134 ###### 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)