Coder Social home page Coder Social logo

1340691923 / elasticview Goto Github PK

View Code? Open in Web Editor NEW
1.2K 1.2K 175.0 272.71 MB

这是一个简单好用的ElasticSearch可视化客户端,支持连接6,7,8版本的ES,不妨一试

Home Page: http://www.elastic-view.cn/

Go 75.67% JavaScript 21.67% Handlebars 0.06% HTML 0.15% CSS 0.99% SCSS 1.38% Dockerfile 0.04% Shell 0.05%
elastic elastic-sql-dsl elasticsearch elasticsearch-gui elasticview es go sql vue

elasticview's Introduction

作者求工作,tel:13298692154



ElasticView


Go Documentation license Release

ElasticView 是一款用来监控ElasticSearch状态和操作ElasticSearch索引的web可视化工具。它由golang开发而成,具有部署方便,占用内存小等优点,官网地址:http://www.elastic-view.cn

  • ElasticSearch连接树管理(更方便的切换测试/生产环境)
  • 支持权限管理
  • 支持sql转换成dsl语法
  • 更方便的重建索引
  • 任务管理
  • 备份管理
  • 可将查询内容下载为excel文件
  • 可进行索引创建,映射创建,别名创建,索引删除等操作
  • 支持版本 6.x,7.x,8.x
  • 支持类似Navicat功能
  • docker部署
  • 支持sqlite3(免安装gcc版)
  • 数据抽取功能

官网地址

http://www.elastic-view.cn

Quick Start

  1. 应用程序下载地址
  2. 下载应用程序下载地址里面的对应压缩包后解压(windows用户下载ElasticView_windows.zip,linux用户下载ElasticView_linux.zip,mac用户下载 ElasticView_mac.zip)
  3. (若无需mysql存储数据则跳过该步骤)修改config.json文件中的 数据库连接信息,日志存放目录和应用启动端口等配置信息
  4. (若无需mysql存储数据则跳过该步骤)数据存储 若config.json下的dbType为sqlite3则指定sqlite配置下的dbPath即可(无需安装gcc) 为mysql则需新建mysql数据库 es_view,导入es_view.sql并修改mysql配置
  5. windows:双击ElasticView.exe linux:chmod +x ElasticView && nohup ./ElasticView > ElasticView.log &
  6. 浏览器访问对应ip:端口,初始用户名:admin,初始密码:admin

https://www.bilibili.com/video/av473231184/?zw&spm_id_from=888.80996.embed_old

ElasticView 教学视

##支持操作系统:

  • Windows
  • Linux
  • MacOs

☁docker部署

图文教程:https://4xx.me/archives/128.html

  • sqlite3存储
docker run --restart=unless-stopped -d -p 8090:8090 -v /data/elastic_view/data:/data -v /data/elastic_view/logs:/logs kecikeci/elastic_view:latest
  • mysql存储部署
  1. 新建数据库es_view
  2. 导入对应数据表es_view.sql
  3. 准备config.yml配置文件并修改对应连接信息
log:
   storageDays: 4          # 日志保留天数
   logDir: "logs"         # 日志保留文件夹
port: 8090              # 启动端口
dbType: "mysql"       # 数据保留类型 分为 sqlite3 和 mysql
sqlite:                 # dbType为sqlite3时填 dbPath为数据保存文件地址
   dbPath: "es_view.db"
mysql:                  # dbType为mysql时填
   username: "root"
   pwd: "123456"
   ip: "127.0.01"
   port: "3306"
   dbName: "es_view"
   maxOpenConns: 10
   maxIdleConns: 10
esPwdSecret: "concat_mail!!->[email protected]" # es密码加密密钥 加密方式为 AES
version: "1.8.5"  # ES 版本号
deBug: false      # 是否为测试模式 如果为 false则打开默认浏览器直接访问地址
  1. 挂载config目录或config.yml配置文件启动镜像
docker run --restart=unless-stopped -d -p 8090:8090 -v /data/elastic_view/data:/data -v /data/elastic_view/config:/config -v /data/elastic_view/logs:/logs kecikeci/elastic_view:latest
  • 浏览器访问对应ip:8090,初始用户名:admin,初始密码:admin

🛠️手动构建

# 拉取项目源代码
git clone https://github.com/1340691923/ElasticView

# 同步前端项目依赖
cd resources/vue && npm install

# 构建前端包
npm run build:prod

# 构建项目二进制程序
CGO_ENABLED=0 GOOS=linux go build -ldflags '-w -s' -o ev cmd/ev/main.go

更多

求职中,个人微信二维码

### 求职中,团队成员微信二维码

QQ群

elasticview's People

Contributors

1340691923 avatar abirdcfly avatar awol2005ex avatar potatocloud avatar shadow-chao avatar testwill avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

elasticview's Issues

Navicat 查看数据的功能, 索引库搜索后的列表点击查看数据, 数据显示为其他索引库的数据, 而非选择的索引库

  • Navicat 查看数据的功能, 索引库搜索后的列表点击查看数据, 数据显示为其他索引库的数据, 而非选择的索引库
  • 如果不用搜索功能, 点击索引展示的数据是正确的, 一旦搜索关键字后, 点击搜索结果中的索引名, 右侧显示的数据就错了. 应该是关联关系错乱了.
  • 这个bug有点严重, 会导致用户操作错误的索引库.



ElasticViewMac v1.4

数据抽取建议

1、数据源增加 where 条件。
2、导入时增加 routing 选项。

本地启动报错

image
也有可能我哪里配置没有配?
另外其他页面怎么切换连接源?默认都是local的

数据库不能持久化

使用最新镜像,试了mysql,sqlite3,都不能持久化。
image
image
文件已挂载到宿主机

image

我看好像是有个db_init.lock,不知道是不是这个控制的。如果是,建议放到目录里,这样可以挂载到宿主机来解决

暂停更新通知

现在elasticview暂停维护,这可能需要点时间,请见谅,原因如下:

  1. 由于每次修复bug和新增特性都会导致发新版本,用户得整包更新很麻烦
  2. 由于我没有梯子,导致更新到github的releases是一件挺麻烦的事情
    基于以上两点,我正在开发插件版本的ev,等开发完后,用户只需要下载基座程序,其他业务功能都在插件中,更新可以更流畅,
    如愿意贡献一份力量,请加微信:qq1340691923

能否增加ssh方式连接

有时候想要链接云服务器vpc内网的es实例,但是这些实例不方便开发外网连接,希望elasticView能增加ssh方式连接,谢谢

数据抽取时间类型字段报错

从mysql抽取timestamp、datetime类型字段报错. 报错如下。建议给用户提供导入时间类型时,指定格式的功能。从mysql查出来时按Es支持的格式进行格式化再导入到Es。mysql默认的yyyy-MM-dd HH:mm:ss格式不被Es支持。Es在年月日和时分秒之间需要有一个'T'字母分隔如yyyy-MM-dd'T'HH:mm:ss 或者就是传入毫秒或秒级时间戳传入, 感谢。

支持的导入格式:
https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-date-format.html?spm=a2c4g.11186623.0.0.1f7965aamqz0ze
报错如下
image

"秘钥长度错误, 当前传入长度为 17

https: //
测试正确,点击确认时弹出这个错误, 无法保存 连接信息

response/Response.go:99 Error {"err": ["秘钥长度错误, 当前传入长度为 17", "文件名:D:/CodeApply/WORK/JAVA/ElasticView/api/EsLinkController.go,行数:79,函数名:github.com/1340691923/ElasticView/api.EsLinkController.InsertAction", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go,行数:132,函数名:github.com/gofiber/fiber/v2.(*App).next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:792,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:D:/CodeApply/WORK/JAVA/ElasticView/middleware/Rbac.go,行数:33,函数名:github.com/1340691923/ElasticView/middleware.Rbac", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:789,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:D:/CodeApply/WORK/JAVA/ElasticView/middleware/jwt.go,行数:51,函数名:github.com/1340691923/ElasticView/middleware.JwtMiddleware", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:789,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:D:/CodeApply/WORK/JAVA/ElasticView/middleware/Time.go,行数:16,函数名:github.com/1340691923/ElasticView/middleware.Timer", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go,行数:132,函数名:github.com/gofiber/fiber/v2.(*App).next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:792,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/filesystem/filesystem.go,行数:111,函数名:github.com/gofiber/fiber/v2/middleware/filesystem.New.func1", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:789,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/compress/compress.go,行数:54,函数名:github.com/gofiber/fiber/v2/middleware/compress.New.func3", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go,行数:789,函数名:github.com/gofiber/fiber/v2.(*Ctx).Next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/cors/cors.go,行数:141,函数名:github.com/gofiber/fiber/v2/middleware/cors.New.func1", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go,行数:132,函数名:github.com/gofiber/fiber/v2.(*App).next", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go,行数:160,函数名:github.com/gofiber/fiber/v2.(*App).handler", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/server.go,行数:2328,函数名:github.com/valyala/fasthttp.(*Server).serveConn", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/workerpool.go,行数:223,函数名:github.com/valyala/fasthttp.(*workerPool).workerFunc", "文件名:C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/workerpool.go,行数:195,函数名:github.com/valyala/fasthttp.(*workerPool).getCh.func1"]}

每天都会自动停止进程

你好,我现在部署到了centos 7.6上,但是它每天都会自动关闭服务,早上来了要执行./ElasticView &,请问这个需要怎么处理呢,我看日志好像有报错的

当前项目docker镜像目前支持M1芯片吗

我在M1芯片的mac上使用了命令 docker run --platform linux/arm64 -d -p 8090:8090 1340691923/elastic_view:latest ,镜像启动成功,但是访问8090端口却显示意外终止了连接。ES服务在我的9200端口,同样是用docker运行,ES服务能够正常访问。
image

数据抽取功能

试用了下,功能挺好的,很赞!

就是缺少使用文档,导致在数据抽取功能那,配置抽取任务时,新增映射那卡住了,不会操作。
如果有个给索引编辑字段的功能就好了,类似数据库的编辑表结构

image

秘钥长度错误, 当前传入长度为 44

【连接树管理】-->【新建连接信息】中的密码是啥?我填的elastic密码,给我报错【秘钥长度错误, 当前传入长度为 44】,可是我的密码才10位,这个44哪里来的?

ldap登录支持

我觉得最好是能够支持ldap登录,这样账号可以做到集中管理

既然有人维护, 我就来提issue了, 先来一波, 跟用户权限相关的问题.

比较影响使用的几个问题:

  • 增加的自定义角色, 就算这个角色给了全部权限. 该角色下的用户也无法登陆. 查看了一下网络请求, 发现有接口500. 下面会放图.
  • 新增用户后, 密码在用户列表以密码密文形式显示, 可能是考虑安全性, 但是在编辑用户的时候, 密码文本框依然显示密码密文, 如果这个时候保存, 比如我修改了真实姓名, 密码会被二次修改, 导致用户无法登陆....
  • 新增用户时, 明明选择了对应的角色 , 但是新增后系统弹出的toast提示中显示的用户角色是 undefined, 我觉得这个可能是引起用户无法登陆的根本原因.

我的部署环境是macOS Big Sur 11.6, 数据库是 mariadb 10.6.4 , 部署的程序是ElasticViewMac

问题截图:






后续使用中有其他问题再持续反馈, 传图不易, 辛苦大神帮忙优化下.

功能增加:查询语句功能扩展

image
1.我有一个嵌套的dict(object)字段,目前的筛选查询并不能满足我的查询需求。
例如:
数据为: {"aa":{"bb":"cc"}}}
通过目前的功能,我并不能使用aa.bb="cc"进行查询数据。
2.目前没有精确搜索,比如name="张三"

部署方式:docker
版本:最新版
数据库版本:7.5.1

navicat查询错误

选择筛选条件两个模糊查询时,服务异常

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xbf28aa]

goroutine 39 [running]:
github.com/olivere/elastic/v7.(*BoolQuery).Source(0xc0006e4000)
	C:/Users/Administrator/go/pkg/mod/github.com/olivere/elastic/[email protected]/search_queries_bool.go:123 +0xaaa
github.com/olivere/elastic/v7.(*BoolQuery).Source(0xc0006e40a0)
	C:/Users/Administrator/go/pkg/mod/github.com/olivere/elastic/[email protected]/search_queries_bool.go:115 +0xea
github.com/olivere/elastic/v7.(*SearchSource).Source(0xc00033d118)
	C:/Users/Administrator/go/pkg/mod/github.com/olivere/elastic/[email protected]/search_source.go:395 +0x272
github.com/1340691923/ElasticView/platform-basic-libs/service/es.EsServiceV7.CrudGetDSL({{0x0, {0x0, 0x0}, {0x0, 0x0}}, {}, 0xc000364540}, 0xc0006dc080, 0xc0006be180)
	D:/CodeApply/WORK/JAVA/ElasticView/platform-basic-libs/service/es/EsServiceV7.go:770 +0x1f4
github.com/1340691923/ElasticView/api.EsCrudController.GetDSL({{{0x0, {0x0, 0x0}, {0x0, 0x0}}, {}}}, 0xc0003da2c0)
	D:/CodeApply/WORK/JAVA/ElasticView/api/EsCrudController.go:51 +0xb1
github.com/gofiber/fiber/v2.(*App).next(0xc00000a1e0, 0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go:132 +0x1d8
github.com/gofiber/fiber/v2.(*Ctx).Next(0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:792 +0x53
github.com/1340691923/ElasticView/middleware.Rbac(0x0)
	D:/CodeApply/WORK/JAVA/ElasticView/middleware/Rbac.go:33 +0xd5
github.com/gofiber/fiber/v2.(*Ctx).Next(0xc0006ba000)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:789 +0x43
github.com/1340691923/ElasticView/middleware.JwtMiddleware(0xc0006a4700)
	D:/CodeApply/WORK/JAVA/ElasticView/middleware/jwt.go:51 +0x466
github.com/gofiber/fiber/v2.(*Ctx).Next(0x8)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:789 +0x43
github.com/1340691923/ElasticView/middleware.Timer(0x118ddc0)
	D:/CodeApply/WORK/JAVA/ElasticView/middleware/Time.go:16 +0x49
github.com/gofiber/fiber/v2.(*App).next(0xc00000a1e0, 0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go:132 +0x1d8
github.com/gofiber/fiber/v2.(*Ctx).Next(0xc0006a4970)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:792 +0x53
github.com/gofiber/fiber/v2/middleware/filesystem.New.func1(0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/filesystem/filesystem.go:111 +0xc5
github.com/gofiber/fiber/v2.(*Ctx).Next(0xc00014e1c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:789 +0x43
github.com/gofiber/fiber/v2/middleware/compress.New.func3(0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/compress/compress.go:54 +0x45
github.com/gofiber/fiber/v2.(*Ctx).Next(0xc000140318)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/ctx.go:789 +0x43
github.com/gofiber/fiber/v2/middleware/cors.New.func1(0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/middleware/cors/cors.go:141 +0x292
github.com/gofiber/fiber/v2.(*App).next(0xc00000a1e0, 0xc0001242c0)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go:132 +0x1d8
github.com/gofiber/fiber/v2.(*App).handler(0xc00000a1e0, 0x4bde37)
	C:/Users/Administrator/go/pkg/mod/github.com/gofiber/fiber/[email protected]/router.go:160 +0x45
github.com/valyala/fasthttp.(*Server).serveConn(0xc0006286c0, {0x1b4e440, 0xc000560e80})
	C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/server.go:2328 +0x120e
github.com/valyala/fasthttp.(*workerPool).workerFunc(0xc0000c0460, 0xc000552a40)
	C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/workerpool.go:223 +0xa9
github.com/valyala/fasthttp.(*workerPool).getCh.func1()
	C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/workerpool.go:195 +0x38
created by github.com/valyala/fasthttp.(*workerPool).getCh
	C:/Users/Administrator/go/pkg/mod/github.com/valyala/[email protected]/workerpool.go:194 +0x1b5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.