データソースに接続する ServiceNow - Amazon Managed Grafana

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データソースに接続する ServiceNow

これは、インスタンスへの接続 ServiceNowに使用される ServiceNow データソースです。

注記

このデータソースは Grafana Enterprise 専用です。詳細については、「Enterprise プラグインへのアクセスを管理する」を参照してください。

さらに、バージョン 9 以降をサポートするワークスペースでは、このデータソースで適切なプラグインのインストールが必要になる場合があります。詳細については、「プラグインを使用してワークスペースを拡張する」を参照してください。

機能

  • クエリ

    • 統計 API クエリ

    • テーブル API クエリ

      • インシデント、変更、およびその他のテーブル

  • アラート

  • 注釈 (ベータ機能)

  • テンプレート変数

構成

Grafana の左側のパネルでデータソースを選択します。

データソースの追加を選択します。

servicenow を入力してデータソースプラグインを検索します。

ServiceNow URL を入力します。

[保存してテスト] を選択します。ServiceNow 「Connection OK」という緑色のメッセージが表示されます。

ダッシュボードの例

事前に作成されたダッシュボードはプラグインに含まれており、ダッシュボードタブのデータソース設定ページからインポートできます。

使用方法

クエリエディタでデータを返すには、2 つの方法があります。

  • TableAPI

  • AggregateAPI

現在、ユーザーは次のような事前定義されたテーブルのクエリを選択できます。

  • 変更

  • インシデント

または、 の時点でv1.4.0、その他 (カスタムテーブル) オプションを使用したテーブルとフィールドの API 駆動型リスト。このオプションを使用すると、データソースの設定に使用されたユーザーが使用可能な任意のテーブルにある ServiceNow データをクエリできます。

カスタムテーブルオプションは、事前定義されたテーブルリストと同じ機能をすべてサポートする必要があります。

TableAPI クエリ

TableAPI は、テーブルパネルに表示するのに適したデータを返します。これにより、表示するフィールドの順序付きの選択とフィルタリングオプションが可能になります。クエリエディタには、クエリによって返される行数を制限するフィールドも用意されています。

前のクエリの結果を示すテーブルパネルの例。

表示

表示行には、表示するフィールドのセレクターが表示されます。複数のフィールドを指定することもできます。フィールドは、指定された順序で返されます。

値の表示

Display Values フラグを使用すると、クエリは数値ではなく人間にわかりやすい値を返したり、vaules を表示したりします。

例えば、このフラグ1がない の重要度は、 のみを表示します1。フラグが有効になっている場合、表示される値は になります1 - High

ServiceNow API ドキュメント によると、これはパフォーマンスに悪影響を及ぼす可能性があります。

注記

[...] 表示値を指定すると、データベースから直接読み取られず、他のフィールドやレコードの参照が含まれる可能性があるため、パフォーマンスの問題が発生する可能性があります。

フィルター (一般)

フィルター行を使用すると、複数のフィールドと値の条件に基づいて、表示される行を絞り込むことができます。

すべてのフィルターは AND または OR オペレーションと結合されます。

カスタムテーブルを使用しない場合、次のフィールドを使用できます (このリストは今後展開される予定です)。

Active Asset Group Assigned To Escalation Issue Number Description Priority State Type Change Risk Change State Start Date End Date On Hold

カスタムテーブルを選択すると、Service Now API からフィールドが自動的に入力されます。

日付フィルターー
時間フィールド 演算子
で開かれました 今日以前、または今日以前、または 以降 timestamp javascript:gs.daysAgo (30)
アクティビティ期限
でクローズ
期日
予想される開始
再開時刻
解決日時
作業終了
作業開始
時間を無視する

その他の日付値については、https://developer.servicenow.com/app.do#!/api_doc?v=newyork&id=r_SGSYS-dateGenerate_S_S を参照してください。

演算子 (一般、文字列ベース)
  • 先頭が一致

  • Ends With

  • いいね

  • 好きではない

  • 等しい

  • 等しくない

  • Is Empty

演算子 (時間ベース)
  • 本日

  • 今日ではない

  • 時または以前

  • 以降

[値]

値の選択は、選択したフィルターのタイプによって異なります。

  • ブールフィルターには True/False オプションがあります

  • テキストフィルターでは任意の値を入力できます

  • エスカレーション、優先度には固定された数値のセットがあります

ソート基準

ソート基準行では、複数のフィールドと値の条件に基づいて、表示される行を絞り込むことができます。

すべてのフィルターは AND オペレーションと結合されます。追加の演算子のサポートが追加されます。

制限

行制限を指定して、返されるデータが多すぎないようにできます。デフォルト値は 25 です。

時間フィールド

Time Field は、クエリされたデータを時系列に変換します。時系列として処理されるデータは、選択した「時間フィールド」の値がダッシュボード/パネルの時間範囲に含まれないことを意味します。

使用されるデフォルトの時間フィールドは「Opened At」ですが、時間値を保持する任意の使用可能なフィールドに変更できます。

特別な値「時間を無視」が提供され、「現在まで」の結果が可能になり、フィルターが表示するデータを制御できるようになります。

AggregateAPI クエリ (統計)

AggregateAPI は常にメトリクスを返し、集計は avg、min、max、sum になります。フィルタリングは、クエリを絞り込むためにも使用できます。

表示

表示行には、表示するメトリクスのセレクターが表示されます。複数のメトリクスを指定することもできます。

フィルター (一般)

Aggregate Filters は、テーブルオプションと同様に、フィールドと値の条件に基づいて表示されるメトリクスを絞り込む機能を提供します。

すべてのフィルターは AND オペレーションと結合されます。追加の演算子のサポートが追加されます。

統計フィルターオプションは TableAPI と同じです。

集計

メトリクス集計には 4 つのタイプがあり、さらに「カウント」があります。

  • [Average] (平均)

  • 最小値

  • 最大値

  • 合計

  • カウント - クエリによって返されるメトリクスの「数値」を返します。

グループ化の基準

このセレクタは、メトリクスをより小さな集計に分割する機能を提供します。「priority」でグループ化すると、「tag」が優先され、一意の値が区切られたメトリクスが返されます。

テンプレート

クエリで名前をハードコーディングする代わりに、変数を代わりに使用できます。変数は、ダッシュボードの上部にドロップダウン選択ボックスとして表示されます。これらのドロップダウンボックスを使用して、ダッシュボードに表示されるデータを変更できます。

クエリ変数を追加してテンプレート値で参照する方法については、「クエリ変数」セクションの例を参照してください。

クエリ変数

タイプのテンプレート変数を追加するとQuery、ドロップダウン選択ボックスとして表示されるカテゴリ名、キー名、キー値などの項目を返すクエリを作成できます。

例えば、テンプレート変数 Query 設定でこのようなクエリを指定categoriesすることで、 のすべての値を含む変数を作成できます。

クエリ設定を選択すると、フィルターセクションが表示され、タイプフィールド を選択できます。現在、タイプ はインシデントと変更に制限されています。タイプを選択すると、そのタイプに該当するフィールドのリストが表示されます。タイプフィールドを選択すると、そのタイプ/フィールドで使用できるオプションを示す値のプレビューが下部に表示されます。これらの値は ダッシュボードのドロップダウンリストに表示され、Templating と一緒に使用してダッシュボードパネルでデータをフィルタリングできます。

例えば、カテゴリ という名前の変数を追加し、タイプ = インシデント、フィールド = カテゴリ を選択すると、カテゴリ のオプションのリストが表示されます。次に、フィルターをパネルに追加し、カテゴリ等号 ${category} を選択すると、パネルデータには、ダッシュボードのドロップダウンリストから選択されたそのカテゴリのデータのみが表示されます。

Incidents By Category ダッシュボードをインポートして、例を表示します。

クエリでの変数の使用

次の 2 つの構文があります。

$<varname> という名前のテンプレート変数の例hostname

[[varname]] という名前のテンプレート変数の例hostname

アラート

標準の Grafana アラートがサポートされています。グラフパネルで定義されたクエリは、アラートの生成に使用できます。

クエリとアラートの例を次に示します。このクエリは、すべての未解決の重大で優先度の高いインシデントのグラフを返します。

このアラートは、重要度の高い未解決のインシデントが 5 つ以上ある場合に開始されます。

アラートルールをテストすると、アラートルールからの出力が表示され、状態履歴を選択すると、アラートが「OK」から「保留中」から「アラート中」に移行したことを示します。

グラフビューには縦線が表示され、アラートが保留されている間は上部のハートアイコンがオレンジ色に変わります。

アラートの基準を満たすと、ルールは赤に変わります。

グラフビューに赤い縦線が表示され、上部のハートアイコンが赤に変わります。

アラートのインシデントの記述

ベータ機能

  • ServiceNow データソースの通知チャネルを設定します。

これにより、設定したユーザーを使用してこのデータソースの ServiceNow インスタンスにインシデントを作成する Grafana 通知チャネルが設定されます。

このアクションでは、 ServiceNow データソースユーザーがインシデントを書き込むためのアクセス許可を持っている必要があります。

HTTP プロキシを使用する

HTTP プロキシを使用する場合、Amazon Managed Grafana には、プロキシの場所に設定されている次の環境変数 (複数可) が必要です。

  • HTTP_PROXY+ または http_proxy-

    • フルパス - http://host:port

    • または単に: host:port

  • HTTPS_PROXY (または https_proxy):

    • フルパス - https://host:port

    • または単に: host:port

‏注釈

Grafana Annotations は、このデータソースv1.4.0のベータ機能です。注釈を使用すると、イベントをグラフにオーバーレイできます。

Annotations クエリは、標準のクエリエディタと同じオプションをサポートしていますが、いくつかの小さな違いがあります。

  • 選択可能な列は 1 つだけです。これは今後の改善で修正される可能性が高いです。

  • 時間フィールドは必須です。

よくある質問

ITSM ロールプラグインがない場合はどうなりますか?

次のアクションを実行するには管理者アクセスが必要です

オプション 1: Grafana ユーザーにすべてのテーブルへのアクセスを許可するアクセス許可を付与します。

オプション 2: ロールを作成し、Grafana がアクセスする必要があるすべてのテーブルに ACLs を適用します。

以下のアクションを実行するには、管理者アクセスが必要です。

  1. ログインした管理者は、security_admin へのアクセスを昇格する必要があります。

    1. 右上のナビゲーションペインで、プロファイルアイコンを選択します。プロファイルアイコンにはドロップダウンキャレットインジケータがあります。

    2. ドロップダウンリストから、ロールの昇格 を選択します。

    3. 表示されるモーダルから、security_admin チェックボックスをオンにします。

    4. [OK] をクリックします。

  2. 任意の命名規則で新しいロールを作成します。

    1. 左側のナビゲーションシステムセキュリティ => ユーザーとグループ => ロールのロールセクションに移動します。

    2. 上部の「新規」を選択します。

    3. ロールの名前と関連する説明を入力します。

    4. [送信] を選択します。

  3. 新しいユーザーを作成するか、必要なロールを持つ既存のユーザーを変更します。

    1. ステップ 2 で作成したロール

    2. personalize_dictionary

    3. personalize_choices

    4. cmdb_read (これにより、すべての cmdb テーブルへの読み取りアクセスが許可されます)

  4. 必要なテーブルとフィールドACLs を作成します。

    1. sys_db_object テーブルの ACL を作成します。

      1. 2 番目の検索ヘッダー列の名前 で、 と入力しsys_db_objectEnter を押します。

      2. フィルタリングされた結果には、テーブル が表示されます。テーブルを選択してレコードに移動します。

      3. タブセクションで、コントロール を選択します。

      4. ページの下部で、アクセスコントロールが選択したタブであることを確認します。

      5. 新規 を選択して、新しい ACL を作成します。

      6. オペレーションの選択を読み取りに変更します。

      7. 画面の下部にある「ロールが必要」セクションで、「新しい行を挿入」(ダブルクリック) を選択し、作成したロールを検索します。

      8. 作成したロールを選択したら、緑色のチェックマークを選択します。

      9. 画面の下部にある「送信」を選択して ACL を作成し、モーダルが表示されたら「続行」を選択します。

  5. 特定の sys_db_object フィールドの ACLs を作成します。名前、ラベル、表示名、拡張テーブルの各フィールドに対して、次のステップを繰り返す必要があります。

    1. sys_db_object のテーブルレコードビューを開いたまま、画面の上部に最も近いタブグループのタブを選択します。

    2. フィールド名を見つけて選択します。

    3. 下部のタブセクションで、アクセスコントロールタブで新規を選択します。

    4. オペレーションを読み取りに変更する

    5. 下部の「ロールが必要」テーブルに行テキストを挿入する (ダブルクリック) を選択します。

    6. 作成したロールを検索し、緑色のチェックマークを選択します。

    7. [送信] を選択します。

    8. 名前、ラベル、表示名、拡張テーブルのすべての必須フィールドに対して、これらのステップを繰り返したことを確認してください。

  6. 変更、インシデント、および Grafana からクエリを実行するその他の非 CMDB テーブルについて、4.1 の手順を繰り返します。4.2 の手順を繰り返しないでください。その手順は sys_db_object にのみ必要です。