我想使用精彩的dejavu软件来审核本地的弹性搜索实例。
Wondefull的想法,但目前它看起来并不容易。但我找到了一种方法,这就是我想与社区分享的内容。
基本上你可以从opensource.appbase.io运行dejavu,但首先需要设置SSL才能访问本地ES。以下是我在不到1小时内完成的工作(节省了其他4小时的谷歌搜索/研究/尝试和失败)。
这有点像问题https://github.com/appbaseio/dejavu/issues/106,但是从dejavu的网站而不是本地扩展程序运行它。
为了以防万一,我已经在Chrome和Firefox上测试了这两款,两者都是成功的。我在Windows中完成了所有操作,但我认为Linux应该可以工作,因为这里描述的内容都不是特定于Windows的。
坏消息:谷歌扩展失败(不知道,因为错误报告不存在)
更多:我不想处理Docker,这是提供的另一种“简单”方式。
所以这就是我所做的:
1.-这是指向主要网站的链接:https://opensource.appbase.io/dejavu/
2.-点击立即运行。这是链接:https://opensource.appbase.io/dejavu/live?default=true
它将立即启动,但无法获取任何数据。别担心。
3.-指向本地,在我的情况下是http://localhost:9200加上我的ES索引文档。失败,但不要担心。
如果您查看浏览器的控制台和网络工具,dejavu会尝试使用SSL来连接您的ES。这是在ES上(或在它前面)设置SSL的地方。
有几种方法可以做到这一点。在我的情况下(因为它不是用于生产)我使用了Apache httpd,特别是已经打包(便携)的xampp版本,因此下载并运行它只需几分钟。我从这里下载:https://portableapps.com/apps/development/xampp
4.-安装Apache后,在浏览器中打开一个新选项卡并尝试使用https://localhost之类的SSL,它将为您提供有关证书的正确警告。只需相信它就可以检查SSL是否正常运行。不要担心警告。
5.-设置SSL以正确重定向ES请求,在这里您可以在apache配置文件中添加这些简单设置,然后重启apache。我从这里接受了这个想法:Elasticsearch with apache2 ssl proxy
<Proxy http://127.0.0.1:9200>
ProxySet connectiontimeout=5 timeout=90
</Proxy>
<LocationMatch "^(/_aliases|.*/_search|.*/_mapping|/_nodes|/_settings)$">
ProxyPassMatch http://127.0.0.1:9200
ProxyPassReverse http://127.0.0.1:9200
</LocationMatch>
6.-现在需要在您的ES上设置跨域授权。将这些行添加到elasticsearch.yml文件中并重新启动ES。说明来自dejavu的github网站:https://github.com/appbaseio/dejavu
http.cors.allow-origin: "https://opensource.appbase.io"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization,Access-Control-Allow-Origin
http.cors.allow-credentials: true
7.-测试它是怎么回事:用这样的东西得到你的索引映射:https://localhost/your_es_doc_index/_mapping
您将获得索引的JSON maping。一切正常(Apache和ES)
8.-现在,在你的dejavu中,将它指向https://localhost:443(是的,必须设置端口,因为如果不是,它将假定为https://localhost:9200,信不信由你)。不要忘记将您的ES索引文档设置在ni dejavu的“标题”框中。现在点击“连接”。
几秒钟之后,您将在dejavu中准备好可访问的类型列表