NetApp offers a unified data storage system. NetApp’s ONTAP operating system supports a combination of file, block, and object protocols. We can use common storage (disk array), such as NetApp AFF or FAS, and operate it as file, object, and block storage. On an existing ONTAP cluster, we can enable ONTAP S3 and utilize S3 features without any additional costs.
In NetApp, data is stored as objects, where each object contains the actual data, metadata, and a unique identifier. With high and simple scalability, it’s ideal for storing enormous amounts of unstructured data. It’s also accessed through an API, which can be used by both users and applications. Some key points:
Object storage is a system for storing and managing data that treats information as objects instead of traditional files or blocks. Each object contains, besides its own data (files), a unique identifier (key) and metadata describing its content and properties. Objects are organized into buckets.
There is no set format for the content of stored data. We can store various data types (such as documents, videos, and backups) efficiently and securely. It’s suitable for large volumes of unstructured data. The main attributes of object storage are high scalability and security, as well as maximum durability and availability with the possibility of geographical replication.
To access object storage, an API is used, typically accessible via the HTTP protocol. Different vendors may have different API implementations that may not be compatible with other systems. Many providers support the de facto standard Amazon S3 REST API. We then speak of S3-compatible object storage.

S3 object storage has been supported since ONTAP 9.8. As with other protocols (FC, iSCSI, NFS, SMB, NVMe_oF), a license is required for S3, but it’s provided at no cost. ONTAP from version 9.12.1 supports S3 multiprotocol support, where data can be accessed via the S3 protocol and NFS and SMB protocols.
ONTAP uses Storage VM (SVM) that enables the S3 access protocol and creates an Object Store Server. Each SVM has its own namespace. When creating a data SVM, a root volume is created. The S3 Object Store Server manages data as S3 objects, unlike file or block storage provided by ONTAP NAS and SAN servers.
The basic architecture for a bucket in ONTAP is a FlexGroup Volume, which can span across different aggregates and cluster nodes. A common location for storing data is a Flexible Volume (FlexVol), which is located within an aggregate (Tier).

As I said above, NetApp’s S3 Buckets can be monitored over the NetApp ONTAP REST API. I recently wrote a plugin check_netapp_api_s3_buckets.pl, which you can use to monitor your S3 Buckets. Using the –help parameter will give you all the info you need to use it.
# ./check_netapp_api_s3_buckets.pl --help
NAME
check_netapp_api_s3_buckets - Check S3 Buckets Space Usage
SYNOPSIS
check_netapp_api_s3_buckets.pl -H HOSTNAME -u USERNAME -p PASSWORD [-w PERCENT_WARNING] [-v|--verbose] [-c PERCENT_CRITICAL]
[--perf|-f] [-r|--regex] [-i|--include <string>] [-e|--exclude <string>]
DESCRIPTION
Checks the S3 Buckets Storage usage. You have the possibility to define include or/and exclude string/regexp on the
Bucket-Name. Thresholds are only checked if you define them.
OPTIONS
-H | --hostname FQDN
The Hostname of the NetApp to monitor (Cluster or Node MGMT)
-u | --username USERNAME
The Login Username of the NetApp to monitor
-p | --password PASSWORD
The Login Password of the NetApp to monitor
-w | --warning PERCENT_WARNING
The Warning threshold
-c | --critical PERCENT_CRITICAL
The Critical threshold
-f | --perf
Flag for performance data output
-e | --exclude
Optional: The name of bucket that has to be excluded from the checks (multiple exclude item for multiple buckets)
-i | --include
Optional: The name of bucket that has to be included from the checks (multiple include item for multiple buckets)
-r | --regex
Optional: aggregate name is a regex
-h | --help
-? to see this Documentation
EXIT CODE
3 on Unknown Error 2 if Critical Threshold has been reached 1 if Warning Threshold has been reached 0 if everything is ok
AUTHORS
Juergen Vigna <juergen.vigna@wuerth-phoenix.net>
Hopefully this plugin will help you gain more control over you S3 Buckets in the future.
Did you find this article interesting? Does it match your skill set? Our customers often present us with problems that need customized solutions. In fact, we’re currently hiring for roles just like this and others here at Würth IT Italy.