AppliesTo 関数のスクリプト構文リファレンス
最終更新日 - 17年2025月XNUMX日
すぐに使用できるAppliesTo式の大部分はカスタマイズを必要としません。ただし、LogicModulesを更新または作成する場合、あるいは製品の他の領域でAppliesTo式を構築する場合は、スクリプト言語の動作を理解することが重要です。
重要: LogicModule が関連付けられているリソースを変更する目的で AppliesTo 式を更新する場合は、LogicModule によって収集されたすべての履歴データが関連付けの解除後に失われるため、細心の注意を払って行ってください。LogicModule の定義を更新する前に、必ず AppliesTo スクリプトの変更をテストしてください。詳細については、以下を参照してください。 ApplesTo関数の設定.
AppliesTo 関数のスクリプトでは、次のタイプの構文を利用できます。
- オペレーター—AppliesToスクリプト内の関数を接続します
詳細については、を参照してください。 AppliesTo スクリプト構文の演算子. - 絶対関数—モジュールにブールロジックを適用できます
詳細については、を参照してください。 AppliesTo スクリプト構文の絶対関数. - 便利な機能—LogicMonitorの組み込み関数を活用して、リソースの一般的なカテゴリを識別できます。
詳細については、を参照してください。 AppliesTo スクリプト構文の便利な関数. - 配列関数—配列関数で特定のリソースプロパティを使用する
詳細については、を参照してください。 AppliesTo スクリプト構文の配列を操作する関数. - 文字列と数値関数—文字列または数値のプロパティに文字列と数値の機能を活用する
詳細については、を参照してください。 AppliesTo スクリプト構文の文字列と数値を操作する関数.
独自のAppliesTo便利関数をグローバルに定義し、それらの関数はLogicMonitor内のAppliesToスクリプトを入力として受け取る任意の場所から呼び出すことができます。詳細については、 AppliesTo 関数の設定.
AppliesTo関数の演算子のスクリプト構文
AppliesTo 式では次の演算子を使用できます。
| Operator | 行動 |
| == | に等しい |
| != | 等しくない |
| > | 越える |
| >= | 以上 |
| < | 未満 |
| <= | 以下 |
| =~ | 正規表現の等価性(大文字と小文字を区別) |
| !~ | 正規表現の不等式(大文字と小文字を区別) |
| 論理積(&&と同等) | |
| && | 論理積(AND)、「and」と同等 |
| or | 論理和、|| と同等 |
| || | 論理和、「または」と同等 |
| ! | 論理否定 |
| () | グループ化演算子 |
AppliesTo スクリプト構文の絶対関数
機能 true() false() それぞれ、すべてのリソースに一致するか、まったく一致しないかを示します。 true() 関数はポータル内のすべてのリソースと一致します。
重要: true() 関数は控えめに、慎重に使用してください。
当学校区の false() 関数はLogicModuleを削除せずにグローバルに無効にするのに便利です。 false() 関数は、開発中のLogicModuleで使用して、リソースに時期尚早に適用されるのを防ぐこともできます。 どちらの関数もパラメーターを受け入れません。
警告: LogicModule をグローバルに無効にすると、LogicModule がリソースから切り離されたときに履歴データが失われます。
AppliesTo スクリプト構文の便利な関数
LogicMonitorには、一般的なリソースカテゴリを識別するための組み込み関数がいくつか用意されています。これらの関数は通常、 system.sysinfo プロパティ(Windowsリソースの場合はWMI、Linux、NetApp、Netscaler、Ciscoなどのプラットフォームの場合はSNMPによって設定されます)または system.categories プロパティ。通常はPropertySourcesによって設定されますが、手動で割り当てることもできます。コンビニエンス関数はパラメータを受け入れません。
次の表は、AppliesTo スクリプトの便利な関数の一覧です。
| 便利な機能 | 行動 |
| isAWSService() | 返品 TRUE の値が system.devicetype プロパティは「2」です。 |
| isAzureService() | 返品 TRUE の値が system.devicetype プロパティは「4」です。 |
| isCisco() | 返品 TRUE 「cisco」の値が system.sysinfo or system.categories プロパティ。 |
| isCollectorDevice() | 返品 TRUE の値が system.collector プロパティは「true」です。 |
| isDevice() | 返品 TRUE の値が system.devicetype プロパティが「0」の場合、または「collectorDataSources」の値がに含まれている場合 system.categories プロパティ。 |
| isFreebsd() | 返品 TRUE 「freebsd」の値が system.sysinfo or system.categories プロパティ。 |
| isF5() | 返品 TRUE もし system.sysoid プロパティは「1.3.6.1.4.1.3375.2.1.3.4.4」で始まるか、「f5」の値がに含まれている場合 system.categories プロパティ。 |
| isGCPService() | 返品 TRUE の値が system.devicetype プロパティは「7」です。 |
| isLinux() | 返品 TRUE 「linux」の値が system.sysinfo or system.categories プロパティと「CiscoIOS」の値がに存在しない system.sysinfo プロパティ。 |
| isMisc() | 返品 TRUE isWindows()、isLinux()、isNetwork()、isStorage()、isVirtualization() の各便利関数の条件がいずれも満たされていない場合。 |
| isNetApp() | 返品 TRUE 「netapp」の値が system.sysinfo or system.categories プロパティ。 |
| isNetflow() | 返品 TRUE の値が system.enablenetflow プロパティは「true」です。 |
| isNetscaler() | 返品 TRUE 「netscaler」の値が system.sysinfo or system.categories プロパティ。 |
| isNetwork() | 返品 TRUE もし system.sysinfo or system.categories プロパティには、ネットワークとしてみなされるシステムを表す値が含まれます。多数の値が包含されます。 |
| isSolaris() | 返品 TRUE 「solaris」の値が system.sysinfo or system.categories プロパティ。 |
| isStorage() | 返品 TRUE もし system.sysinfo or system.categories プロパティには、ストレージと見なされるシステムを表す値が含まれます。多数の値が含まれます。 |
| isUnix() | 返品 TRUE 「solaris」や「linux」や「freebs」の値が system.sysinfo or system.categories プロパティ。 |
| isVirtualization() | 返品 TRUE 「vmware」または「xen」の値が system.virtualization プロパティ、または「hyperv」の値がに含まれている場合 system.categories プロパティ。 |
| isWindows() | 返品 TRUE 「windows」または「hyper-v」の値が system.sysinfo or system.categories プロパティ。 |
| getCollectorVersion() | の値を返します system.collectorversion プロパティ。 |
AppliesTo スクリプト構文の配列を操作する関数
ほとんどのリソース プロパティ (システムまたはカスタム) は文字列または数値型ですが、最も一般的な配列型は次のとおりです。
system.categoriessystem.groupssystem.staticgroupssystem.ips
次の表は、配列を操作するための特定の AppliesTo 関数を示しています。
| 演算 | 詳細説明 | 例: |
contains(<array>,"<string>") | この関数は、指定された文字列が配列要素と一致する場合にTRUEを返します。一致は検索文字列と完全に一致し、大文字と小文字は区別されません。 正規表現はサポートされていません。 | contains(system.groups,"network")「network」、「Network」、「nEtWoRk」などの名前のリソースツリーのルートにあるグループ(動的および静的)に一致します。 system.groupsプロパティは、リソースを動的にグループに編成することを目的としたAppliesToスクリプト式では使用できません。グループメンバーシップに依存する動的グループを作成するには、system.staticgroupsプロパティを使用する必要があります(例: contains(system.staticgroups,"network")。詳細については、 リソース グループの概要. |
contains(system.staticgroups,"Acme Corp/Prod")「Prod」または「prod」という名前の「AcmeCorp」の子グループに一致しますが、「production」、「Prod_QA」などの名前の子グループには一致しません。 静的グループメンバーシップ(動的グループメンバーシップではない)のみが照会されます。 system.staticgroups プロパティが参照されます。 | ||
contains(system.ips,"192.168.170.1")192.168.170.1のIPアドレスを持つリソースを照合します。 当学校区の contains() 関数は、リソースの完全なIPアドレスを照合するためにのみ使用できます。 部分的なIPアドレスまたは範囲のマッチングには、 join() 機能。 | ||
join(<array>,"<separator>") | この関数は、配列を、指定された区切り文字で区切られた配列要素を持つ文字列に平坦化します。 必須パラメータは配列名(例: system.groups)および文字列区切り文字(たとえば、「、」)。 とは異なり contains()部分一致と正規表現がサポートされています。単独で使用した場合、指定された配列プロパティに値が設定されているリソースに対して TRUE を返します。 | join(system.ips,",")=~"192\\.168\\.100\\."リソースをサブネット192.168.100.XのIPアドレスと照合します。 リソースの部分的なIPアドレスを照合する機能は、サブネットまたはIP範囲でデバイスをグループ化する場合に役立ちます。 この例では、IP アドレス内のピリオドを二重のバックスラッシュ (\\) でエスケープする必要があります。 |
join(system.groups,",")=~"Prod"リソースツリーの任意のレベルで、「Prod」、「production」、「Prod1」などの名前を持つグループ内のリソースを照合します。 | ||
join(system.staticgroups,",")=~"/.*dev"名前に「dev」、「Dev」、「DEV」などが含まれる非動的な子グループのリソースに一致します。 | ||
!join(system.categories,",")対象となるすべてのリソースに一致します system.categories 空です。 に相当 !system.categories. | ||
hasCategory("<string>") | この関数は、 system.categories 指定された文字列と大文字と小文字を区別せずに完全に一致する配列要素のプロパティ。一致する場合はTRUEを返します。正規表現はサポートされていません。 | hasCategory("sonicwallfw")system.categories に「sonicwallfw」が存在する場合は TRUE を返します。 |
AppliesTo スクリプト構文の文字列と数値を操作する関数
次の表は、文字列型または数値型のプロパティを操作する関数の一覧です。
| 演算 | 詳細説明 | 例: |
exists("<property value>") | この関数は TRUE 指定された値がいずれかのリソース プロパティに割り当てられている場合。 | 無し |
sum(x,y,z) | この関数は、パラメーターとして渡された数値の合計を返します。 | 無し |
startsWith(<property>,"<value>") | この関数は TRUE プロパティ値が関数で指定された値で始まる場合。通常、値は文字列であり、二重引用符で囲む必要があります。値を二重引用符なしで数値として渡すことも可能です。ただし、数値の場合は部分一致はサポートされていないため、関数がTRUEを返すには完全一致である必要があります。 文字列の先頭からの部分一致がサポートされています。正規表現はサポートされていません。 | startsWith(system.sysinfo,"Microsoft")Windowsリソースに一致する |
startsWith(system.collectorversion,"28")Collectorバージョン28.xxxによって監視されているリソースと一致します。 | ||
startsWith(system.collectorversion,"28102")Collector バージョン 28.102 によって監視されるリソースと一致します。 注意: これは | ||
sysoid | これはのエイリアスです system.sysoid OIDのピリオドをエスケープする必要をなくすプロパティ。 で使用する ==, =!, =~ !~ 指定された値とリソースシステムOIDを比較する演算子。部分一致の場合は、 =~ or !~.単独で使用すると、 TRUE 値が設定されているリソースの場合 system.sysoid. | sysoid!="1.3.6.1.4.1.8072.3.2.10"「1.3.6.1.4.1.8072.3.2.10」ではないシステムOIDを持つリソースを照合します。 |
sysoid=~"8741.1"リソースを「8741.1」を含むシステムOIDと照合します。 | ||
sysoid値が指定されていない場合は、 TRUE このプロパティに値が設定されているすべてのリソースに対して。 | ||
<property name> | 任意のプロパティ名をAppliesTo関数として参照できます。 単独で使用すると、指定したプロパティに値が設定されているすべてのリソースに対してTRUEを返します。 比較のために演算子とともに使用できます。 | system.collectorversion>=28000Collectors バージョン 28.000 以降によって監視されるリソースと一致します。 |
system.collectorid!=system.prefcollectorid返品 TRUE 優先コレクターによって監視されていないリソースの場合。 | ||
auto.serial.number=~"^C0E"返品 TRUE 値を持つリソースの場合 auto.serial.number 「C0E」で始まるプロパティ。 | ||
getPropValue("<property name>") | リソースプロパティ名に「:」、「/」、「*」、「=」、スペースなどの特殊文字が含まれている場合は、 getPropValue("<property name>") 機能。 推奨事項: プロパティ名には特殊文字を使用しないでください。特殊文字の使用を避けられない場合は、この関数を使用して、AppliesTo式でプロパティを使用できます。 getPropValue("<property name>") 単独で使用すると、 TRUE 指定されたプロパティに値が設定されているすべてのリソースに対して。 | 「SiteA:unit」という名前のプロパティがあり、このプロパティの値が 10 ~ 19 であるリソースを返す場合は、次のようにします。SiteA:unit=~"[10-19]"ただし、正規表現の文字をエスケープする必要があることを通知する構文エラーが表示されます。 エラーを回避するには、代わりに次の式を使用する必要があります。 getPropValue("SiteA:unit")=~"[10-19]"注意: プロパティ名は二重引用符で囲まれます。 |