前回でlaradockに付属しているelasticsearchを起動するところまでおこなてみました。
が、やっぱりGUIで色々管理できたほうが便利ということで、elasticsearchのGUI管理ツールを探したところ
「elasticvue」というツールが見つかったので使ってみることにしました。
Docker版を使ってみる
公式ページにいろいろなタイプ(ブラウザエクステンション、Docker、バイナリなど)が提供されているので、お好きなものをどうぞ
https://elasticvue.com/
自分はDocker版を利用することにしました。
起動からアクセスまで
公式ページにDockerの起動コマンドが書いてあるので使用します
(自分の環境では8080ポートが使用されていたため、8880ポートで起動しています)
docker run -p 8880:8080 \
-d cars10/elasticvue
コンテナ起動後は「http://localhost:8880」で管理画面にアクセスできます

CORSの設定が必要
elasticvueのページにアクセスすると「最初にCORSの設定が必要」という注意書きが出てきますので、設定します。
設定先はlaradockのelasticsearchになります。elasticsearchもDockerで起動しているので、コンテナに入って作業します。
% docker-compose exec elasticsearch bash
-- ここからコンテナ内での操作 --
[root@1f4250529341 config]# pwd
/usr/share/elasticsearch/config
[root@1f4250529341 config]# vi elasticsearch.yml
以下2行を追加
http.cors.enabled: true
http.cors.allow-origin: "http://localhost:8880"
ファイル保存後、コンテナから抜けてdocker-composeからコンテナの再起動をかけました
% docker-compose restart
再度 elasticvueの管理画面にアクセスし、TEST CONNECTIONをクリックします。
接続に成功すれば右下に「SUCCESS」を表示されます。
次に「CONNECT」ボタンを押してelasticsearchに接続します
elasticvueでできること
elasticsearchに接続できると、ノードやクラスターのヘルスやインデックス一覧が確認できます。
REST APIへアクセスするためのエディタも準備されており、簡単なドキュメントの管理もできそう


ただ、GUIを使用してインデックスの追加や、マッピングの定義は行えないようで、それらの設定は自分でJSONを作ってREST API経由でリクエストを行う必要があるみたい・・・
以上
elasticvueの紹介でした。サクッとelasticseearchの状態を確認するには良さそうですが、本格的に管理/運用を行うなら、もう少し機能が充実したツールを探す必要がありそうですね。
自分の場合、あくまで個人開発なので、とりあえずelasticvueを使ってドキュメント作成や管理を進めていこうと思います