Soracom

Users

ドキュメント
Home ドキュメント SORACOM Lagoon 3 Panel の共通機能

Variables (変数) を利用して Panel に表示する対象データを切り替える

標準的な設定では、1 つの Panel では、1 つのデバイスから送信されたデータのみを可視化できます。多くのデバイスのデータを可視化するためにデバイスごとに Panel を用意すると、画面のスペースが足りなかったり、多くの同じような Panel を作成する手間がかかったりします。

この問題を解決するために、Variables を利用します。Variables の主な使いかたは以下のとおりです。

  • Panel に表示するデバイスや系列を切り替える

    画面上部で任意の値を選択すると、Panel に表示するデバイスや系列を切り替えられます。

  • 同じフォーマットの Panel を繰り返し表示する

    画面上部で「All」を選択すると、同じフォーマットの Panel を繰り返し表示できます。

    任意のデバイスを複数選択できます

    Variables の [Selection options][Multi-value] にチェックを入れると、画面上部で Variables の値を選択するときに、同時に複数の値を選択できます。たとえば、以下のように 画面上部で「Device-1」、「Device-3」だけを選択すると、選択したデバイスの Panel のみを表示できます。

  • 同じフォーマットの Row を繰り返し表示する

    画面上部で「All」を選択すると、同じフォーマットの Row を繰り返し表示できます。

    任意のデバイスを選択できます

    Variables の [Selection options][Multi-value] にチェックを入れると、画面上部で Variables の値を選択するときに、同時に複数の値を選択できます。たとえば、以下のように 画面上部で「Device-1」、「Device-3」だけを選択すると、選択したデバイスの Panel のみを表示できます。

Variables を設定した Dashboard では Public dashboard を作成できません (第三者に公開できません)

Variables が削除された Dashboard に限り、Public dashboard を作成できます (第三者に公開できます)。

Public dashboard を作成する (第三者に公開する) Dashboard では、Variables を削除してください。

詳しくは Grafana 9 のドキュメントを参照してください

このページでは、Lagoon でよく利用される機能を説明しています。そのほかの機能について詳しくは、Grafana documentation の Variables (英語) を参照してください。

デフォルトの Variables

Lagoon 3 で Dashboard を作成すると、デフォルトで以下の Variables が定義されます。

Variables説明
resource_types

有効なリソースタイプ (例: Air、Sigfox、Devices) を選択する Variables です。

この Variables の設定は以下のとおりです。これ以外の項目は、デフォルトの設定です。

項目説明
[Name]resource_types
[Query]resource_types
groups

有効なグループ (例: SIM グループ A) を選択する Variables です。

この Variables の設定は以下のとおりです。これ以外の項目は、デフォルトの設定です。

項目説明
[Name]groups
[Query]groups
resources

Dashboard 画面上部の [resource_types] で指定したリソースの種類かつ、[groups] で指定したグループに含まれるリソース (例: IoT SIM A、Sigfox デバイス B) を選択する Variables です。

この Variables の設定は以下のとおりです。これ以外の項目は、デフォルトの設定です。

項目説明
[Name]resources
[Query]$resource_types?group=$groups
[Multi-value]チェックを入れる
[Include All option]チェックを入れる

Dashboard 画面上部の [groups] で「All Groups」を指定した場合は、[resource_types] で指定した種類のすべてのリソースが取得されます。

properties

Dashboard 画面上部の [resources] で指定されたリソースが Harvest Data に保存したデータの系列 (例: temperature、humidity) を選択する Variables です。

この Variables の設定は以下のとおりです。これ以外の項目は、デフォルトの設定です。

項目説明
[Name]properties
[Query]$resource_types
[Multi-value]チェックを入れる
デフォルトの Variables には依存関係があります

デフォルトの Variables は、削除したり再作成したりできます。再作成する場合は、上記の表を参考にしてください。

なお、デフォルトの Variables には依存関係があるため、再作成する場合は、4 つとも再作成することを推奨します。たとえば、properties は resources に依存しており、resources は groups に依存しているため、groups を設定しないと、properties はデフォルトのとおりに動作しません。

Variables を定義する

  1. Dashboard のヘッダーの [ (Dashboard settings)] をクリックします。

    Dashboard の Settings 画面が表示されます。

  2. [Variables][Add variable] の順にクリックします。

  3. Variables を定義します。

    設定について詳しくは、Variables の設定について を参照してください。

サンプルデータソース (Demo) の Device を利用するための Variables を定義する

Variables は、さまざまな方法で定義できます。ここでは、サンプルデータソース (Demo) を利用するための Variables を定義する例を説明します。

  1. Dashboard のヘッダーの [ (Dashboard settings)] をクリックします。

    Dashboard の Settings 画面が表示されます。

  2. [Variables][Add variable] の順にクリックします。

  3. 以下の項目を設定します。

    項目説明
    [Select variable type]「Custom」を選択します。「Custom」を選択すると、[Query options] の表示が [Custom options] に切り替わります。
    [Name]「Device」を入力します。
    [Label]「Select device」を入力します。
    [Description]任意の説明文を入力します。
    [Show on dashboard]「Label and value」を選択します。

    [Custom options]

    項目説明
    [Values separated by comma]「Device-1,Device-2,Device-3,Device-4,Device-5」を入力します。

    [Selection options]

    項目説明
    [Multi-value]Panel に表示する対象データを切り替えるだけの場合は、チェックを外したままにします。同じフォーマットの Panel / Row を繰り返し表示する場合は、チェックを入れます。
    [Include All option]Panel に表示する対象データを切り替えるだけの場合は、チェックを外したままにします。同じフォーマットの Panel / Row を繰り返し表示する場合は、チェックを入れます。
    [Custom all value]空欄のままにします。
  4. [Preview of values] に「All」、「Device-1」、「Device-2」、「Device-3」、「Device-4」、「Device-5」が表示されていることを確認して、[Apply] をクリックします。

Panel に表示するデバイスや系列を切り替える

サンプルデータソース (Demo) を使用した Dashboard を作成する で作成した Dashboard で、Panel に表示するデバイスや系列を切り替えることができます。

ここでは、Panel の設定を変更して、Dashboard 名の下に表示されたドロップダウンで選択した Variable が、Panel に反映されるようにします。

  1. [湿度と温度][Edit] の順にクリックします。

  2. Query A の「Device-1」と、Query B の「Device-1」を、それぞれ「$Device」に変更します。

  3. [Apply] をクリックします。

    Panel の設定が変更され、Dashboard に戻ります。

    Device-2 のデータを表示してみましょう。

  4. Dashboard 名の下に表示されたドロップダウンで、「Device-2」を選択します。

    Device-2 の湿度と温度が表示されます。同様に「Device-3」を選択すれば、Device-3 の情報が表示されます。

同じ設定の Panel を複数表示することもできます

Panel の [Repeat option] を設定すると、同じ設定の Panel を複数表示できます。詳しくは、同じフォーマットの Panel を繰り返し表示する を参照してください。

同じフォーマットの Panel を繰り返し表示する

画面上部で「All」を選択したときに、同じフォーマットの Panel を繰り返し表示するように設定できます。

  1. 以下のような 2 つの Panel を含む Dashboard を作成します。

    Panel説明
    湿度と温度サンプルデータソース (Demo) の Device-1 の humidity と temperature を参照する Time series です。
    位置情報サンプルデータソース (Demo) の Device-1 の -All- を参照する Soracom Map Panel です。
  2. サンプルデータソース (Demo) の Device を利用するための Variables を定義します。

  3. 1 つ目の Panel のタイトル → [Edit] の順にクリックします。

  4. Query A の「Device-1」と、Query B の「Device-1」を、それぞれ「$Device」に変更します。

  5. [All][Panel options] の順にクリックします。

  6. 以下の項目を設定します。

    項目説明
    [Panel options][Title]「湿度と温度 ($Device)」に変更します。
    [Panel options][Repeat options][Repeat by variable]「Device」を選択します。
    [Panel options][Repeat options][Repeat direction]「Vertical」を選択します。

    横方向 (Horizaontal) に繰り返すこともできます

    Panel を繰り返す場合は、[Repeat direction] で「Horizontal」を選択すると、横方向 (Horizontal) に繰り返すことができます。

  7. [Apply] をクリックします。

    Panel の設定が変更され、Dashboard に戻ります。

  8. もう一方の Panel も同様に設定して、[Apply] をクリックします。

    Panel の設定が変更され、Dashboard に戻ります。

  9. 画面上部で「All」を選択します。

    Panel が繰り返し表示されます。

    任意のデバイスを選択して表示できます

    画面上部で「All」を選択する代わりに、「Device-3」と「Device-4」にチェックを入れると、Device-3 と Device-4 の Panel だけが表示されます。

同じフォーマットの Row を繰り返し表示する

画面上部で「All」を選択したときに、同じフォーマットの Row を繰り返し表示するように設定できます。Panel だけで繰り返す場合と比べて、複数の Panel を複雑に組み合わせた状態で繰り返すことができて便利です。

  1. 以下のような 4 つの Panel を含む Row を作成します。

    Panel説明
    Temperature and humidityサンプルデータソース (Demo) の Device-1 の humidity と temperature を参照する Time series です。
    Mapサンプルデータソース (Demo) の Device-1 の -All- を参照する Soracom Map Panel です。
    Batteryサンプルデータソース (Demo) の Device-1 の battery を参照する Stat です。
    Elevationサンプルデータソース (Demo) の Device-1 の elevation を参照する Time series です。なお、Expression を利用して、5 分ごとに平均 (Mean) した値を棒グラフで表示しています。
  2. サンプルデータソース (Demo) の Device を利用するための Variables を定義します。

  3. 1 つ目の Panel のタイトル → [Edit] の順にクリックします。

  4. Query A の「Device-1」と、Query B の「Device-1」を、それぞれ「$Device」に変更します。

    ここでは Panel の [Repeat options] は設定しません

    Panel の [Repeat options] を設定すると、1 つの Row の中でさらに Panel を繰り返すことができます。ここでは、[Repeat options] を設定しません。

  5. 同様にすべての Panel の Query の「Device-1」を、「$Device」に変更します。

  6. Row にマウスポインターをあわせて、[] をクリックします。

  7. 以下の項目を設定します。

    項目説明
    [Title]「$Device」に変更します。
    [Repeat for]「Devices」を選択します。

  8. [Update] をクリックします。

    Row の設定が変更され、Row が繰り返し表示されます。

    任意のデバイスを選択して表示できます

    画面上部で「All」を選択する代わりに、「Device-3」と「Device-4」にチェックを入れると、Device-3 と Device-4 の Panel だけが表示されます。

Variables の設定について

[Select variable type] で選択した項目によって、設定項目が切り替わります。ここでは、以下の 3 つの項目を説明します。

Query

[Select variable type] で「Query」を選択すると、Harvest Data にデータを保存したデバイスの種類 (IoT SIM、Inventory デバイスなど) やデバイスの名前を利用して Variables を作成できます。たとえば、オペレーターが所有する IoT SIM の名前をすべて含む Variables を作成できます。

Harvest Data に保存されているデータの値を Variables として利用することはできません。

[General]

項目説明
[Name]Variables の名前を入力します。英数字のみ入力できます。
[Label]

画面上部に Variables を表示するときのラベルを入力します。例: NorthernPart

[Description]画面上部に表示されたラベルにマウスポインターをあわせたときに表示される説明文を入力します。
[Show on dashboard]

画面上部に、この Variables を表示するかどうかを設定します。

  • Label and value: ラベルと値を表示します。
  • Value: 値のみを表示します。
  • Nothing: Variables を表示しません。ただし非表示にしても、Dashboard の URL のクエリパラメータに、var-{variable}={value} を追加すると、Variable を変更できます。

[Query options]

項目説明
[Data source]

「Harvest」を選択します。

[Data source] は「Harvest」を選択してください

Lagoon では、そのほかの [Data source] は利用できません。

[Query]

Variables の値として扱うリソースの種類を指定します。以下のいずれかの文字列を入力します。

  • subscribers: IoT SIM
  • devices: Inventory デバイス
  • demo: サンプルデータソース (Demo)
  • ?: リソースの種類 (subscribersdevicesdemo など)
[Regex]

正規表現を利用して、Variables で扱う対象リソースを特定 (抽出) します。

  • IMSI が 99999 で始まる IoT SIM (つまり、単体で契約するバーチャル SIM/Subscriber) を抽出する例:

    項目説明
    [Query]subscribers を入力する。
    [Regex]/^99999/ を入力する。
  • 名前に「検証」を含む IoT SIM を抽出する例:

    項目説明
    [Query]subscribers を入力する。
    [Regex]name/検証/ (*) を入力する。先頭に name を書くと、リソースの名前に対して正規表現が適用されます。
リソースの ID や名前の一部を Variables の値として扱ったり、テキストとして扱ったりできます

たとえば IoT SIM の名前が「拠点 A-設備 1」、「拠点 A-設備 2」、「拠点 B-設備 1」、「拠点 B-設備 2」のとき、[Regex]name/(?<value>拠点 A-(?<text>.+))/ を入力すると、リソースの名前 (例: 拠点 A-設備 1) がそのまま値 (value) として扱われ、名前の一部 (例: 設備 1) がテキスト (text) として扱われます。

  • Variables が 画面上部に表示される場合は、テキスト (text) が利用されるため、IoT SIM の名前の一部を 画面上部に表示するときに便利です。

  • Variables の値 (value) やテキスト (text) は、Panel の [Title][Description] に挿入できます。入力欄に $xxxxx の形式で Variables の名前を入力します。たとえば、Variables の名前が「QueryTest」の場合は、$QueryTest を入力してください。

    このとき、$xxxxx の部分にデフォルトで挿入される値は、以下のように項目によって異なります。

    項目挿入される値
    Panel の [Title]デフォルトでテキスト (text)
    Panel の [Description]デフォルトで値 (value)

    項目によらず、値を挿入する場合は ${xxxxx:value} を入力します。また、テキストを挿入する場合は、${xxxxx:text} を入力します。

[Sort]

値を並べ替えるかどうかを設定します。

  • Disabled: 並べ替えません。
  • Alphabetical (asc): アルファベット順 (大文字小文字を区別する。昇順)
  • Alphabetical (desc): アルファベット順 (大文字小文字を区別する。降順)
  • Numerical (asc): 数値順 (昇順)
  • Numerical (desc): 数値順 (降順)
  • Alphabetical (case-insensitive, asc): アルファベット順 (大文字小文字を区別しない。昇順)
  • Alphabetical (case-insensitive, desc): アルファベット順 (大文字小文字を区別しない。降順)
[Refresh]

Variables を更新するタイミングを選択します。

  • On dashboard load: Dashboard を表示したときに更新します。
  • On time range change: 時間範囲を変更したときに更新します。

[Selection options]

項目説明
[Multi-value]チェックを入れると、画面上部で Variables の値を選択するときに、同時に複数の値を選択できます。同じフォーマットの Panel を繰り返し表示する で、任意のデバイスの Panel だけを表示する機能を利用する場合はチェックを入れます。
[Include All option]チェックを入れると、Variables の値に「All」が追加されます。同じフォーマットの Panel を繰り返し表示する 場合はチェックを入れます。
[Custom all value]

「All」を選択したときの、Variable の値を入力します。

空欄にすると、「[Values separated by comma] に指定したすべての Variable を , で連結した文字列」が Variable の値として扱われます。

[Preview of values]

Variables の値が一覧表示されます。[Query][Regex] を意図したとおりに設定できていることを確認できます。

ボタン

項目説明
[Delete]Variables を削除します。
[Run query]デバイス名などをあらためて Harvest Data から取得します。
[Apply]Variables の設定を登録して、Variables の一覧に戻ります。

Custom

[Select variable type] で「Custom」を選択すると、任意の値を含む Variables を作成できます。

[General]、[Selection options]、[Preview of values]、ボタンは Query と同様です

Query の説明を参照してください。

[Custom options]

項目説明
[Value separated by comma]

Variables の値にする文字列をカンマ (,) 区切りで入力します。

例: Device-1,Device-2,Device-3,Device-4,Device-5

Dashboard に表示する別名を設定できます

Variables の値にする文字列 (Device-1 など) の前に、別名と : (コロン) を入力すると、Dashboard に表示する別名を設定できます。コロンの前後に半角スペース が必要です。

例: [Value separated by comma]1 号機 : Device-1, 2 号機 : Device-2 を入力した場合

Text box

[Select variable type] で「Text box」を選択すると、画面上部で Variables の値を入力できます。

[General]、ボタンは Query と同様です

Query の説明を参照してください。

[Text options]

項目説明
[Default value]デフォルトの値を入力します。

Variables を削除する

不要な Variables は削除できます。たとえば、Public dashboard を作成する場合は、デフォルトの Variables を含め、すべての Variables を削除してください。

  1. Dashboard のヘッダーの [ (Dashboard settings)] をクリックします。

    Dashboard の Settings 画面が表示されます。

  2. [Variables] をクリックします。

    Variables 画面が表示されます。

  3. 削除する Variable の [ (Remove variable)][Delete] の順にクリックします。

    Variable が、ほかの Variable や Panel で参照 (利用) されているかどうかは、Variables 画面で または で表示されます。

    • : 利用されている (削除するときには注意が必要です)
    • : 利用されていない (安全に削除できます)