Stackのアップグレードに役立つヒントをご紹介します。ニュースパートナー投資家向け情報アワードElasticは検索会社です。これまでの歩みをご紹介します。Serviceをはじめましょう。6.5より、ダッシュボードや可視化、その他の保存済みのオブジェクトをspaceを使用して整理できるようになりました。セキュリティ機能を使用して特定のspaceにアクセス権を持つロールを制御することもできるようになりました。これにより、Kibanaの同じインスタンスを多数のユーザーで共有しつつ、各ユーザーが保存済みオブジェクトのサブセットを使用できます。spaceをサポートするKibanaにバージョンをアップグレードすると、既存の保存済みオブジェクトはすべて"Default"というspaceに入っています。その後、以下に紹介する方法を使用してspace間でオブジェクトを移動することができます。##保存済みオブジェクトをspace間で移動する##保存済みオブジェクトを1つのspaceから別のspaceに移動するには、KibanaのImport/ExportUIを使用します。Import/ExportUIを使用して保存済みオブジェクトを移動する場合、関連する保存済みオブジェクトが自動的に移動しない点に留意してください。ダッシュボードとすべての依存するオブジェクトをspace間で移動させる場合は、"ダッシュボードをspaceからspaceへ移動させる"を参照してください。Objectsを開き、移動させる保存済みオブジェクトを選択してください。Exportをクリックすると、出力したJSONの保存先を選択できます。次にspaceセレクターで、別のspaceを選択します。Objectsに戻ります。保存済みオブジェクトは各spaceごとに完全に独立しています。先ほどエクスポートしたインデックスパターンはここでは表示されていません。先ほどエクスポートしたインデックスパターンをインポートするには、Importをクリックして、前回JSONを保存した場所を表示します。これでインポートしたインデックスパターンが表示されるようになりました。現在2つのインデックスパターンがありますが、どちらもElasticsearchの同じインデックス用のものです。各spaceで保存されたオブジェクトは独立しており、いずれかのインデックスパターンに変更を加えても、もう一方のインデックスパターンに変更が適用されることはありません。元のspaceにインデックスパターンを置いておきたくない場合、削除することもできます。コピー先のspaceにインデックスパターンがあるので、問題ありません。##spaceに複数テナントを統合する##Kibanaのユーザー同士を隔離する目的で複数のテナントを持ち、それぞれのElasticsearchインデックスでKibanaを使用していた場合は、Export/ImportUIで1つのテナントに統合し、spaceによる"住み分け"を行うことができます。Objectsに進み、ヘッダーのチェックボックスをクリックして全オブジェクトを選択し、Exportをクリックします。次に、JSONの保存先をたずねる画面が表示されます。エクスポート先のspaceがまだ作成されていない場合は、保存済みオブジェクトをエクスポートしてからエクスポート先となるKibanaのインスタンスに移動し、エクスポートするspaceを作成して選択します。Objectsに進み、Importを選択して保存したJSONファイルを指定します。この操作で、選択した保存済みオブジェクトをspaceにインポートすることができます。##spaceから別のspaceへ、ダッシュボードを移動する##個別の保存済みオブジェクトを移動させる場合は、KibanaのImport/ExportUIを使用するだけでした。ダッシュボードと、その関連の可視化や保存済みの検索、インデックスパターンなどをすべて移動させたい場合、この方法は最適とは言えません。APIsを使用します。###ダッシュボードのエクスポート###ダッシュボードをエクスポートする場合、はじめにダッシュボードのIDを特定する必要があります。エクスポートするダッシュボードを開き、URLを確認します。URLの中で、/app/kibana#/dashboard/と?の間にある識別子がIDです。以下のURLで、強調表示されている部分がダッシュボードIDです。http://localhost:5601/s/marketing/app/kibana#/dashboard/<b>d203dd90-deac-11e8-869e-d73106bbd5ad</b>?_g=()ダッシュボードのspaceについても、URLを使用して識別子を確認することができます。spaceの識別子は、URLの/s/と/app/kibana#dashboardの間にあります。URLに/s/が入っていない場合は、Defaultのspaceということになります。APIも含め、すべてのKibanaのURLのspace識別子は/s/{spaceID}という形式を用い、相互に区別しています。Defaultのspaceでは例外で、このようなプリフィックスが入りません。以下のURLで、強調表示されている部分がspaceの識別子です。http://localhost:5601/s/<b>marketing</b>/app/kibana#/dashboard/d203dd90-deac-11e8-869e-d73106bbd5ad?_g=()ダッシュボードのIDがわかったので、以下と類似のCURLコマンドを{spacePrefix}/api/kibana/dashboards/export?dashboard={dashboardID}に対して使用してGETリクエストを実行します。これでmarketingスペースからIDd203dd90-deac-11e8-869e-d73106bbd5adのダッシュボードをエクスポートし、ダッシュボードと依存するオブジェクトをexport.jsonファイルに保存できます。export.json同様に、次のCURLはDefaultのspaceからIDd203dd90-deac-11e8-869e-d73106bbd5adのダッシュボードをエクスポートし、export.jsonファイルに保存します。export.json###ダッシュボードをインポートする###さて、最も難しい作業が無事に終わりました。これで新しいspaceにダッシュボードをインポートすることができます。インポート先のspaceのURLに含まれる識別子を特定し、URLに表示されるspaceプリフィックスを構築します。spaceセレクターを使用してダッシュボードの移動先となるspaceを選択し、URLをエクスポートの際と同じ要領で確認します。対するPOSTリクエストを実行する準備が整いました。次のCURLコマンドで、ダッシュボードを"sales"spaceにインポートできます。@export.json同じ要領で、"Default"spaceにダッシュボードをインポートする場合は次のCURLコマンドを使用します。@export.jsonダッシュボードのインポートが完了し、元のspaceにダッシュボードを保持する必要がないと感じる場合は、削除することができます。##はじめましょう##Kibanaのspaceは、ダッシュボードや可視化を整理したり、グループ化する際に非常に役立ちます。多くのユーザーでKibanaを使用できるようにしたり、ワークフローを実装するなどさまざまな目的に使えます。お気に入りのspace活用法を見つけて、ぜひフォーラムで共有してください。Foundationの商標です。