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 ![](./.screens/preview.png)
      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)