REST API 高度なフィルター
最終更新日: 13 年 2022 月 XNUMX 日LogicMonitor REST API の高度なフィルターは、値が JSON 形式であるキーと値のペアに適用されます。 たとえば、 /device/devices
キーに高度なフィルターを適用できる API – autoProperties
, inheritedProperties
, systemProperties
および customProperties
.
この記事では REST API を使用しています /alert/alerts
と/device/devices
高度なフィルターの使用方法を説明する例として。
注意:
高度なフィルターの構造
次の例は、高度なフィルターの構造を示しています。
- 通常のクエリ
{{url}}/<api>?filter=<json_key_parameter>:"{<escaped json_value_parameter>}"&fields=<if any separated by ,>
- 演算子が等しくない (!:) フィルター クエリ
{{url}}/<api>?filter=<json_key_parameter>!:"{<escaped json_value_parameter>}"
- 演算子に (~) を含むフィルター クエリ
{{url}}<api>?filter=<json_key_parameter>~"{<escaped json_value_parameter>}"
- 演算子を含まない (!~) フィルター クエリ
{{url}}<api>?filter=<json_key_parameter>!~"{<escaped json_value_parameter>}"
- 演算子 special_eq (:::) null 値と空の値の両方をチェックするフィルター クエリ
{{url}}<api>?filter=<json_key_parameter>:::empty
- Operator special_ne (!::) 値が空または null でないかどうかをチェックするフィルター クエリ
{{url}}<api>?filter=<json_key_parameter>!::empty
- Operator special_ne (!::) 値が null でないかどうかをチェックするフィルター クエリ
{{url}}<api>?filter=<json_key_parameter>!::null
- 演算子論理 OR (||) フィルター クエリ
{{url}}<api>?filter=<json_key_parameter_1>:"{<escaped json_value_parameter_1>}" || <json_key_parameter_2>:"{<escaped json_value_parameter_2>}"
- 単一および高度なフィルター クエリ
{{url}}<api>?filter=<json_key_parameter>:"{<escaped json_value_parameter>}",<non-json_key_parameter>:<non-json_value_paramter>
高度なフィルターのコンポーネント
高度なフィルタ クエリのコンポーネントは次のとおりです。
コンポーネント | 例による説明 |
{{url}} | https://<company>.logicmonitor.com/santaba/rest |
たとえば、 /device/devices および /device/groups | |
の場合 /device/devices 、値は auto-properties , inheritedProperties , systemProperties および customProperties | |
{ } | たとえば、 {"name":"testPROPERTY","value":"service"} |
{ } | たとえば、 {\"name\":\"testPROPERTY\",\"value\":\"service\"} |
値が JSON ではないキー。 例えば、 id , name , displayName 、などなど。 | |
id: 100、"name": "Instance" などの単一の値 ここで、非 JSON 値 id is 100 とのために name それは Instance |
Use Case
高度なフィルターを使用して、JSON を値パラメーターとして使用する任意のプロパティのキーと値のペアを取得できます。
デバイス 1 (「id」: 3793) には次のものがあります。 systemProperties
.
{
"id": 3793,
"name": "sfsf",
"systemProperties": [
{
"name": "system.enablenetflow",
"value": "false"
},
{
"name": "system.collectorplatform",
"value": "n/a"
},
{
"name": "system.description",
"value": "dummy"
},
{
"name": "system.collectorid",
"value": "-4"
},
{
"name": "system.deviceId",
"value": "3793"
},
{
"name": "system.prefcollectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.collectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.deviceGroupId",
"value": "1"
},
{
"name": "system.resourceCreatedOn",
"value": "1556854294"
},
{
"name": "system.devicetype",
"value": "6"
},
{
"name": "system.collectorversion",
"value": "0"
},
{
"name": "system.prefcollectorid",
"value": "-4"
},
{
"name": "system.displayname",
"value": "sfsf"
},
{
"name": "system.hostname",
"value": "sfsf"
}
]
}
デバイス 2 (「id」: 3792) には次のものがあります。 systemProperties
.
{
"id": 3792,
"name": "cc",
"systemProperties": [
{
"name": "system.enablenetflow",
"value": "false"
},
{
"name": "system.collectorplatform",
"value": "n/a"
},
{
"name": "system.description",
"value": "sfsf"
},
{
"name": "system.collectorid",
"value": "-4"
},
{
"name": "system.deviceId",
"value": "3792"
},
{
"name": "system.prefcollectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.collectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.deviceGroupId",
"value": "1"
},
{
"name": "system.resourceCreatedOn",
"value": "1556852762"
},
{
"name": "system.devicetype",
"value": "6"
},
{
"name": "system.collectorversion",
"value": "0"
},
{
"name": "system.prefcollectorid",
"value": "-4"
},
{
"name": "system.displayname",
"value": "cc"
},
{
"name": "system.hostname",
"value": "cc"
}
]
}
次の基本的なフィルター クエリを実行すると、
{{url}}/device/devices?filter=systemProperties.name:"system.description",systemProperties.value:"sfsf"
応答本文で、このクエリはすべてのデバイス (デバイス 1 と 2) を一覧表示します。 systemProperties
名前 "system.description
」およびデバイス systemProperties
値「sfsf
"
次の高度なフィルター クエリを実行すると、
{{url}}/device/devices?filter=systemProperties:"{\"name\":\"system.description\",\"value\":\"sfsf\"}"
応答本文では、このクエリはデバイス (デバイス 2 のみ) をキーと値のペアでリストします。 systemProperties
システムの説明:"sfsf
"
/device/devices
フィルタの例
次のセクションでは、 /device/devices
フィルタ。
/device/devices
API
フィルター構造:
{{url}}/device/devices?filter=systemProperties:"{\"name\":\"system.description\",\"value\":\"sfsf\"}"&fields=systemProperties,name,id
例:
https://localdev.logicmonitor.com/santaba/rest/device/devices?filter=systemProperties:"{\"name\":\"system.description\",\"value\":\"sfsf\"}"&fields=systemProperties,name,id
/device/groups
API
フィルター構造:
{{url}}/device/groups?filter=customProperties:"{\"name\":\"test11\",\"value\":\"test11\"}"
例:
https://localdev.logicmonitor.com/santaba/rest/device/groups?filter=customProperties:"{\"name\":\"test11\",\"value\":\"test11\"}"
クエリの例
次のセクションでは、フィルター クエリの例を示します。
システムプロパティ
演算子等号 (:) フィルター クエリ:
{{url}}/device/devices?filter=systemProperties:"{\"name\":\"system.description\",\"value\":\"sfsf\"}"&fields=systemProperties,name,id
応答本文は、すべてのデバイスを返します systemProperties
含まれる name
:system.description
そして value
:sfsf
{
"total":1,
"items":[
{
"id":770544,
"name":"10.241.242.102",
"systemProperties":[
{
"name":"system.enablenetflow",
"value":"false"
},
{
"name":"system.collectorplatform",
"value":"linux"
},
{
"name":"system.description",
"value":"sfsf"
},
{
"name":"system.collectorid",
"value":"11934"
},
{
"name":"system.deviceId",
"value":"770544"
},
{
"name":"system.prefcollectordesc",
"value":"centos-systemd-1"
},
{
"name":"system.collectordesc",
"value":"centos-systemd-1"
},
{
"name":"system.groups",
"value":"Synthetics_Resource_Group,demo:/dasdas,152_SJ_dy,DeadDeviceGrp,175_SJ_2"
},
{
"name":"system.deviceGroupId",
"value":"56255,103904,23105,21122,142395"
},
{
"name":"system.resourceCreatedOn",
"value":"1652188809"
},
{
"name":"system.devicetype",
"value":"0"
},
{
"name":"system.collectorversion",
"value":"29107"
},
{
"name":"system.staticgroups",
"value":"Synthetics_Resource_Group"
},
{
"name":"system.prefcollectorid",
"value":"11934"
},
{
"name":"system.displayname",
"value":"my test vm"
},
{
"name":"system.hoststatus",
"value":"dead-collector"
},
{
"name":"system.hostname",
"value":"10.241.242.102"
}
]
}
],
"searchId":null,
"isMin":false
}
カスタムプロパティ
クエリ フィルターを実行します。
{{url}}/device/devices?filter=customProperties:"{\"name\":\"testPROPERTY\",\"value\":\"service\"}"&fields=customProperties,name,id
応答本文は、すべてのデバイスを返します customProperties
含まれる name
:testPROPERTY
そして value
:service
{
"total":1,
"items":[
{
"id":44,
"name":"Instance",
"customProperties":[
{
"name":"testPROPERTY",
"value":"service"
},
{
"name":"same case",
"value":"service"
},
{
"name":"snmp.test",
"value":"test"
},
{
"name":"predef.bizservice.evalMembersInterval",
"value":"30"
},
{
"name":"predef.bizservice.members",
"value":"{\"device\":[],\"instance\":[{\"deviceGroupFullPath\":\"jenny/jenny1*\",\"deviceDisplayName\":\"10.131.1.17\",\"deviceProperties\":[],\"dataSourceFullName\":\"jenny_script_time\",\"dataSourceId\":2001791,\"instanceName\":\"*\"}]}"
},
{
"name":"system.categories",
"value":""
}
]
}
],
"searchId":null,
"isMin":false
}
自動プロパティ
クエリ フィルターを実行します。
{{url}}/device/devices?filter=autoProperties:"{\"name\":\"predef.externalResourceID\",\"value\":\"service_63\"}"&fields=autoProperties,name,id
応答本文は、すべてのデバイスを返します autoProperties
含まれる name
:predef.externalResourceID
そして value
:service_63
{
"total":1,
"items":[
{
"id":63,
"name":"gcp",
"autoProperties":[
{
"name":"predef.externalResourceID",
"value":"service_63"
},
{
"name":"predef.externalResourceType",
"value":"Service"
}
]
}
],
"searchId":null,
"isMin":false
}
systemProperties と inheritedProperties
クエリ フィルターを実行します。
{{url}}/device/devices?filter=systemProperties:"{\"name\":\"system.displayname\",\"value\":\"qqq1\"}",inheritedProperties:"{\"name\":\"fdfdf\",\"value\":\"121212\"}"
応答本文は、すべてのデバイスを返します systemProperties
含まれる name
:system.displayname
そして value
:qqq1
そして inheritedProperties
name
:fdfdf
そして value
:121212
{
"total": 1,
"items": [
{
"id": 770544,
"name": "10.241.242.102",
"displayName": "my test vm",
"deviceType": 0,
"relatedDeviceId": -1,
"currentCollectorId": 11934,
"preferredCollectorId": 11934,
"autoBalancedCollectorGroupId": 0,
"preferredCollectorGroupId": 581,
"preferredCollectorGroupName": "Netflow",
"description": "sfsf",
"createdOn": 1652188809,
"updatedOn": 1652188809,
"disableAlerting": false,
"autoPropsAssignedOn": 0,
"autoPropsUpdatedOn": 0,
"scanConfigId": 0,
"link": "",
"enableNetflow": false,
"netflowCollectorId": 0,
"netflowCollectorGroupId": 0,
"netflowCollectorGroupName": null,
"isPreferredLogCollectorConfigured": false,
"currentLogCollectorId": 0,
"logCollectorId": 0,
"logCollectorDescription": null,
"logCollectorGroupId": 0,
"logCollectorGroupName": null,
"lastDataTime": 0,
"lastRawdataTime": 0,
"hostGroupIds": "56255,103904,23105,21122,142395",
"sdtStatus": "none-none-none",
"userPermission": "write",
"rolePrivileges": [],
"hostStatus": "dead-collector",
"alertStatus": "unconfirmed-critical-none",
"alertStatusPriority": 1,
"awsState": 1,
"azureState": 1,
"gcpState": 1,
"alertDisableStatus": "none-none-none",
"alertingDisabledOn": null,
"collectorDescription": "centos-systemd-1",
"netflowCollectorDescription": null,
"customProperties": [
{
"name": "sn.cmdb_url",
"value": "https://ven02915.service-now.com/nav_to.do?uri=cmdb_ci.do?sys_id=a1750a00db11d110afef285b13961906"
},
{
"name": "sn.sys_id",
"value": "a1750a00db11d110afef285b13961906"
},
{
"name": "system.categories",
"value": ""
}
],
"resourceIds": null,
"upTimeInSeconds": 0,
"deletedTimeInMs": 0,
"toDeleteTimeInMs": 0,
"hasDisabledSubResource": false,
"ancestorHasDisabledLogicModule": false,
"systemProperties": [
{
"name": "system.enablenetflow",
"value": "false"
},
{
"name": "system.collectorplatform",
"value": "linux"
},
{
"name": "system.description",
"value": "sfsf"
},
{
"name": "system.collectorid",
"value": "11934"
},
{
"name": "system.deviceId",
"value": "770544"
},
{
"name": "system.prefcollectordesc",
"value": "centos-systemd-1"
},
{
"name": "system.collectordesc",
"value": "centos-systemd-1"
},
{
"name": "system.groups",
"value": "Synthetics_Resource_Group,demo:/dasdas,152_SJ_dy,DeadDeviceGrp,175_SJ_2"
},
{
"name": "system.deviceGroupId",
"value": "56255,103904,23105,21122,142395"
},
{
"name": "system.resourceCreatedOn",
"value": "1652188809"
},
{
"name": "system.devicetype",
"value": "0"
},
{
"name": "system.collectorversion",
"value": "29107"
},
{
"name": "system.staticgroups",
"value": "Synthetics_Resource_Group"
},
{
"name": "system.prefcollectorid",
"value": "11934"
},
{
"name": "system.displayname",
"value": "my test vm"
},
{
"name": "system.hoststatus",
"value": "dead-collector"
},
{
"name": "system.hostname",
"value": "10.241.242.102"
}
],
"autoProperties": [],
"inheritedProperties": [
{
"name": "test11",
"value": "test11"
},
{
"name": "testPropertyTel",
"value": "tel:18618198654"
},
{
"name": "testPropertyHttps",
"value": "https://test.com"
},
{
"name": "mayank.pass",
"value": "********"
},
{
"name": "test.pass",
"value": "********"
},
{
"name": "test",
"value": "test"
},
{
"name": "fdfdf",
"value": "121212"
},
{
"name": "jnj",
"value": "jnj"
},
{
"name": "snmp.community",
"value": "********"
},
{
"name": "xen.user",
"value": "root"
},
{
"name": "esx.pass",
"value": "********"
},
{
"name": "tomcat.jmxports",
"value": "9003"
},
{
"name": "netapp.user",
"value": "abhi9999"
},
{
"name": "testPropertyHttp",
"value": "http://test.com"
},
{
"name": "xen.url",
"value": ""
},
{
"name": "becca",
"value": "something"
},
{
"name": "testPropertySkype",
"value": "skype:21268822"
},
{
"name": "testPropertyMailto",
"value": "mailto:[email protected]"
},
{
"name": "mayank",
"value": "test"
},
{
"name": "fang_wan",
"value": "192.192.178.1"
},
{
"name": "SS",
"value": "wwww"
},
{
"name": "test22",
"value": "test22"
},
{
"name": "esx.user",
"value": "adsf"
},
{
"name": "test.ipsi",
"value": " "
},
{
"name": "rootProp",
"value": "test"
},
{
"name": "xen.pass",
"value": "********"
},
{
"name": "today.date",
"value": "8June"
},
{
"name": "Test_prop1",
"value": "test1"
},
{
"name": "test2",
"value": "test2"
},
{
"name": "api-property1553839486",
"value": "value"
},
{
"name": "ssh.pass",
"value": "********"
}
],
"syntheticsCollectorIds": []
}
],
"searchId": null,
"isMin": false
}
高度なフィルターでの演算子の使用法 /device/devices
API
- 演算子が等しくない (!:) フィルター クエリ
{{url}}/device/devices?filter=customProperties!:"{\"name\":\"predef.bizservice.evalMembersInterval\",\"value\":\"*\"}"
- 演算子に (~) を含むフィルター クエリ
{{url}}/device/devices?filter=customProperties~"{\"name\":\"predef.bizservice.evalMembersInterval\",\"value\":\"*\"}"
- 演算子を含まない (!~) フィルター クエリ
{{url}}/device/devices?filter=customProperties!~"{\"name\":\"predef.bizservice.evalMembersInterval\",\"value\":\"*\"}"
- 演算子 special_eq (:::) フィルター クエリ
{{url}}/device/devices?filter=inheritedProperties:::empty
応答本文は、継承されたプロパティを持たないすべてのデバイスを返します。 null と空の両方の空のチェック。
- 演算子 special_ne (!::) フィルター クエリ
{{url}}/device/devices?filter=netflowCollectorDescription!::empty
応答本文は、netflowCollectorDescription が空でも null でもないすべてのデバイスを返します。
- 演算子 special_ne (!::) フィルター クエリ
{{url}}/device/devices?filter=netflowCollectorDescription!::null
応答本文で、このクエリは netflowCollectorDescription が null ではないすべてのデバイスを提供します。
- 演算子論理 OR (||) フィルター クエリ
{{url}}/device/devices?filter=customProperties:"{\"name\":\"testPROPERTY\",\"value\":\"service\"}" || customProperties:"{\"name\":\"system.categories\",\"value\":\"KubernetesLogicalService\"}"
- 単一および高度なフィルター クエリ
{{url}}/device/devices?fields=systemProperties,name,id&filter=systemProperties:"{\"name\":\"system.description\",\"value\":\"sfsf\"}",id>100
例:
クエリを実行する
{{url}}/device/devices?filter=systemProperties:"{\"name\":\"system.hostname\",\"value\":\"ay_service1_*\"}",id>1528&fields=systemProperties,id
応答本文で、このクエリは次の結果を返します。
{
"total": 1,
"items": [
{
"id": 1530,
"systemProperties": [
{
"name": "system.enablenetflow",
"value": "false"
},
{
"name": "system.collectorplatform",
"value": "n/a"
},
{
"name": "system.collectorid",
"value": "-4"
},
{
"name": "system.deviceId",
"value": "1530"
},
{
"name": "system.prefcollectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.collectordesc",
"value": "Service Data Aggregator"
},
{
"name": "system.groups",
"value": "Ay_service_group"
},
{
"name": "system.deviceGroupId",
"value": "478"
},
{
"name": "system.resourceCreatedOn",
"value": "1552015277"
},
{
"name": "system.devicetype",
"value": "6"
},
{
"name": "system.collectorversion",
"value": "0"
},
{
"name": "system.staticgroups",
"value": "Ay_service_group"
},
{
"name": "system.prefcollectorid",
"value": "-4"
},
{
"name": "system.displayname",
"value": "ay_service1_CLONE1"
},
{
"name": "system.hostname",
"value": "ay_service1_CLONE1"
}
]
}
],
"searchId": null,
"isMin": false
}
高度なフィルターでの演算子の使用法 /alert/alerts
API
注意: monitorObjectGroups のアラート フィルタは、フルパス プロパティに対してのみサポートされます。 現在、等しい (:) と含む (~) の 2 つの演算子のみがサポートされています。
等しい (:) および含む (~) 演算子
- リソース グループまたは monitorObjectGroups の fullpath="Devices by Type/Collectors" を持つアラートをフィルター処理します
{{url}}/alert/alerts?filter=monitorObjectGroups:"Devices by Type/Collectors"
例
https://localdev.logicmonitor.com/santaba/rest/alert/alerts?filter=monitorObjectGroups:"Devices by Type/Collectors"
- リソース グループ (「タイプ別のデバイス」) またはそのサブグループを持つアラートをフィルター処理します。 末尾の「*」は、サブグループも含まれていることを示します。 たとえば、リソース グループ (「Devices by Type」) には、コレクター (「Devices by Type/Collectors」) と Linux サーバー (「Devices by Type/Linux Servers」) の 2 つのサブグループがあります。 ここで、結果には、(fullpath="Devices by Type") または (fullpath="Devices by Type/Collectors") または (fullpath="Devices by Type/Linux Servers") のいずれかのリソース グループを持つアラートが含まれます。
{{url}}/alert/alerts?filter=monitorObjectGroups:"Devices by Type*"
- 複数のリソース グループ値に基づいてアラートをフィルター処理します (複数のフルパス値は "|" で区切る必要があります)。
(fullpath="Devices by Type/Collectors") または (fullpath="Kubernetes Cluster: k8-test/Nodes/All") を持つアラートをフィルタリングします
{{url}}/alert/alerts?filter=monitorObjectGroups:"Devices by Type/Collectors|Kubernetes Cluster: k8-test/Nodes/All"
- ルート グループのアラートをフィルタリングします。 ルート グループのフルパスが空の場合は、会社名 (たとえば、
qauat01
) を指定する必要があります。
{{url}}/alert/alerts?filter=monitorObjectGroups:"qauat01"
- 「」に一致するアラートをフィルタ
Collectors
」をリソース グループのフルパスに追加します。 「Devices by Type/Collectors」と「Collectors_Backup」のフルパスを持つ 2 つのグループがある場合、結果には両方のグループからのアラートが含まれます。
{{url}}/alert/alerts?filter=monitorObjectGroups~"Collectors"
- 単一および高度なフィルター クエリ
{{url}}/alert/alerts?filter=monitorObjectGroups:"Devices by Type/Collectors",startEpoch>:1653295431
{{url}}/alert/alerts?filter=monitorObjectGroups:"Devices by Type/Collectors",type:"batchJobAlert"