{"id":22429034,"url":"https://github.com/acidvegas/elastop","last_synced_at":"2026-03-03T18:32:26.059Z","repository":{"id":265383732,"uuid":"895876378","full_name":"acidvegas/elastop","owner":"acidvegas","description":"HTOP for Elasticsearch","archived":false,"fork":false,"pushed_at":"2024-12-13T05:21:33.000Z","size":45675,"stargazers_count":269,"open_issues_count":3,"forks_count":8,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-24T04:06:03.493Z","etag":null,"topics":["cli","elastic","elasticsearch","htop","monitoring","tui"],"latest_commit_sha":null,"homepage":"https://www.elastic.co/elasticsearch","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acidvegas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-29T05:09:20.000Z","updated_at":"2025-05-22T13:49:11.000Z","dependencies_parsed_at":"2025-02-28T13:13:45.312Z","dependency_job_id":"246aaa52-848c-47a0-b2cc-9e3db64ea19c","html_url":"https://github.com/acidvegas/elastop","commit_stats":null,"previous_names":["acidvegas/elastop"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/acidvegas/elastop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Felastop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Felastop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Felastop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Felastop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acidvegas","download_url":"https://codeload.github.com/acidvegas/elastop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acidvegas%2Felastop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30054601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T18:21:05.932Z","status":"ssl_error","status_checked_at":"2026-03-03T18:20:59.341Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","elastic","elasticsearch","htop","monitoring","tui"],"created_at":"2024-12-05T21:00:37.778Z","updated_at":"2026-03-03T18:32:26.014Z","avatar_url":"https://github.com/acidvegas.png","language":"Go","funding_links":[],"categories":["Go","ElasticSearch-Manage"],"sub_categories":[],"readme":"# Elastop - Elasticsearch Terminal Dashboard\n\nElastop 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.\n\n![](./.screens/preview.png)\n\n## Features\n\n- Real-time cluster monitoring\n- Node status and resource usage\n- Index statistics and write rates\n- Search and indexing performance metrics\n- Memory usage and garbage collection stats\n- Network and disk I/O monitoring\n- Color-coded health status indicators\n- Role-based node classification\n- Version compatibility checking\n\n## Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/acidvegas/elastop.git\ncd elastop\ngo build\n```\n\n## Usage\n\n```bash\n./elastop [flags]\n```\n\n### Command Line Flags\n| Flag        | Description                           | Default       |\n| ----------- | ------------------------------------- | ------------- |\n| `-host`     | Elasticsearch host                    | `localhost`   |\n| `-port`     | Elasticsearch port                    | `9200`        |\n| `-user`     | Elasticsearch username                | `elastic`     |\n| `-password` | Elasticsearch password                | `ES_PASSWORD` |\n| `-apikey`   | Elasticsearch API key                 | `ES_API_KEY`  |\n| `-cert`     | Path to client certificate file       |               |\n| `-key`      | Path to client private key file       |               |\n| `-ca`       | Path to CA certificate file           |               |\n| `-insecure` | Skip TLS certificate verification     | `false`       |\n\nNote: Only one authentication method (username/password, API key, or certificates) can be used at a time.\n\n### Authentication Examples\n\n```bash\n# Using username/password\n./elastop -host https://elasticsearch.example.com -user elastic -password secret\n\n# Using API key\n./elastop -host https://elasticsearch.example.com -apikey your_api_key\n\n# Using certificate authentication\n./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -ca /path/to/ca.crt\n\n# Using certificate authentication with insecure SSL (not recommended for production)\n./elastop -host https://elasticsearch.example.com -cert /path/to/client.crt -key /path/to/client.key -insecure\n```\n\n## Dashboard Layout\n\n### Header Section\n- Displays cluster name and health status\n- Shows total number of nodes (successful/failed)\n- Indicates version compatibility with latest Elasticsearch release\n\n### Nodes Panel\n- Lists all nodes with their roles and status\n- Shows real-time resource usage:\n  - CPU utilization\n  - Memory usage\n  - Heap usage\n  - Disk space\n  - Load average\n- Displays node version and OS information\n\n### Indices Panel\n- Lists all indices with health status\n- Shows document counts and storage size\n- Displays primary shards and replica configuration\n- Real-time ingestion monitoring with:\n  - Document count changes\n  - Ingestion rates (docs/second)\n  - Active write indicators\n\n### Metrics Panel\n- Search performance:\n  - Query counts and rates\n  - Average query latency\n- Indexing metrics:\n  - Operation counts\n  - Indexing rates\n  - Average indexing latency\n- Memory statistics:\n  - System memory usage\n  - JVM heap utilization\n- GC metrics:\n  - Collection counts\n  - GC timing statistics\n- I/O metrics:\n  - Network traffic (TX/RX)\n  - Disk operations\n  - Open file descriptors\n\n### Role Legend\nShows all possible node roles with their corresponding colors:\n- M: Master\n- D: Data\n- C: Content\n- H: Hot\n- W: Warm\n- K: Cold\n- F: Frozen\n- I: Ingest\n- L: Machine Learning\n- R: Remote Cluster Client\n- T: Transform\n- V: Voting Only\n- O: Coordinating Only\n\n## Controls\n\n- Press `q` or `ESC` to quit\n- Mouse scrolling supported in all panels\n- Auto-refreshes every 5 seconds\n\n---\n\n###### 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)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidvegas%2Felastop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facidvegas%2Felastop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facidvegas%2Felastop/lists"}