diff --git a/cmd/tools/generate/counter.yaml b/cmd/tools/generate/counter.yaml
index 345f32710..3e5a24bea 100644
--- a/cmd/tools/generate/counter.yaml
+++ b/cmd/tools/generate/counter.yaml
@@ -1088,6 +1088,12 @@ counters:
- Name: lun_size_used_percent
Description: This metric represents the percentage of a LUN that is currently being used.
+ - Name: lun_size
+ Description: The total provisioned size of the LUN. The LUN size can be increased but not decreased using the REST interface.
The maximum and minimum sizes listed here are the absolute maximum and absolute minimum sizes, in bytes. The actual minimum and maximum sizes vary depending on the ONTAP version, ONTAP platform and the available space in the containing volume and aggregate.
For more information, see _Size properties_ in the _docs_ section of the ONTAP REST API documentation.
+
+ - Name: lun_size_used
+ Description: The amount of space consumed by the main data stream of the LUN.
This value is the total space consumed in the volume by the LUN, including filesystem overhead, but excluding prefix and suffix streams. Due to internal filesystem overhead and the many ways SAN filesystems and applications utilize blocks within a LUN, this value does not necessarily reflect actual consumption/availability from the perspective of the filesystem or application. Without specific knowledge of how the LUN blocks are utilized outside of ONTAP, this property should not be used as an indicator for an out-of-space condition.
For more information, see _Size properties_ in the _docs_ section of the ONTAP REST API documentation.
+
- Name: namespace_size_available
Description: This metric represents the amount of available space in a namespace.
diff --git a/conf/rest/9.12.0/lun.yaml b/conf/rest/9.12.0/lun.yaml
index 94bd8ca9c..11f30e48b 100644
--- a/conf/rest/9.12.0/lun.yaml
+++ b/conf/rest/9.12.0/lun.yaml
@@ -1,18 +1,20 @@
name: Lun
-query: api/storage/luns
+query: api/private/cli/lun
object: lun
counters:
- ^^uuid
- - ^location.node.name => node
- - ^location.qtree.name => qtree
- - ^location.volume.name => volume
- - ^name => path
- - ^status.state => state
- - ^svm.name => svm
- - space.size => size
- - space.used => size_used
+ - ^node => node
+ - ^path => path
+ - ^qtree => qtree
+ - ^serial_hex => serial_hex
+ - ^state => state
+ - ^volume => volume
+ - ^vserver => svm
+ - size => size
+ - size_used => size_used
+
plugins:
- MetricAgent:
@@ -37,4 +39,5 @@ export_options:
- svm
- volume
instance_labels:
+ - serial_hex
- state
diff --git a/docs/ontap-metrics.md b/docs/ontap-metrics.md
index 6e25795e3..935ac690e 100644
--- a/docs/ontap-metrics.md
+++ b/docs/ontap-metrics.md
@@ -7,7 +7,7 @@ These can be generated on demand by running `bin/harvest grafana metrics`. See
- More information about ONTAP REST performance counters can be found [here](https://docs.netapp.com/us-en/ontap-pcmap-9121/index.html).
```
-Creation Date : 2025-Nov-06
+Creation Date : 2025-Nov-21
ONTAP Version: 9.16.1
```
@@ -6765,7 +6765,7 @@ This metric provides information about Lun
| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
-| REST | `api/storage/luns` | `Harvest generated` | conf/rest/9.12.0/lun.yaml |
+| REST | `api/private/cli/lun` | `Harvest generated` | conf/rest/9.12.0/lun.yaml |
| ZAPI | `lun-get-iter` | `Harvest generated` | conf/zapi/cdot/9.8.0/lun.yaml |
The `lun_labels` metric is visualized in the following Grafana dashboards:
@@ -6961,7 +6961,7 @@ The total provisioned size of the LUN. The LUN size can be increased but not dec
| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
-| REST | `api/storage/luns` | `space.size` | conf/rest/9.12.0/lun.yaml |
+| REST | `api/private/cli/lun` | `size` | conf/rest/9.12.0/lun.yaml |
| ZAPI | `lun-get-iter` | `lun-info.size` | conf/zapi/cdot/9.8.0/lun.yaml |
The `lun_size` metric is visualized in the following Grafana dashboards:
@@ -6980,7 +6980,7 @@ The amount of space consumed by the main data stream of the LUN.
This value
| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
-| REST | `api/storage/luns` | `space.used` | conf/rest/9.12.0/lun.yaml |
+| REST | `api/private/cli/lun` | `size_used` | conf/rest/9.12.0/lun.yaml |
| ZAPI | `lun-get-iter` | `lun-info.size-used` | conf/zapi/cdot/9.8.0/lun.yaml |
The `lun_size_used` metric is visualized in the following Grafana dashboards:
@@ -6999,7 +6999,7 @@ This metric represents the percentage of a LUN that is currently being used.
| API | Endpoint | Metric | Template |
|--------|----------|--------|---------|
-| REST | `api/storage/luns` | `size_used, size` | conf/rest/9.12.0/lun.yaml |
+| REST | `api/private/cli/lun` | `size_used, size` | conf/rest/9.12.0/lun.yaml |
| ZAPI | `lun-get-iter` | `size_used, size` | conf/zapi/cdot/9.8.0/lun.yaml |
The `lun_size_used_percent` metric is visualized in the following Grafana dashboards:
@@ -8114,86 +8114,6 @@ The `net_route_labels` metric is visualized in the following Grafana dashboards:
-### netstat_bytes_recvd
-
-Number of bytes received by a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `bytes_recvd`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_bytes_sent
-
-Number of bytes sent by a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `bytes_sent`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_cong_win
-
-Congestion window of a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `cong_win`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_cong_win_th
-
-Congestion window threshold of a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `cong_win_th`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_ooorcv_pkts
-
-Number of out-of-order packets received by this TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `ooorcv_pkts`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_recv_window
-
-Receive window size of a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `recv_window`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_rexmit_pkts
-
-Number of packets retransmitted by this TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `rexmit_pkts`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
-### netstat_send_window
-
-Send window size of a TCP connection
-
-| API | Endpoint | Metric | Template |
-|--------|----------|--------|---------|
-| ZapiPerf | `perf-object-get-instances netstat` | `send_window`
Unit: none
Type: raw
Base: | conf/zapiperf/cdot/9.8.0/netstat.yaml |
-
-
-
### nfs_clients_idle_duration
Specifies an ISO-8601 format of date and time to retrieve the idle time duration in hours, minutes, and seconds format.
@@ -15443,6 +15363,17 @@ The `plex_disk_user_writes` metric is visualized in the following Grafana dashbo
+### poller_concurrent_collectors
+
+Tracks the number of concurrent collectors running.
+
+| API | Endpoint | Metric | Template |
+|--------|----------|--------|---------|
+| REST | `NA` | `Harvest generated`
Unit: bytes | NA |
+| ZAPI | `NA` | `Harvest generated`
Unit: bytes | NA |
+
+
+
### poller_memory
Tracks the memory usage of the poller process, including Resident Set Size (RSS), swap memory, and Virtual Memory Size (VMS).
diff --git a/grafana/dashboards/cmode/lun.json b/grafana/dashboards/cmode/lun.json
index 1c9940fe1..6dc36c10b 100644
--- a/grafana/dashboards/cmode/lun.json
+++ b/grafana/dashboards/cmode/lun.json
@@ -1643,7 +1643,7 @@
},
{
"id": "displayName",
- "value": "status"
+ "value": "Status"
}
]
},
@@ -1887,6 +1887,7 @@
"include": {
"names": [
"node",
+ "serial_hex",
"svm",
"lun",
"Value #A",
@@ -1930,7 +1931,9 @@
"svm": 3,
"volume": 10
},
- "renameByName": {}
+ "renameByName": {
+ "serial_hex": "Serial Hex"
+ }
}
}
],
@@ -4415,5 +4418,5 @@
"timezone": "",
"title": "ONTAP: LUN",
"uid": "cdot-lun",
- "version": 11
+ "version": 12
}
diff --git a/mcp/metadata/ontap_metrics.json b/mcp/metadata/ontap_metrics.json
index 7b50aa804..c494bdeb6 100644
--- a/mcp/metadata/ontap_metrics.json
+++ b/mcp/metadata/ontap_metrics.json
@@ -499,14 +499,6 @@
"net_port_mtu": "Maximum transmission unit, largest packet size on this network",
"net_port_status": "This metric indicates a value of 1 if the port state is up and a value of 0 for any other state.",
"net_route_labels": "This metric provides information about NetRoute",
- "netstat_bytes_recvd": "Number of bytes received by a TCP connection",
- "netstat_bytes_sent": "Number of bytes sent by a TCP connection",
- "netstat_cong_win": "Congestion window of a TCP connection",
- "netstat_cong_win_th": "Congestion window threshold of a TCP connection",
- "netstat_ooorcv_pkts": "Number of out-of-order packets received by this TCP connection",
- "netstat_recv_window": "Receive window size of a TCP connection",
- "netstat_rexmit_pkts": "Number of packets retransmitted by this TCP connection",
- "netstat_send_window": "Send window size of a TCP connection",
"nfs_clients_idle_duration": "Specifies an ISO-8601 format of date and time to retrieve the idle time duration in hours, minutes, and seconds format.",
"nfs_diag_storePool_ByteLockAlloc": "Current number of byte range lock objects allocated.",
"nfs_diag_storePool_ByteLockMax": "Maximum number of byte range lock objects.",
@@ -1007,6 +999,7 @@
"plex_disk_user_write_chain": "Average number of blocks transferred in each user write operation. plex_disk_user_write_chain is [disk_user_write_chain](#disk_user_write_chain) aggregated by `plex`.",
"plex_disk_user_write_latency": "Average latency per block in microseconds for user write operations. plex_disk_user_write_latency is [disk_user_write_latency](#disk_user_write_latency) aggregated by `plex`.",
"plex_disk_user_writes": "Number of disk write operations initiated each second for storing data or metadata associated with user requests. plex_disk_user_writes is [disk_user_writes](#disk_user_writes) aggregated by `plex`.",
+ "poller_concurrent_collectors": "Tracks the number of concurrent collectors running.",
"poller_memory": "Tracks the memory usage of the poller process, including Resident Set Size (RSS), swap memory, and Virtual Memory Size (VMS).",
"poller_memory_percent": "Indicates the percentage of memory used by the poller process relative to the total available memory.",
"poller_status": "Indicates the operational status of the poller process, where 1 means operational and 0 means not operational.",