Dockerを使ってローカル環境にKibanaインスタンスを構築する手順

本記事では、リモートのElasticsearchクラスタに接続するローカルKibanaインスタンスの構築手順を、ステップごとにわかりやすく解説します。ObjectRocket for Elasticsearchには無料のホスト型Kibanaが付属していますが、ローカルマシン上でKibanaを実行することで、より柔軟な運用が可能になります。また、ホスト型Kibanaを提供していない環境やサービスを利用している場合でも、このガイドに沿って進めれば、自分のマシン上で簡単にKibanaを動かせるようになります。
なぜローカルでKibanaを動かすのか?
他のKibanaユーザーと共有したくない独自のビジュアライゼーションを作成したいと思ったことはありませんか?あるいは、共有インスタンスにインストールする前に、新しいKibanaプラグインを試してみたいという経験はないでしょうか?Kibanaをローカルで実行すれば、こうしたニーズすべてに対応できます。
Kibana自体はデータをローカルに保存せず、デフォルトではElasticsearchクラスタ内の同じインデックスを使用して設定情報を管理します。そのため、必要なときだけKibanaを起動したり、複数のインスタンスを同時に実行したりすることも自由自在です。ただし、状態や設定が共有されているため、あるインスタンスで作成・変更したビジュアライゼーションは、同じクラスタに接続するすべてのKibanaインスタンスから参照されます。これはコラボレーションの面では大きなメリットですが、一方で、一人のユーザーのミスが全ユーザーのビジュアライゼーションに影響を与えてしまうリスクもあります。
Kibanaを利用するユーザーが多い場合は、別のインデックスを使用する自分専用のインスタンスを用意しておくとよいでしょう。そうすることで、他のユーザーに変更される心配なく、カスタムビジュアライゼーションを安全に管理できます。また、完成度が高まるまで他の人に公開せずに、自分のKibana環境でビジュアライゼーションやプラグインを試したい場合にも最適です。
このような柔軟性を活かすために、早速セットアップを始めましょう。
Kibanaのセットアップ
Kibanaは、他のElasticsearchクライアントと同様にElasticsearchへ接続するだけのシンプルな仕組みです。つまり、ローカルシステムからElasticsearchに接続できる環境があれば、Kibanaもローカルで実行できます。ここでは、ローカルにインストールするコンポーネントを最小限に抑え、環境をきれいに分離しておくために、Docker化されたKibanaイメージの使用をおすすめします。そのため、少なくともローカルシステムにDockerとDocker Composeがインストールされている必要があります。
Dockerの準備ができたら、local-kibanaのGitHubリポジトリをシステム上の任意のディレクトリにクローンしてください。
次に、同梱されているkibana.ymlファイルを自身の環境に合わせて編集します。以下は、リポジトリに含まれている設定ファイルの内容です。
---
## kibana-docker のデフォルト設定
## 出典: https://github.com/elastic/kibana-docker/blob/master/build/kibana/config/kibana.yml
#
# Kibanaサーバー名とホスト。通常は変更不要
server.name: kibana
server.host: "0"
# 接続先のElasticsearchクラスタとユーザー情報を必ず設定してください
elasticsearch.url: "https://your-host.es.objectrocket.com:yourport"
elasticsearch.username: "youruser"
elasticsearch.password: "yourpassword"
# Kibanaが使用するインデックス。デフォルトは ".kibana"
# ビジュアライゼーションやダッシュボード、インデックスパターンを他ユーザーと分離したい場合は変更する
#kibana.index: ".kibana"
設定ファイルで特に注目すべきは、「elasticsearch.*」系の設定項目と「kibana.index」設定の2箇所です。
「elasticsearch.*」の設定では、接続先となるElasticsearchクラスタを指定します。ObjectRocketサービスをご利用の場合は、UIの「Connect」セクションに記載されている情報をそのまま入力できます。それ以外の環境では、Elasticsearchのホスト名と、接続に使用するユーザー名・パスワードを設定してください。なお、Kibanaは複数のElasticsearchホスト名を受け付けないため、ホストが複数ある場合は、このKibanaインスタンスが接続する1台を選択する必要があります。
もう一つの注目ポイントが「kibana.index」設定です。他のユーザーと同じビジュアライゼーションやダッシュボードを共有して作業する場合は、デフォルトのままにしておきます。逆に、自分専用の環境で作業したい場合は、コメントアウトを解除し、他のユーザーと区別できるわかりやすいインデックス名に変更しましょう。
Kibanaの起動
これでKibanaを起動する準備が整いました。ネットワークセキュリティ(ACL)が設定されているサービスを利用している場合は、まずローカルマシンからElasticsearchに接続できることを確認しておいてください。
local-kibanaディレクトリに移動し、以下のコマンドを実行します。
$ docker-compose build --no-cache
$ docker-compose up
Kibanaの起動と初期設定には数分かかりますが、しばらくするとターミナル上でKibanaのステータスが「green」に変わるのが確認できるはずです。これで接続準備完了です。
接続方法
Kibanaコンテナが正常に稼働していれば、ブラウザで「localhost:5601」にアクセスできます。ユーザー名とパスワード(前述の設定ファイルに入力したものと同じ認証情報)の入力を求められるので、入力するとすべての機能が読み込まれます。なお、Kibanaのインデックスをデフォルトから変更した場合は、初回ログイン時にインデックスパターンとデフォルトのインデックスパターンを新たに設定する必要があります。
まとめ
以上の手順だけで、ローカルKibanaインスタンスを素早く簡単に立ち上げることができます。より詳細な手順については、公式ドキュメントも併せてご確認ください。
-
Raspberry Pi OSのセットアップ方法を徹底解説!ImagerとNOOBSの2つの手順
DebianベースのRaspberry Pi OS(旧称:Raspbian)は、Raspberry Piのハードウェアに最適化された公式OSです。すぐに使い始められる便利なソフトウェアが多数同梱されており、初心者から上級者まで、あらゆるユーザーにとって理想的な選択肢となっています。 Raspberry Pi OSのインストールは以前から比較的簡単でしたが、2020年にRaspberry Pi Imagerが登場してからは、さらに手軽になりました。この記事では、Raspberry PiにRaspberry Pi OSをセットアップする方法を、画像付きの手順でわかりやすく解説します。 なお、以下の
-
Windows 10でローカルアカウントを作成・設定する4つの方法【2022年版】
Windows 10の初期設定を、Microsoftアカウントではなくローカルアカウントで行えるのか疑問に思ったことはありませんか?実は、Windows 10のセットアップ時にローカルアカウント(Microsoftアカウント以外)を使用することは可能です。この記事では、その具体的な方法を詳しく解説します。 多くの方が、Microsoftアカウントを使ったWindows 10アカウントの作成に抵抗を感じています。ただし、設定のオンライン同期、Microsoft Storeからのアプリダウンロード、アプリへのオンラインコンテンツの自動取り込みといった便利な機能を利用するには、Microsoftアカ