/ElasticHD

Elasticsearch 可视化DashBoard, 支持Es监控、实时搜索,Index template快捷替换修改,索引列表信息查看, SQL converts to DSL等

Primary LanguageGoMIT LicenseMIT

ElasticHD

Build Status Go Documentation Go Report Card license Release GitHub issues

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

image image image image image image image

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.