ElasticHD 是ElasticSearch的可视化DashBoard
ElasticHD 是ElasticSearch的可视化DashBoard, 支持Es状态监控、实时搜索、Index Template 快捷替换&查看、支持Index list、支持sql 查询。
Go 其它杂项
共2556Star
详细介绍
近期准备对ElasticHD进行重构, 大家可以把自己的需求提issue~。
技术栈主要用: Vue + TypeScript + golang
欢迎大家提出自己的issue。
日期(2020年3月8日 ~ 2020年4月1)收集需求。
还有如果大家需要有导入导出 MicroSoft Office Word的需求可以一起找我。
github账号: farmerx
ElasticHD
ElasticHD is a ElasticSearch visual management tool. It does not require any software. It works in your web browser, allowing you to manage and monitor your ElasticSearch clusters from anywhere at any time. Built on responsive CSS design, ElasticHD adjusts itself to any screen size on any device.The following functions are supported:
- ES Real time data search and query
- ES Dashboard data visualization
- ES Indices Management
- Managing Type Mappings
- SQL Converts to Elasticsearch DSL
- Device Friendly
ElasticHD Application Pages
Authentication
ElasticSearch server that supports privileged authentication, URL format:http://user:password@host:port
Installation
Precompiled binaries for supported operating systems are available.
Basic Usage
- Linux and MacOS use ElasticHD
Step1: Download the corresponding elasticHD version,unzip xxx_elasticHd_xxx.zip
Step2: chmod 0777 ElasticHD
Step3: exec elastichd ./ElasticHD -p 127.0.0.1:9800
- windows
Step1: Download the corresponding elasticHD version,Double click zip package to unzip
Step2: exec elastichd ./ElasticHD -p 127.0.0.1:9800
Standalone Executable
ElasticHD does not require any software. It works in your web browser, allowing you to manage and monitor your ElasticSearch clusters from anywhere at any time. Built on responsive CSS design, ElasticHD adjusts itself to any screen size on any device.
Es version support
Compatible with all ES versions
Contributing
Contributions are welcome! Open a pull request to fix a bug, or open an issue to discuss a new feature or change.
ElasticHD SQL Converts to ElasticSearch DSL Usage
SQL Features Support:
- SQL Select
- SQL Where
- SQL Order BySQL
- SQL Group By
- SQL AND & OR
- SQL Like & NOT Like
- SQL COUNT distinct
- SQL In & Not In
- SQL Between
- SQL avg()、count(*), count(field), min(field), max(field)
Beyond SQL Features Support:
- ES TopHits
- ES date_histogram
- ES STATS
- ES RANGE
- ES DATE_RANGE
- Improvement : now the query DSL is much more flat*
SQL Usage
Query
SELECT * FROM test WHERE a=1 AND b="c" AND create_time BETWEEN '2015-01-01T00:00:00+0800' AND '2016-01-01T00:00:00+0800' AND process_id > 1 ORDER BY id DESC LIMIT 100,10
Aggregation
SELECT avg(age), min(age), max(age), count(student), count(distinct student) FROM test GROUP BY grade,class LIMIT 10
Beyond SQL
-
range age group 20-25,25-30,30-35,35-40
SELECT COUNT(age) FROM bank GROUP BY range(age, 20,25,30,35,40)
-
range date group by your config
SELECT online FROM online GROUP BY date_range(field="insert_time",format="yyyy-MM-dd" ,"2014-08-18","2014-08-17","now-8d","now-7d","now-6d","now")
-
range date group by day
SELECT * FROM test GROUP BY date_histogram(field="changeTime",interval="1h",format="yyyy-MM-dd HH:mm:ss")
-
stats
SELECT online FROM online GROUP BY stats(field="grade")
-
topHits
SELECT top_hits(field="class", hitssort="age:desc", taglimit = "10", hitslimit = "1", _source="name,age,class,gender") FROM school
Source code compilation
git clone https://github.com/360EntSecGroup-Skylar/ElasticHD
cd ElasticHD
npm install
npm run build
cd ./main
statik -src=../dist
# go build
GO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -o elasticHD.exe github.com/elasticHD/main
Docker Quick Start:
Image link: docker images
-
Make Docker Images docker build -t elastichd:latest .
-
Docker Usage:
docker run -p 9200:9200 -d --name elasticsearch elasticsearch
docker run -p 9800:9800 -d --link elasticsearch:demo containerize/elastichd
Open http://localhost:9800 in Browser
Connect with http://demo:9200
Todo
- More plugins support
- The indices list supports search, better sorting, detailed viewing, and more
- Program logo design
- Monitoring information collection
Licenses
This program is under the terms of the MIT License. See LICENSE for the full license text.