Stackのアップグレードに役立つヒントをご紹介します。ニュースパートナー投資家向け情報アワードElasticは検索会社です。これまでの歩みをご紹介します。Serviceをはじめましょう。GrovesShareKibanaでCanvasの要素を使用してみるCanvasは現在、workpad(ブログ「KibanaでCanvasを使い始める」を参照)に追加できる約20の組み込みの要素を提供しています。このブログでは、そのうちの2つ、メトリックとマークダウンのみをご紹介します。{{variables}}およびマークダウン構文を使用して動的なデータを表示する、フル機能のテキストボックス注:すでにCanvasを所有しており、サンプルデータがインストールされている場合は、レビューセクションをスキップしてチュートリアル本文(メトリックの使用)に進んでくださいクイックレビューまだ「KibanaでCanvasを使い始める」ブログを読んでいない場合は、これにアクセスして記載の手順を実行することを強く推奨します。今回のこのブログでは前回説明したコンセプトを基に構築すること、および読者がすでに以下の状態であることを想定しているからです。dataを使用します。注:このデータセットはKibanaバージョン6.4以降でのみ利用可能です。Kibanaインスタンスにアクセスします。data]タイルで[Add]をクリックしますクイックリファレンス下の表は、先ほどインストールしたサンプルデータセットの情報を示しています。太字の下線が引かれている項目はこのアクティビティの後のほうで使用しますが、その他の項目については自由に使ってみてください。基本から開始フライトの遅延総時間(分)を導き出し、メトリック要素で表示しましょう。そのためにはSQLクエリを使用して、サンプルデータセットのFlightDelayMinフィールドから総時間を求めます。Element]をクリックします[Metric]を選択しますヒント:初めて要素を作成すると、デモ用データが入った状態で表示され、すぐに各種の操作ができるようになっています。FlightDelayMinのすべてのJSON値を選択します。このデータは「delay」という名前の「column」に返されます。[Save]をクリックしますメトリック要素には警告マークが表示されています。これは、要素が誤ったデータを指しているからです。右の編集パネルの上部で[Display]タブを選択します「Numbers」セクションで、次のように設定しますMeasurement:ValueField:delayメトリックのラベルを次のように変更します。項目のカスタマイズ任意の期間におけるフライトの遅延総時間を表示できるように、時間フィルターを設定します。Filter]を選択しますメトリック要素には警告マークが表示されています。時間フィルターはworkpadのすべての要素にすぐに適用されますが、この警告マークはその時間フィルターがまだ正しく設定されていないことを示しています。時間フィルターをworkpadの空白の場所に移動します時間フィルター要素のデフォルトの時間フィールドは@timestampですが、ここでは適切ではありません。注:サンプルデータは4週間分あります。サンプルデータがインストールされた日を中心として、そこから過去のデータが2週間分、未来のデータが2週間分あります。次に、フライト遅延時間の平均を求めてみましょう。ここで表示を見やすくするためには、背後で動作するコードを少しカスタマイズすることが必要になります。作成した最初のメトリックが選択されていることを確認します画面の右上隅にある[Duplicate]ボタンをクリックします新しい時間フィルターをworkpadの空白の場所に移動しますメトリックのラベルを次のように変更します。kibana_sample_data_flights[Save]をクリックします数値のすべてが見えるようにメトリック要素を拡大します次のような数値が表示されます。editor]をクリックします。するとコードエディターが開きます。ここで、選択した要素の表示形式を指定するコードを修正できます。「math」関数が記述されています。基本から開始フライト総数を導き出してマークダウン要素に表示します。そのためには、サンプルデータセットのFlightNumフィールドに対してSQLコマンドを実行します。Element]をクリックします[Markdown]を選択しますヒント:初めて要素を作成すると、デモ用データが入った状態で表示され、すぐに各種の操作ができるようになっています。rows**注:マークダウン要素は、その名前が示すとおり、マークダウン構文を完全にサポートします。例:**、##、```、など。マークダウン構文に慣れていない方のために、上記の例では太字にするテキストを**で囲んでいます。[Apply]をクリックしますこれでマークダウン要素にはデータセットの列の総数、つまりフライトの総数が表示されます。Settings]を選択しますテキスト設定で、次のように調節しますフォントサイズ:36アラインメント:中央揃えテキストが見やすくなるようにマークダウン要素のサイズを調整します項目のカスタマイズ次に、いくつのフライトがどのような理由で遅延したかについて調べてみましょう。そのためには、FlightDelayTypeフィールドを使用します。**{{name}}**{{/each}}詳細説明:これはhandlebar.js構文です。SQLクエリで返された各列には、列の名前が出力されていますが、FlightDelayType列の各行の値を出力する必要があります。次の手順でこれを修正します。content」エディターで、次のように置き換えますcolumnsをrowsに置き換えるnameをFlightDelayTypeに置き換える[Apply]をクリックしますこれで遅延タイプのリストができます。各タイプにカウントを追加しましょう。先ほど作成したマークダウン要素では、行の1つが次のようになっています。2856これは遅延について示しているのではなく、実際にはその逆で、定刻どおりに出発したフライトを示しています。この行を削除し、実際に遅延したフライトのみを表示するようにしましょう。そのためにはfilterrowsと呼ばれる、Canvasの関数を使用します。先ほど作成したマークダウン要素(すべての遅延タイプを表示)が選択されていることを確認します。editor」をクリックします。するとコードエディターが開きます。ここで、選択した要素の表示形式を指定するコードを修正できます。表現エディターでは以下に類似した記述になっているはずです。{{count}}{{/each}}"まずfilterrows関数でデータをパイプし、その後、マークダウン要素にパイプします。markdown関数のすぐ上にfilterrows関数を追加します。行頭にパイプ(縦線)|を入れるのを忘れないようにしてください。{{count}}...FlightDelayType列に含まれている値に基づいて行をフィルターします。そのためには、getCellと呼ばれる別の関数を使用する必要があります。これによって、所定の列の各行の値が出力されます(「getCell」関数についてのドキュメントを参照)。}次に、anyと呼ばれる関数に、各行から値をパイプします。チェック条件に基づいてtrueまたはfalseを返します(「any」関数についてのドキュメントを参照)。等しくないという値を返すために、neqと呼ばれる関数を使用します(「neq」関数についてのドキュメントを参照)。}}表現エディターの右下隅にある[Run]をクリックします。2856」となっていた行が表示されなくなります。その他の便利なリソースリンクお疲れ様でした。Canvasのメトリック要素およびマークダウン要素を使用する例をいくつか見てきました。他の要素もworkpadに追加して、Canvasのフル機能をお試しください。Canvasのチュートリアルはこの他にもあります。