elasticsearch入门到放弃之elasticsearch-head
elasticsearch-head可理解为跟DBeaver一样是一个数据可视化工具,但是这个工具并没有理想中那么好用坑也是很多,我已经在我的github上fork了一份修改后的版本:https://github.com/zhaoyunxing92/elasticsearch-head
系列文章
- elasticsearch入门到放弃之docker搭建 es环境搭建
- elasticsearch入门到放弃之x-pack安全认证 x-pack保驾护航你的es
- elasticsearch入门到放弃之elasticsearch-in-java elasticsearch api使用
- elasticsearch入门到放弃之springboot elasticsearch x-pack springboot整合elasticsearch
- spring-data-elasticsearch实践
docker-compose.yml配置
如果你elasticsearch没有开启x-pack并且不需使用es-head创建索引,并且你比较懒,那么就可以使用docker构建,这么多限制条件就知道它有多难用了,这个不想过多解释直接拿去使用就是了
version: '3'
services:
head:
image: docker.io/mobz/elasticsearch-head:5
container_name: es-head # docker启动后的名称
network_mode: host # 公用主机的网络
ports:
- 9100:9100
chrome插件方式
直接说我的问题吧,我是按照elasticsearch-head官方在地址栏后面添加http://localhost:9100/?auth_user=elastic&auth_password=changeme结果一直提示我401(授权未通过),百度了半天都说这样就可以了(事实证明那些人根本没有开启过x-pack),我本来是想在官网上提交一个issues的但是发现这个项目两年前就很少有人再修改了,没办法我只能硬着头皮fork一份自己修改了。通过chrome抓包我发现访问头的authorization字段未按照理想的basic auth加密,下面就直接贴出我修改的地方代码吧
app.js修改地方
// 打开 _site/app.js文件 跳转到3787行
_reconnect_handler: function() {
var base_uri = this.el.find(".uiClusterConnect-uri").val();
var url;
if(base_uri.indexOf("?")!==-1){
url=base_uri.substring(0,base_uri.indexOf("?")-1)
}else{
url=base_uri;
}
var argstr=base_uri.substring(base_uri.indexOf("?")+1,base_uri.length-1)
// 在地址栏获取auth_user=elastic&auth_password=changeme格式的参数
let args = argstr.split("&").reduce(function(r, p) {
r[decodeURIComponent(p.split("=")[0])] = decodeURIComponent(p.split("=")[1]); return r;
}, {});
$("body").empty().append(new app.App("body",
{ id: "es",
base_uri: url,
auth_user : args["auth_user"]||"",
auth_password : args["auth_password"]||""
}));
}
懒人模式
如果你嫌修改代码太麻烦我也做好了chrome插件:https://github.com/zhaoyunxing92/elasticsearch-head/blob/master/crx/es-head.crx 下载到本地,如果你会chrome插件开发你也可以自己编译一份使用_site目录编译就可以了,manifest.json文件我都写好了(我的chrome账户已经忘记了不然我会上传到google商店)
安装流程
在chrome地址栏输入:chrome://extensions 点开开发者模式
![chrome-extension] (https://gitee.com/sunny9/resource/raw/master/img/chrome-extensions.png)
- 下载模式安装
本地创建一个head文件夹,把下载好的es-head.crx解压到head文件加里面,然后在chrome里选择加载已解压的扩展程序,完事后chrome右边就会多出一个搜索的icon
- 自己编译模式
# clone 代码
git clone https://github.com/zhaoyunxing92/elasticsearch-head
在chrome里面选择打包扩展程序

完事后会在_site平级目录下多出一个_site.crx文件,拖到chrome里面就完成了
最终效果图
如果你的es开启了x-pack那么输入框换成:http://localhost:9100/?auth_user=elastic&auth_password=es密码

最后
如果你想了解更多的文章可以微信搜索zhaoyx92,或者扫码关注.别抱有太高期望,更新很慢的
elasticsearch入门到放弃之elasticsearch-head的更多相关文章
- Elasticsearch入门教程(六):Elasticsearch查询(二)
原文:Elasticsearch入门教程(六):Elasticsearch查询(二) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(五):Elasticsearch查询(一)
原文:Elasticsearch入门教程(五):Elasticsearch查询(一) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- Elasticsearch入门教程(四):Elasticsearch文档CURD
原文:Elasticsearch入门教程(四):Elasticsearch文档CURD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接: ...
- Elasticsearch入门教程(三):Elasticsearch索引&映射
原文:Elasticsearch入门教程(三):Elasticsearch索引&映射 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文 ...
- Elasticsearch入门教程(二):Elasticsearch核心概念
原文:Elasticsearch入门教程(二):Elasticsearch核心概念 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:ht ...
- Elasticsearch入门教程(一):Elasticsearch及插件安装
原文:Elasticsearch入门教程(一):Elasticsearch及插件安装 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:h ...
- 《读书报告 -- Elasticsearch入门 》-- 安装以及简单使用(1)
<读书报告 – Elasticsearch入门 > 第一章 Elasticsearch入门 Elasticsearch是一个实时的分布式搜索和分析引擎,使得人们可以在一定规模上和一定速度上 ...
- ElasticSearch 入门总结
ElasticSearch 入门 本篇为 ElasticSearch 入门学习总结笔记,课程视频地址:ElasticSearch 入门 一.ElasticSearch 简介 1.1.什么是Elasti ...
- ElasticSearch入门一
ElasticSearch入门一 1 安装ElasticSearch,配置环境变量,并且存在Java环境,而且是Java环境: 下图是安装的目录: 进入bin目录之后,请看bin目录: 启动elast ...
随机推荐
- Flutter 中的动画
Flutter 中动画的创建有很多种, 需要根据具体的需求选择不同的动画.如果只是简单的布局等的动画直接使用最简单的隐式动画就可以了,因为隐式动画是由框架控制的,所以仅仅只需要更改变需要变化属性就可以 ...
- Java8新特性(一)之Lambda表达式
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Linux之cat tail less常见用法
1.cat 通常查找出错误日志 cat error.log | grep 'foo' , 这时候我们还有个需求就是输出当前这个日志的前后几行: cat error.log | grep -C 10 ' ...
- Supervisord远程命令执行漏洞(CVE-2017-11610)复现
Supervisord远程命令执行漏洞(CVE-2017-11610)复现 文章首发在安全客 https://www.anquanke.com/post/id/225451 写在前面 因为工作中遇到了 ...
- 【阿菜Writeup】Security Innovation Smart Contract CTF
赛题地址:https://blockchain-ctf.securityinnovation.com/#/dashboard Donation 源码解析 我们只需要用外部账户调用 withdrawDo ...
- linux 的删除
1,删除 命令行 rm -rf 文件夹名称 2,下载 wget 网址 -------------------- 查找ES进程号 ps -ef | grep elastic kill -9 3250 3 ...
- .NET WebApi 实战第五讲之EntityFramework事务
在<.NET WebApi 实战第二讲>中我们有提到过事务的概念!任何数据库的读操作可以没有事务,但是写事件必须有事务,如果一个后端工程师在数据库写入时未添加事务,那就不是一个合格的工程师 ...
- 【maven】入门教程
一:Maven简介 1.Maven是什么? 是一个跨平台的项目管理工具.使用java语言开发(Maven 3.3+ require JDK 1.7 or above to execute)2. 为什么 ...
- LeetCoded第242题题解--java--数组
数组 数组的优点在于: 构建非常简单 能在 O(1) 的时间里根据数组的下标(index)查询某个元素(连续内存+对象指向数组下标0位置+index能够直接找到元素) 而数组的缺点在于: 构建时必须分 ...
- IDEA不自动提示仓库中有的包maven