integration.jsonファイルに関する情報

integration.jsonファイルには、ペイロードを定義します。

次の図は、単純なintegration.jsonファイルの中身を色分けしたものです。隣の表にファイル内のオブジェクトの機能を示します。

integration.jsonファイルについて

各フィールドには、次の特徴があります。
  • 「identifiers」セクションは、Insight内に新しい「オブジェクト」を作成するための一意の複合キーを表します。
  • 「attributes」には、オブジェクトについてサポートされるメタデータを指定します。

    これら2つのケースでは、オブジェクトの最新のレポートの値(識別子で特定)のみが保持されます。

  • 「dataPoints」は時系列データで、数値を指定する必要があります。Insightは、報告されるすべての値をここに90日間(デフォルト)保持し、それらを識別されたオブジェクトに時系列でリンクします。

数式

デフォルトでは、すべての数値式が文字列として統合ペイロードに報告されます。「identifiers」と「attributes」には文字列値のみを定義できます。「dataPoints」には文字列値と数値を定義できます。数値は、次のいずれかの修飾キーを使用して定義します。

  • num - カウンタが前回初期化されてから受信した総バイト数
  • delta - ポーリング間隔中に受信したバイト数
  • rate - ポーリング間隔中の平均受信率(単位は1秒あたりのバイト数)

    rateと計算処理を組み合わせて使用すると、ポーリング間隔中の平均受信率を1秒あたりのメガバイト数で表すことができます。

計算処理

integration.jsonファイルでは、加算、減算、乗算、除算の計算処理を使用することができます。次に、JSONファイルに乗算、除算、および合計の計算処理を指定した例を示します。

キーワード

統合パックのキーワードstringは、通常ASCII文字ではなく16進数形式で出力されるOCTET STRINGまたはOCTET STRINGから派生した専用の型を強制的に使用するために実装されています。

多くのOCTET STRINGには、MACアドレスやWWNなどのバイナリ データが含まれています。

        "interface_mac": {          
                  "mibModuleName":      "IF-MIB",          
                  "objectName":         "ifPhysAddress"
                 }
ifPhysAddressは型PhysAddressであり、OCTET STRINGです。
  PhysAddress ::= TEXTUAL-CONVENTION
                DISPLAY-HINT "1x:"
                STATUS       current
                DESCRIPTION
                                "Represents media- or physical-level addresses."
                SYNTAX       OCTET STRING
ifPhysAddressがデフォルトの16進数で出力された場合は、次のような結果になります。
"interface_mac": "00:50:56:A2:07:E7"
ただし、ASCIIとして解釈するOCTET STRINGまたはOCTET STRINGから派生した専用の型がある場合は、「string」キーワードを使用できます。
        "string_test_1": {
          "string": {
            "mibModuleName":      "IF-MIB",
            "objectName":         "ifPhysAddress"
          }
        },
 
        "string_test_2": {
          "string": [
            {
              "mibModuleName":      "IF-MIB",
              "objectName":         "ifPhysAddress"
            },
            {
              "const": "JSD"
            },
            {
              "mibModuleName":      "IF-MIB",
              "objectName":         "ifPhysAddress"
            }
          ]
        }
このキーワードを入力するときは、既存の文字列の連結ルールに従い、次のように単語間に半角スペースを1つ挿入します。
      "string_test_1": "PV¢ç",
              "string_test_2": "PV¢ç JSD PV¢ç"

「string」キーワードは1つの単語または単語のリストとして機能しますが、ネストされた表現には使用できません。ネストされた表現はdataPointの表現でのみサポートされます。「string」表現をdataPoint表現で使用すると、次のようなエラーになります。

java.lang.IllegalArgumentException: Integration pack 'GenericSwitch32' index 'snmp_generic_interface_32' section 'dataPoints' key 'string_test_3' unsupported JSON numeric expression '{"string":{"mibModuleName":"IF-MIB","objectName":"ifPhysAddress"}}'

DisplayString、SnmpAdminStringなどの一部のOCTET STRING派生型では、「string」キーワードよりもハードコーディングが優先されます。これは、SnmpAdminStringがUTF-8専用にエンコードされていて、それを正しく処理するためです。これに対し、「string」キーワードは、1文字をシングル バイトのASCIIコードとみなすsnmp_frameworkから返されるデフォルトの文字列を強制的に表示します。