zabbix_export: version: '6.2' date: '2022-04-06T19:59:13Z' groups: - uuid: 7c2cb727f85b492d88cd56e17127c64d name: Templates/SAN templates: - uuid: 79267c69f54a4e59b4152aba4e8c4bd5 template: 'NetApp AFF A700 by HTTP' name: 'NetApp AFF A700 by HTTP' description: | The template to monitor SAN NetApp AFF A700 cluster by Zabbix HTTP agent. You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/ Template tooling version used: 0.41 groups: - name: Templates/SAN items: - uuid: 95d822159f2a4c4084ad36b18cd11a1d name: 'Get chassis' type: HTTP_AGENT key: netapp.chassis.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster/chassis?fields=id,state' tags: - tag: component value: raw - uuid: 49490a886b5f4e5c9e8cc121a6ffd713 name: 'Get cluster' type: HTTP_AGENT key: netapp.cluster.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster' tags: - tag: component value: raw - uuid: 2c98b9d6353a4b1f9c0a794681788c22 name: 'Cluster location' type: DEPENDENT key: netapp.cluster.location delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The location of the cluster.' preprocessing: - type: JSONPATH parameters: - $.location - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.cluster.get tags: - tag: component value: cluster - uuid: a052583b18b44ed9b8df1c1eca375113 name: 'Cluster name' type: DEPENDENT key: netapp.cluster.name delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The name of the cluster.' preprocessing: - type: JSONPATH parameters: - $.name - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.cluster.get tags: - tag: component value: cluster - uuid: 63c3ea4634024fb88841cee7e64c964b name: 'Cluster IOPS, other rate' type: DEPENDENT key: netapp.cluster.statistics.iops.other.rate delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.other - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 5f38f233c9c0446e8bb9e60229294cdf name: 'Cluster IOPS, read rate' type: DEPENDENT key: netapp.cluster.statistics.iops.read.rate delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.read - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 8380db1dbf2a4c2e95eff184d3a61fde name: 'Cluster IOPS, total rate' type: DEPENDENT key: netapp.cluster.statistics.iops.total.rate delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.total - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 65a4b938010045ef9735a7d9f6239ccd name: 'Cluster IOPS, write rate' type: DEPENDENT key: netapp.cluster.statistics.iops.write.rate delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.write - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 77253d87ce8242afa45a3c79ab96a91e name: 'Cluster IOPS raw, other' type: DEPENDENT key: netapp.cluster.statistics.iops_raw.other delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.other master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 14262390978b45729fa3ac593cf21a69 name: 'Cluster IOPS raw, read' type: DEPENDENT key: netapp.cluster.statistics.iops_raw.read delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.read master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 7a0407b68348478f9bc56bf0629f59d2 name: 'Cluster IOPS raw, total' type: DEPENDENT key: netapp.cluster.statistics.iops_raw.total delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.total master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 92640d6a2d044100a59c5d180d43fbce name: 'Cluster IOPS raw, write' type: DEPENDENT key: netapp.cluster.statistics.iops_raw.write delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.iops_raw.write master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: iops - uuid: 4bd4fe94e9a54fa2b8ab9bdf0475edff name: 'Cluster latency, other' type: CALCULATED key: netapp.cluster.statistics.latency.other history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.cluster.statistics.latency_raw.other) - last(//netapp.cluster.statistics.latency_raw.other,#2)) / (last(//netapp.cluster.statistics.iops_raw.other) - last(//netapp.cluster.statistics.iops_raw.other,#2) + (last(//netapp.cluster.statistics.iops_raw.other) - last(//netapp.cluster.statistics.iops_raw.other,#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' tags: - tag: component value: cluster - tag: component value: latency - uuid: 4b89e603f9cf4b92a85293b1ad15c005 name: 'Cluster latency, read' type: CALCULATED key: netapp.cluster.statistics.latency.read history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.cluster.statistics.latency_raw.read) - last(//netapp.cluster.statistics.latency_raw.read,#2)) / ( last(//netapp.cluster.statistics.iops_raw.read) - last(//netapp.cluster.statistics.iops_raw.read,#2) + (last(//netapp.cluster.statistics.iops_raw.read) - last(//netapp.cluster.statistics.iops_raw.read,#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for read I/O operations.' tags: - tag: component value: cluster - tag: component value: latency - uuid: 2c953f67a7484e389d11ac5ef6b06c44 name: 'Cluster latency, total' type: CALCULATED key: netapp.cluster.statistics.latency.total history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.cluster.statistics.latency_raw.total) - last(//netapp.cluster.statistics.latency_raw.total,#2)) / ( last(//netapp.cluster.statistics.iops_raw.total) - last(//netapp.cluster.statistics.iops_raw.total,#2) + (last(//netapp.cluster.statistics.iops_raw.total) - last(//netapp.cluster.statistics.iops_raw.total,#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric aggregated over all types of I/O operations.' tags: - tag: component value: cluster - tag: component value: latency - uuid: 543ba306d85e41c98d34dab39463dd87 name: 'Cluster latency, write' type: CALCULATED key: netapp.cluster.statistics.latency.write history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.cluster.statistics.latency_raw.write) - last(//netapp.cluster.statistics.latency_raw.write,#2)) / ( last(//netapp.cluster.statistics.iops_raw.write) - last(//netapp.cluster.statistics.iops_raw.write,#2) + (last(//netapp.cluster.statistics.iops_raw.write) - last(//netapp.cluster.statistics.iops_raw.write,#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for write I/O operations.' tags: - tag: component value: cluster - tag: component value: latency - uuid: acd5b961c4d843589514771fa9a0aaa3 name: 'Cluster latency raw, other' type: DEPENDENT key: netapp.cluster.statistics.latency_raw.other delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - $.statistics.latency_raw.other master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: latency - uuid: 3e81e918028d412eaa2cb27718ae3b98 name: 'Cluster latency raw, read' type: DEPENDENT key: netapp.cluster.statistics.latency_raw.read delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.latency_raw.read master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: latency - uuid: 78253f625b7e468898f6dd48c9707ad3 name: 'Cluster latency raw, total' type: DEPENDENT key: netapp.cluster.statistics.latency_raw.total delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.latency_raw.total master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: latency - uuid: fb73702348d3468cad5312af772eaeb9 name: 'Cluster latency raw, write' type: DEPENDENT key: netapp.cluster.statistics.latency_raw.write delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. This can be divided by the raw IOPS value to calculate the average latency per I/O operation. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.latency_raw.write master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: latency - uuid: 61acb5f1435f4452a789c44bfd105da3 name: 'Cluster throughput, other rate' type: DEPENDENT key: netapp.cluster.statistics.throughput.other.rate delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - $.statistics.throughput_raw.other - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: throughput - uuid: a1fad2e35b8f4c1da450b953d3952263 name: 'Cluster throughput, read rate' type: DEPENDENT key: netapp.cluster.statistics.throughput.read.rate delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.throughput_raw.read - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: throughput - uuid: e894ad01c2d74edfb8f954198979070c name: 'Cluster throughput, total rate' type: DEPENDENT key: netapp.cluster.statistics.throughput.total.rate delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.throughput_raw.total - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: throughput - uuid: c06c118d3fbe48b78db12e43232d6d97 name: 'Cluster throughput, write rate' type: DEPENDENT key: netapp.cluster.statistics.throughput.write.rate delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - $.statistics.throughput_raw.write - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.cluster.get tags: - tag: component value: cluster - tag: component value: throughput - uuid: 5029bccf54f542b1a2dc760067ddabe3 name: 'Cluster status' type: DEPENDENT key: netapp.cluster.status delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The status of the cluster: ok, error, partial_no_data, partial_no_response, partial_other_error, negative_delta, backfilled_data, inconsistent_delta_time, inconsistent_old_data.' preprocessing: - type: JSONPATH parameters: - $.statistics.status - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.cluster.get tags: - tag: component value: cluster triggers: - uuid: c823a2eb325a4153871be705d7c24c72 expression: '(last(/NetApp AFF A700 by HTTP/netapp.cluster.status)<>"ok")' name: 'Cluster status is abnormal' priority: AVERAGE description: 'Any errors associated with the sample. For example, if the aggregation of data over multiple nodes fails then any of the partial errors might be returned, “ok” on success, or “error” on any internal uncategorized failure. Whenever a sample collection is missed but done at a later time, it is back filled to the previous 15 second timestamp and tagged with "backfilled_data". “Inconsistent_ delta_time” is encountered when the time between two collections is not the same for all nodes. Therefore, the aggregated value might be over or under inflated. “Negative_delta” is returned when an expected monotonically increasing value has decreased in value. “Inconsistent_old_data” is returned when one or more nodes do not have the latest data.' tags: - tag: scope value: availability - tag: scope value: performance - uuid: cd56dc70e28f4a3382f2f1b08a4fa584 name: 'Cluster software version' type: DEPENDENT key: netapp.cluster.version delay: '0' history: 7d trends: '0' value_type: CHAR description: 'This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes.' preprocessing: - type: JSONPATH parameters: - $.version.full - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.cluster.get tags: - tag: component value: system triggers: - uuid: 4a2936f068ed486f8c8a2cf2cfa7440b expression: 'last(/NetApp AFF A700 by HTTP/netapp.cluster.version,#1)<>last(/NetApp AFF A700 by HTTP/netapp.cluster.version,#2) and length(last(/NetApp AFF A700 by HTTP/netapp.cluster.version))>0' name: 'Version has changed' event_name: 'Version has changed (new version: {ITEM.VALUE})' priority: INFO description: '__RESOURCE__ version has changed. Ack to close.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: c9bf91e0f23c4961aed8ee5b32ff7767 name: 'Get disks' type: HTTP_AGENT key: netapp.disks.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/disks?fields=state,node.name' tags: - tag: component value: raw - uuid: 54163ca73a8c40188048ef5d89ec4927 name: 'Get FRUs' type: HTTP_AGENT key: netapp.frus.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function(chassis) { chassis.frus.forEach(function(frus) { frus.chassisId = chassis.id; result.push(frus); }) }); return JSON.stringify(result); timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster/chassis?fields=id,frus.id,frus.state' tags: - tag: component value: raw - uuid: c9b6ac2405af48c0899d1536662f752b name: 'Get LUNs' type: HTTP_AGENT key: netapp.luns.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/luns?fields=name,svm.name,space.size,space.used,status.state,status.container_state' tags: - tag: component value: raw - uuid: 5c36efc545ba4dcbb0be84da5e8088cc name: 'Get nodes' type: HTTP_AGENT key: netapp.nodes.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster/nodes?fields=*' tags: - tag: component value: raw - uuid: c677a3caf7a04710bc67b165b4152808 name: 'Get ethernet ports' type: HTTP_AGENT key: netapp.ports.eth.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/network/ethernet/ports?fields=name,type,node.name,broadcast_domain.name,enabled,state,mtu,speed' tags: - tag: component value: raw - uuid: 2a6abfe87cc548bb81fcb217cde4f805 name: 'Get FC ports' type: HTTP_AGENT key: netapp.ports.fc.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/network/fc/ports?fields=name,node.name,description,enabled,fabric.switch_port,state' tags: - tag: component value: raw - uuid: 7a813b7cb05d497fbf77bf11b01757dd name: 'Get SVMs' type: HTTP_AGENT key: netapp.svms.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/svm/svms?fields=name,state,comment' tags: - tag: component value: raw - uuid: fa7fa8daaaa640d494af38614ba12c2e name: 'Get volumes' type: HTTP_AGENT key: netapp.volumes.get history: '0' trends: '0' value_type: TEXT authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/volumes?fields=name,comment,state,type,svm.name,space.size,space.available,space.used,statistics' tags: - tag: component value: raw discovery_rules: - uuid: c5265605c1b5440999b7c0dbff8ce328 name: 'Chassis discovery' type: HTTP_AGENT key: netapp.chassis.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: 7e6b1e1d5b484080b8f31929a78e44e7 name: '{#ID}: State' type: DEPENDENT key: 'netapp.chassis.state[{#ID}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The chassis state: ok, error.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.id==''{#ID}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.chassis.get tags: - tag: chassis value: '{#ID}' - tag: component value: chassis trigger_prototypes: - uuid: 381eb797545d452a84d3dba43865bbed expression: '(last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}],#2) and last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}])="error")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}],#2) and last(/NetApp AFF A700 by HTTP/netapp.chassis.state[{#ID}])="ok")' name: '{#ID}: Chassis has something errors' priority: AVERAGE description: 'Something is wrong with the chassis.' manual_close: 'YES' tags: - tag: scope value: performance timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster/chassis?fields=id' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (chassis) { result.push({"{#ID}": chassis.id}); }); return JSON.stringify(result); - uuid: e7c0955f88d342179b96f56e1f35afe2 name: 'Disks discovery' type: HTTP_AGENT key: netapp.disks.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: f170a3d8e98048ce91bf10f1ebcd2611 name: '{#DISKNAME}: State' type: DEPENDENT key: 'netapp.disk.state[{#NODENAME},{#DISKNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The state of the disk. Possible values: broken, copy, maintenance, partner, pending, present, reconstructing, removed, spare, unfail, zeroing' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#DISKNAME}''&&@.node.name==''{#NODENAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.disks.get tags: - tag: component value: disk - tag: disk value: '{#DISKNAME}' - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: 72c1925f51c149eca27c7ddd1c81e44f expression: '(last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}])<>"present")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.disk.state[{#NODENAME},{#DISKNAME}])="present")' name: '{#DISKNAME}: Disk of the Node "{#NODENAME}" has state different from "present"' priority: AVERAGE description: 'Something is wrong with the disk.' manual_close: 'YES' tags: - tag: scope value: performance timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/disks?fields=name,node.name' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (disk) { result.push({"{#DISKNAME}": disk.name, "{#NODENAME}": disk.node.name}); }); return JSON.stringify(result); - uuid: 1ae3dea03a464096819de8a206b0780e name: 'FRUs discovery' type: DEPENDENT key: netapp.frus.discovery delay: '0' item_prototypes: - uuid: 643c9e0a8869464bacae0ff6161afe36 name: '{#FRUID}: State' type: DEPENDENT key: 'netapp.chassis.fru.state[{#CHASSISID},{#FRUID}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The FRU state: ok, error.' preprocessing: - type: JSONPATH parameters: - '$[?(@.id==''{#FRUID}''&&@.chassisId==''{#CHASSISID}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.frus.get tags: - tag: chassis value: '{#CHASSISID}' - tag: component value: fru - tag: fru value: '{#FRUID}' trigger_prototypes: - uuid: a17cb2ea98b6415d9e22e7f591d80adb expression: '(last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}],#2) and last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}])="error")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}],#2) and last(/NetApp AFF A700 by HTTP/netapp.chassis.fru.state[{#CHASSISID},{#FRUID}])="ok")' name: '{#FRUID}: FRU of the chassis "{#ID}" state is error' priority: AVERAGE description: 'Something is wrong with the FRU.' manual_close: 'YES' tags: - tag: scope value: availability - tag: scope value: performance master_item: key: netapp.frus.get preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).forEach(function (fru) { result.push({"{#CHASSISID}": fru.chassisId, "{#FRUID}": fru.id}); }); return JSON.stringify(result); - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h - uuid: b75474be384f4d7fa0f625c4cebeef43 name: 'LUNs discovery' type: HTTP_AGENT key: netapp.luns.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: 05dfdbc0cacb4f1fa458180e4b4fe35c name: '{#LUNNAME}: Space size' type: DEPENDENT key: 'netapp.lun.space.size[{#SVMNAME},{#LUNNAME}]' delay: '0' history: 7d units: B description: 'The total provisioned size of the LUN.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.svm.name==''{#SVMNAME}''&&@.name==''{#LUNNAME}'')].space.size.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.luns.get tags: - tag: component value: lun - tag: lun value: '{#LUNNAME}' - tag: svm value: '{#SVMNAME}' - uuid: e12b5d04f3264ee2b602d459fb64c6ee name: '{#LUNNAME}: Space used' type: DEPENDENT key: 'netapp.lun.space.used[{#SVMNAME},{#LUNNAME}]' delay: '0' history: 7d units: B description: 'The amount of space consumed by the main data stream of the LUN.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.svm.name==''{#SVMNAME}''&&@.name==''{#LUNNAME}'')].space.used.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.luns.get tags: - tag: component value: lun - tag: lun value: '{#LUNNAME}' - tag: svm value: '{#SVMNAME}' - uuid: 701fdb0345874ea39afc3362faa2f5a4 name: '{#LUNNAME}: Container state' type: DEPENDENT key: 'netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The state of the volume and aggregate that contain the LUN: online, aggregate_offline, volume_offline. LUNs are only available when their containers are available.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.svm.name==''{#SVMNAME}''&&@.name==''{#LUNNAME}'')].status.container_state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.luns.get tags: - tag: component value: lun - tag: lun value: '{#LUNNAME}' - tag: svm value: '{#SVMNAME}' trigger_prototypes: - uuid: 7a4e0a681edd4db6b701b131fea0e5e4 expression: '(last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}])<>"online")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.lun.status.container_state[{#SVMNAME},{#LUNNAME}])="online")' name: '{#LUNNAME}: LUN of the SVM "{#SVMNAME}" has abnormal container state' priority: AVERAGE description: 'LUNs are only available when their containers are available.' manual_close: 'YES' tags: - tag: scope value: performance - uuid: ae15b98b9de2472e8c56ddb2a13d7981 name: '{#LUNNAME}: State' type: DEPENDENT key: 'netapp.lun.status.state[{#SVMNAME},{#LUNNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The state of the LUN. Normal states for a LUN are online and offline. Other states indicate errors. Possible values: foreign_lun_error, nvfail, offline, online, space_error.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.svm.name==''{#SVMNAME}''&&@.name==''{#LUNNAME}'')].status.state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.luns.get tags: - tag: component value: lun - tag: lun value: '{#LUNNAME}' - tag: svm value: '{#SVMNAME}' trigger_prototypes: - uuid: 5b065dd69e654bee881ae60464a5c9fe expression: '(last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}])<>"online")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.lun.status.state[{#SVMNAME},{#LUNNAME}])="online")' name: '{#LUNNAME}: LUN of the SVM "{#SVMNAME}" has abnormal state' priority: AVERAGE description: 'Normal states for a LUN are online and offline. Other states indicate errors.' manual_close: 'YES' tags: - tag: scope value: performance timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/luns?fields=name,svm.name,space.size,space.used,status.state,status.container_state' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (lun) { result.push({"{#LUNNAME}": lun.name, "{#SVMNAME}": lun.svm.name}); }); return JSON.stringify(result); - uuid: b914c4c37ba446eba7ecdc73a9692885 name: 'Nodes discovery' type: HTTP_AGENT key: netapp.nodes.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: 23474d549a4c4e80b2e89c12a909dc0c name: '{#NODENAME}: Software version' type: DEPENDENT key: 'netapp.node.version[{#NODENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'This returns the cluster version information. When the cluster has more than one node, the cluster version is equivalent to the lowest of generation, major, and minor versions on all nodes.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].version.full.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: 34092a7ade784221ae50eb74a6fbcb5d expression: 'last(/NetApp AFF A700 by HTTP/netapp.node.version[{#NODENAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.node.version[{#NODENAME}],#2) and length(last(/NetApp AFF A700 by HTTP/netapp.node.version[{#NODENAME}]))>0' name: '{#NODENAME}: Version has changed' event_name: '{#NODENAME}: Version has changed (new version: {ITEM.VALUE})' priority: INFO description: '{#NODENAME} version has changed. Ack to close.' manual_close: 'YES' tags: - tag: scope value: notice - uuid: 416e2a3d707d4a5389c90566b588bf7f name: '{#NODENAME}: Controller over temperature' type: DEPENDENT key: 'netapp.nodes.controller.over_temperature[{#NODENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'Specifies whether the hardware is currently operating outside of its recommended temperature range. The hardware shuts down if the temperature exceeds critical thresholds. Possible values: over, normal' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].controller.over_temperature.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: 4dbb3a9da15f45989b8fa4217f3f25c3 expression: '(last(/NetApp AFF A700 by HTTP/netapp.nodes.controller.over_temperature[{#NODENAME}])<>"normal")' name: '{#NODENAME}: Node has over temperature' priority: AVERAGE description: 'The hardware shuts down if the temperature exceeds critical thresholds(item''s value is "over").' tags: - tag: scope value: availability - tag: scope value: performance - uuid: f554158202d347388304751c8bdf7515 name: '{#NODENAME}: Location' type: DEPENDENT key: 'netapp.nodes.location[{#NODENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The location of the node.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].location.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' - uuid: be634e1ba1ea454fbc6c7c8224909187 name: '{#NODENAME}: Membership' type: DEPENDENT key: 'netapp.nodes.membership[{#NODENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: | Possible values: available - If a node is available, this means it is detected on the internal cluster network and can be added to the cluster. Nodes that have a membership of “available” are not returned when a GET request is called when the cluster exists. A query on the “membership” property for available must be provided to scan for nodes on the cluster network. Nodes that have a membership of “available” are returned automatically before a cluster is created. joining - Joining nodes are in the process of being added to the cluster. The node may be progressing through the steps to become a member or might have failed. The job to add the node or create the cluster provides details on the current progress of the node. member - Nodes that are members have successfully joined the cluster. preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].membership.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' - uuid: 5b3b6fab8fe54f3585c1a270caad2b3e name: '{#NODENAME}: State' type: DEPENDENT key: 'netapp.nodes.state[{#NODENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: | State of the node: up - Node is up and operational. booting - Node is booting up. down - Node has stopped or is dumping core. taken_over - Node has been taken over by its HA partner and is not yet waiting for giveback. waiting_for_giveback - Node has been taken over by its HA partner and is waiting for the HA partner to giveback disks. degraded - Node has one or more critical services offline. unknown - Node or its HA partner cannot be contacted and there is no information on the node's state. preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: db8ff0f2cd294cc5952992a0d476e798 expression: '(last(/NetApp AFF A700 by HTTP/netapp.nodes.state[{#NODENAME}])<>"up")' name: '{#NODENAME}: Node state is abnormal' priority: AVERAGE description: | The state of the node is different from up: booting - Node is booting up. down - Node has stopped or is dumping core. taken_over - Node has been taken over by its HA partner and is not yet waiting for giveback. waiting_for_giveback - Node has been taken over by its HA partner and is waiting for the HA partner to giveback disks. degraded - Node has one or more critical services offline. unknown - Node or its HA partner cannot be contacted and there is no information on the node's state. tags: - tag: scope value: availability - tag: scope value: performance - uuid: 56e0b6df4dbd456880c2481bec40b41e name: '{#NODENAME}: Uptime' type: DEPENDENT key: 'netapp.nodes.uptime[{#NODENAME}]' delay: '0' history: 7d units: s description: 'The total time, in seconds, that the node has been up.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#NODENAME}'')].uptime.first()' master_item: key: netapp.nodes.get tags: - tag: component value: node - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: 61357dfdb08846c4935f62ba894b159a expression: 'last(/NetApp AFF A700 by HTTP/netapp.nodes.uptime[{#NODENAME}])<10m' name: '{#NODENAME}: Node has been restarted' event_name: '{#NODENAME}: Node has been restarted (uptime < 10m)' priority: INFO description: 'Uptime is less than 10 minutes' manual_close: 'YES' tags: - tag: scope value: notice timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/cluster/nodes?fields=name' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (node) { result.push({"{#NODENAME}": node.name}); }); return JSON.stringify(result); - uuid: 98ed5727ede8490b8479a2194b2c847a name: 'Ethernet ports discovery' type: HTTP_AGENT key: netapp.ports.ether.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: dda2086a96f844c7b5a8002549fe6bf5 name: '{#ETHPORTNAME}: State' type: DEPENDENT key: 'netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The operational state of the port. Possible values: up, down.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#ETHPORTNAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.ports.eth.get tags: - tag: component value: interfaces - tag: interfaces value: '{#ETHPORTNAME}' - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: 0fa3a54b559349d58b616720ee33cdf5 expression: '(last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}])="down")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.port.eth.state[{#NODENAME},{#ETHPORTNAME}])="up")' name: '{#ETHPORTNAME}: Ethernet port of the Node "{#NODENAME}" is down' priority: AVERAGE description: 'Something is wrong with the ethernet port.' manual_close: 'YES' tags: - tag: scope value: availability timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/network/ethernet/ports?fields=name,state,node.name' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (port) { result.push({"{#NODENAME}": port.node.name, "{#ETHPORTNAME}": port.name, "{#ETHPORTSTATE}": port.state}); }); return JSON.stringify(result); - uuid: bab3f935c2a04c89b0901f1c19d50558 name: 'FC ports discovery' type: HTTP_AGENT key: netapp.ports.fc.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: b4358be015104524811f011ddf0fb1a1 name: '{#FCPORTNAME}: Description' type: DEPENDENT key: 'netapp.port.fc.description[{#NODENAME},{#FCPORTNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'A description of the FC port.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#FCPORTNAME}'')].description.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.ports.fc.get tags: - tag: component value: fc-port - tag: fc-port value: '{#FCPORTNAME}' - tag: node value: '{#NODENAME}' - uuid: e939576d865041dd8f4af24bb7811117 name: '{#FCPORTNAME}: State' type: DEPENDENT key: 'netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: | The operational state of the FC port. Possible values: startup - The port is booting up. link_not_connected - The port has finished initialization, but a link with the fabric is not established. online - The port is initialized and a link with the fabric has been established. link_disconnected - The link was present at one point on this port but is currently not established. offlined_by_user - The port is administratively disabled. offlined_by_system - The port is set to offline by the system. This happens when the port encounters too many errors. node_offline - The state information for the port cannot be retrieved. The node is offline or inaccessible. preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#FCPORTNAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.ports.fc.get tags: - tag: component value: fc-port - tag: fc-port value: '{#FCPORTNAME}' - tag: node value: '{#NODENAME}' trigger_prototypes: - uuid: a985c047b9834081bf21ae50836cef46 expression: '(last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}])<>"online")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.port.fc.state[{#NODENAME},{#FCPORTNAME}])="online")' name: '{#FCPORTNAME}: FC port of the Node "{#NODENAME}" has state different from "online"' priority: AVERAGE description: 'Something is wrong with the FC port.' manual_close: 'YES' tags: - tag: scope value: availability - tag: scope value: performance timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/network/fc/ports?fields=node.name,name,state' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (port) { result.push({"{#NODENAME}": port.node.name, "{#FCPORTNAME}": port.name, "{#FCPORTSTATE}": port.state}); }); return JSON.stringify(result); - uuid: b2a5b50d7e3e4592ad9627ae85487554 name: 'SVMs discovery' type: HTTP_AGENT key: netapp.svms.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: e7fab9c64c5348158418a02b1139eb68 name: '{#SVMNAME}: Comment' type: DEPENDENT key: 'netapp.svm.comment[{#SVMNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The comment for the SVM.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#SVMNAME}'')].comment.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.svms.get tags: - tag: component value: svm - tag: svm value: '{#SVMNAME}' - uuid: 6534f78b5b6c4e61b8ee0ab05bcc6fa3 name: '{#SVMNAME}: State' type: DEPENDENT key: 'netapp.svm.state[{#SVMNAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'SVM state: starting, running, stopping, stopped, deleting.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#SVMNAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.svms.get tags: - tag: component value: svm - tag: svm value: '{#SVMNAME}' trigger_prototypes: - uuid: 7c5695fd13a4489ca1c9772f1d3376a7 expression: '(last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}])<>"running")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.svm.state[{#SVMNAME}])="running")' name: '{#SVMNAME}: SVM state is abnormal' priority: AVERAGE description: 'Something is wrong with the SVM.' manual_close: 'YES' tags: - tag: scope value: availability - tag: scope value: performance timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/svm/svms?fields=name' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (svm) { result.push({"{#SVMNAME}": svm.name}); }); return JSON.stringify(result); - uuid: 3d2001596c2642e7a6ee09d3ac7effb3 name: 'Volumes discovery' type: HTTP_AGENT key: netapp.volumes.discovery delay: 1h authtype: BASIC username: '{$USERNAME}' password: '{$PASSWORD}' item_prototypes: - uuid: 7218a035d00b47faae1d47955de4f61f name: '{#VOLUMENAME}: Comment' type: DEPENDENT key: 'netapp.volume.comment[{#VOLUMENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'A comment for the volume.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].comment.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 63c67432c4dd48f3a9b2736b1d8eda60 name: '{#VOLUMENAME}: Available size' type: DEPENDENT key: 'netapp.volume.space_available[{#VOLUMENAME}]' delay: '0' history: 7d units: B description: 'The available space, in bytes.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].space.available.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: b17602cccbb84012b6cb8edd8bd80374 name: '{#VOLUMENAME}: Space size' type: DEPENDENT key: 'netapp.volume.space_size[{#VOLUMENAME}]' delay: '0' history: 7d units: B description: 'Total provisioned size. The default size is equal to the minimum size of 20MB, in bytes.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].space.size.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 0166239c8d4a4e42ba2f9b3b530143a8 name: '{#VOLUMENAME}: Used size' type: DEPENDENT key: 'netapp.volume.space_used[{#VOLUMENAME}]' delay: '0' history: 7d units: B description: 'The virtual space used (includes volume reserves) before storage efficiency, in bytes.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].space.used.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: fa2ae9b23fce43a49efa9c66369cce27 name: '{#VOLUMENAME}: State' type: DEPENDENT key: 'netapp.volume.state[{#VOLUMENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'Volume state. A volume can only be brought online if it is offline. Taking a volume offline removes its junction path. The ''mixed'' state applies to FlexGroup volumes only and cannot be specified as a target state. An ''error'' state implies that the volume is not in a state to serve data.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].state.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' trigger_prototypes: - uuid: b00f339ed1a9450ba096cabababcf76e expression: '(last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}])<>"online")' recovery_mode: RECOVERY_EXPRESSION recovery_expression: '(last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}],#1)<>last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}],#2) and last(/NetApp AFF A700 by HTTP/netapp.volume.state[{#VOLUMENAME}])="online")' name: '{#VOLUMENAME}: Volume state is abnormal' priority: AVERAGE description: 'A volume can only be brought online if it is offline. Taking a volume offline removes its junction path. The ''mixed'' state applies to FlexGroup volumes only and cannot be specified as a target state. An ''error'' state implies that the volume is not in a state to serve data.' manual_close: 'YES' tags: - tag: scope value: performance - uuid: cb4cfb0ce84f405ebfbf2e4a64c12ca2 name: '{#VOLUMENAME}: Volume IOPS, other rate' type: DEPENDENT key: 'netapp.volume.statistics.iops.other.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.other.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: ae3142dae1294a16a4cdd0ef153f7cfb name: '{#VOLUMENAME}: Volume IOPS, read rate' type: DEPENDENT key: 'netapp.volume.statistics.iops.read.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.read.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: b767b6185c744ddc8061bef36d16581d name: '{#VOLUMENAME}: Volume IOPS, total rate' type: DEPENDENT key: 'netapp.volume.statistics.iops.total.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.total.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: ffe8787aeaa2414e82a925ab0dbfb9aa name: '{#VOLUMENAME}: Volume IOPS, write rate' type: DEPENDENT key: 'netapp.volume.statistics.iops.write.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.write.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 64a56ed125f249308d0f525aa0a3e56d name: '{#VOLUMENAME}: Volume IOPS raw, other' type: DEPENDENT key: 'netapp.volume.statistics.iops_raw.other[{#VOLUMENAME}]' delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.other.first()' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 01ee6910b06e42e294e2c80229cc960e name: '{#VOLUMENAME}: Volume IOPS raw, read' type: DEPENDENT key: 'netapp.volume.statistics.iops_raw.read[{#VOLUMENAME}]' delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.read.first()' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 5964ea1edbb74fa4a7c04a79ef776ff3 name: '{#VOLUMENAME}: Volume IOPS raw, total' type: DEPENDENT key: 'netapp.volume.statistics.iops_raw.total[{#VOLUMENAME}]' delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.total.first()' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 77329ceefeef490e98f7d23689765c87 name: '{#VOLUMENAME}: Volume IOPS raw, write' type: DEPENDENT key: 'netapp.volume.statistics.iops_raw.write[{#VOLUMENAME}]' delay: '0' history: 7d units: '!iops' description: 'The number of I/O operations observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.iops_raw.write.first()' master_item: key: netapp.volumes.get tags: - tag: component value: iops - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: fc21c2c1ff87454ea9fc59af4d0d4693 name: '{#VOLUMENAME}: Volume latency, other' type: CALCULATED key: 'netapp.volume.statistics.latency.other[{#VOLUMENAME}]' history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.volume.statistics.latency_raw.other[{#VOLUMENAME}]) - last(//netapp.volume.statistics.latency_raw.other[{#VOLUMENAME}],#2)) / ( last(//netapp.volume.statistics.iops_raw.other[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.other[{#VOLUMENAME}],#2) + (last(//netapp.volume.statistics.iops_raw.other[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.other[{#VOLUMENAME}],#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 3e80e6c55bd0497f87d4f4e71f11f0aa name: '{#VOLUMENAME}: Volume latency, read' type: CALCULATED key: 'netapp.volume.statistics.latency.read[{#VOLUMENAME}]' history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.volume.statistics.latency_raw.read[{#VOLUMENAME}]) - last(//netapp.volume.statistics.latency_raw.read[{#VOLUMENAME}],#2)) / ( last(//netapp.volume.statistics.iops_raw.read[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.read[{#VOLUMENAME}],#2) + (last(//netapp.volume.statistics.iops_raw.read[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.read[{#VOLUMENAME}],#2) = 0)) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for read I/O operations.' tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: ff804a090b064bfeb60183d7d7d2abe1 name: '{#VOLUMENAME}: Volume latency, total' type: CALCULATED key: 'netapp.volume.statistics.latency.total[{#VOLUMENAME}]' history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.volume.statistics.latency_raw.total[{#VOLUMENAME}]) - last(//netapp.volume.statistics.latency_raw.total[{#VOLUMENAME}],#2)) / ( last(//netapp.volume.statistics.iops_raw.total[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.total[{#VOLUMENAME}],#2) + (last(//netapp.volume.statistics.iops_raw.total[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.total[{#VOLUMENAME}],#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric aggregated over all types of I/O operations.' tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: eb2b3a3c4807415a8a88d11b19ae7fe6 name: '{#VOLUMENAME}: Volume latency, write' type: CALCULATED key: 'netapp.volume.statistics.latency.write[{#VOLUMENAME}]' history: 7d value_type: FLOAT units: '!ms' params: | (last(//netapp.volume.statistics.latency_raw.write[{#VOLUMENAME}]) - last(//netapp.volume.statistics.latency_raw.write[{#VOLUMENAME}],#2)) / ( last(//netapp.volume.statistics.iops_raw.write[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.write[{#VOLUMENAME}],#2) + (last(//netapp.volume.statistics.iops_raw.write[{#VOLUMENAME}]) - last(//netapp.volume.statistics.iops_raw.write[{#VOLUMENAME}],#2) = 0) ) * 0.001 description: 'The average latency per I/O operation in milliseconds observed at the storage object. Performance metric for write I/O operations.' tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 4fdf1c23cad2453aa00710289fde1460 name: '{#VOLUMENAME}: Volume latency raw, other' type: DEPENDENT key: 'netapp.volume.statistics.latency_raw.other[{#VOLUMENAME}]' delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.latency_raw.other.first()' master_item: key: netapp.volumes.get tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 0923b8b2933e4b309a4b751eea06353a name: '{#VOLUMENAME}: Volume latency raw, read' type: DEPENDENT key: 'netapp.volume.statistics.latency_raw.read[{#VOLUMENAME}]' delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.latency_raw.read.first()' master_item: key: netapp.volumes.get tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 48479110a92b4b3094e72882ec9d4812 name: '{#VOLUMENAME}: Volume latency raw, total' type: DEPENDENT key: 'netapp.volume.statistics.latency_raw.total[{#VOLUMENAME}]' delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.latency_raw.total.first()' master_item: key: netapp.volumes.get tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: a6c653c4a6164de9971b22e7a28c40d9 name: '{#VOLUMENAME}: Volume latency raw, write' type: DEPENDENT key: 'netapp.volume.statistics.latency_raw.write[{#VOLUMENAME}]' delay: '0' history: 7d units: '!mcs' description: 'The raw latency in microseconds observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.latency_raw.write.first()' master_item: key: netapp.volumes.get tags: - tag: component value: latency - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: f23b393e033a4285b7f5b8742b0be669 name: '{#VOLUMENAME}: Volume throughput, other rate' type: DEPENDENT key: 'netapp.volume.statistics.throughput.other.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for other I/O operations. Other I/O operations can be metadata operations, such as directory lookups and so on.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.throughput_raw.other.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: throughput - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: fcbef2bcc3004ba6b1f122f00419fc2c name: '{#VOLUMENAME}: Volume throughput, read rate' type: DEPENDENT key: 'netapp.volume.statistics.throughput.read.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for read I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.throughput_raw.read.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: throughput - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 9218d4e861244353bc779fc2dfd561b9 name: '{#VOLUMENAME}: Volume throughput, total rate' type: DEPENDENT key: 'netapp.volume.statistics.throughput.total.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric aggregated over all types of I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.throughput_raw.total.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: throughput - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 9d1cf308b4de4b88a632eee0b5a90267 name: '{#VOLUMENAME}: Volume throughput, write rate' type: DEPENDENT key: 'netapp.volume.statistics.throughput.write.rate[{#VOLUMENAME}]' delay: '0' history: 7d value_type: FLOAT units: Bps description: 'Throughput bytes observed at the storage object. Performance metric for write I/O operations.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].statistics.throughput_raw.write.first()' - type: CHANGE_PER_SECOND parameters: - '' master_item: key: netapp.volumes.get tags: - tag: component value: throughput - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 1b48c3ecd33f4acd88b57f5c76c2892c name: '{#VOLUMENAME}: SVM name' type: DEPENDENT key: 'netapp.volume.svm_name[{#VOLUMENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: 'The volume belongs this SVM.' preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].svm.name.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' - uuid: 540405e59a93446cbbe71b05206a50be name: '{#VOLUMENAME}: Type' type: DEPENDENT key: 'netapp.volume.type[{#VOLUMENAME}]' delay: '0' history: 7d trends: '0' value_type: CHAR description: | Type of the volume. rw - read-write volume. dp - data-protection volume. ls - load-sharing dp volume. preprocessing: - type: JSONPATH parameters: - '$.records[?(@.name==''{#VOLUMENAME}'')].type.first()' - type: DISCARD_UNCHANGED_HEARTBEAT parameters: - 6h master_item: key: netapp.volumes.get tags: - tag: component value: volume - tag: volume value: '{#VOLUMENAME}' graph_prototypes: - uuid: 5f9bc8697c9c4e22ab55781366fbb9c4 name: '{#VOLUMENAME}: Volume latency' graph_items: - color: 1A7C11 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.statistics.latency.other[{#VOLUMENAME}]' - sortorder: '1' color: 2774A4 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.statistics.latency.read[{#VOLUMENAME}]' - sortorder: '2' color: F63100 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.statistics.latency.write[{#VOLUMENAME}]' - sortorder: '3' color: A54F10 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.statistics.latency.total[{#VOLUMENAME}]' - uuid: 2d38bfca52f14cd1a16eafef531c2a05 name: '{#VOLUMENAME}: Volume size' graph_items: - color: 1A7C11 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.space_used[{#VOLUMENAME}]' - sortorder: '1' color: 2774A4 item: host: 'NetApp AFF A700 by HTTP' key: 'netapp.volume.space_available[{#VOLUMENAME}]' timeout: '{$HTTP.AGENT.TIMEOUT}' url: '{$URL}/api/storage/volumes?fields=name' preprocessing: - type: JAVASCRIPT parameters: - | var result = []; JSON.parse(value).records.forEach(function (volume) { result.push({"{#VOLUMENAME}": volume.name}); }); return JSON.stringify(result); tags: - tag: class value: network - tag: target value: netapp - tag: target value: netapp-aff-a700 macros: - macro: '{$HTTP.AGENT.TIMEOUT}' value: 3s description: 'The HTTP agent timeout to wait for a response from AFF700.' - macro: '{$PASSWORD}' description: 'AFF700 user password.' - macro: '{$URL}' description: 'AFF700 cluster URL address.' - macro: '{$USERNAME}' description: 'AFF700 user name.' graphs: - uuid: 840b4c30198c48e1b161d1b2deee26c8 name: 'Cluster IOPS' graph_items: - color: 1A7C11 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.iops.other.rate - sortorder: '1' color: 2774A4 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.iops.read.rate - sortorder: '2' color: F63100 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.iops.write.rate - sortorder: '3' color: A54F10 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.iops.total.rate - uuid: 34c781f1f9e944ca8010118483470ad9 name: 'Cluster latency' graph_items: - color: 1A7C11 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.latency.other - sortorder: '1' color: 2774A4 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.latency.read - sortorder: '2' color: F63100 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.latency.write - sortorder: '3' color: A54F10 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.latency.total - uuid: 8754fe099580424b84a4b51031a09fa1 name: 'Cluster throughput' graph_items: - color: 1A7C11 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.throughput.other.rate - sortorder: '1' color: 2774A4 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.throughput.read.rate - sortorder: '2' color: F63100 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.throughput.write.rate - sortorder: '3' color: A54F10 item: host: 'NetApp AFF A700 by HTTP' key: netapp.cluster.statistics.throughput.total.rate