elasticsearch入門到放棄之elasticsearch-head

(https://github.com/mobz/elasticsearch-head)可理解爲跟DBeaver一樣是一個數據可視化工具,但是這個工具並沒有理想中那麼好用坑也是很多,我已經在我的github上fork了一份修改後的版本:https://github.com/zhaoyunxing92/elasticsearch-head

系列文章

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 點開開發者模式

在這裏插入圖片描述

  • 下載模式安裝

本地創建一個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,或者掃碼關注.別抱有太高期望,更新很慢的
zhaoyx92

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章