Unified Assurance Netapp Poller Microservice
Overview
The Unified Assurance Netapp Poller microservice is a microservice designed to poll metrics from the Netapp ONTAP REST API.
Prerequisites
-
A microservices cluster must be setup. Refer to Microservice Cluster Setup.
-
Apache Pulsar must be installed. Refer to Apache Pulsar microservice.
-
Metric-sink or alternative sink must be installed. Refer to Metric Sink microservice.
Setup
su - assure1
export NAMESPACE=a1-zone1-pri
export WEBFQDN=<Primary Presentation Web FQDN>
Secret
The Netapp Poller is expecting to read a secret file which contains the password for the API, and is stored as a BASE64 obfuscated text file. The secret name has to be netapp-secret
, and within that secret you can store multiple password files with different custom names. By default, the poller will be looking for a netapp.secret
file. You can specify which secret file is read by setting the from-file
variable. To create a default secret for the Netapp Poller, create a plain text file on the system called netapp.secret
and place the BASE64 encoded API password there.
Run the following command as the assure1 user to create a default Netapp secret:
a1k create secret generic netapp-secret --from-file=netapp.secret -n $NAMESPACE
If you wish to create another secret with a different password for another instance, create a BASE64 encoded password file with a custom name (i.e custom.secret) and run the same command as assure1 user replacing the file name:
a1k create secret generic netapp-secret --from-file=custom.secret -n $NAMESPACE
Polling
The Netapp Poller supports polling of multiple Netapp instances. You can specify the polling target during installation by setting the TARGET_HOST
and TARGET_USER
variables and a SECRET
variable if it's different than the default (netapp.secret). To install the microservice with the default settings against a single instance, add the default secret (netapp.secret) following the steps from the previous point, and run the following command as assure1 user.
Note:
A secret is not passed here, by default it will look for netapp.secret file.
a1helm install netapp-poller assure1/netapp-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set configData.TARGET_HOST=$HOST --set configData.TARGET_USER=$USER
Where variables are:
-
$NAMESPACE - Namespace in which you want to install microservice
-
$WEBFQDN - FQDN of the server containing image registry
-
$HOST - Address of Netapp API
-
$USER - Netapp API User with rights to access performance counters endpoints
If you wish to add pollers for additional instances, add a secret for each new instance with a different name than default, then install the microservice instance with the new values. Please note that if you want to use more than one instance of the microservice, it is a good practice to name it manually during installation for easier tracking. Otherwise, the microservice name will be appended with a random hash suffix. Below is an example of installing additional poller where $HOST_INSTANCE_0
and $USER_INSTANCE_0
should hold credentials for that target instance.
Note:
The SECRET variable is specified here to point to our custom secret for the new instance.
a1helm install netapp-poller-custom-instance-0 assure1/netapp-poller -n $NAMESPACE --set global.imageRegistry=$WEBFQDN --set configData.TARGET_HOST=$HOST_INSTANCE_0 --set configData.TARGET_USER=$USER_INSTANCE_0 --set configData.SECRET=custom.secret
Default Configuration
Name | Value | Possible Values | Notes |
---|---|---|---|
LOG_LEVEL | INFO | FATAL, ERROR, WARN, INFO, DEBUG | Logging level used by application. |
STREAM_OUTPUT | persistent://assure1/metric/sink | Text, 255 characters | Allows redirecting stream output to different topic. |
TARGET_USER | Text, 255 characters | Netapp API User. | |
TARGET_HOST | Text, 255 characters | Netapp API address. | |
SECRET_NAME | netapp.secret | Text, 255 characters | Name of the secret to read from. |
POLL_INTERVAL_S | 300 | Integer | Polling interval in seconds. |
METRICS_V5_MODE | false | true, false | Enables legacy compatibility mode (Metrics will be visible in v5 UI). |
DEVICE_ZONE_ID | 1 | Text, 255 characters | The poller will only poll devices that are in the specific zone. |
Configurations can be changed by passing the values to the a1helm install
prefixed with the configData parent key.
Example of setting the log level to DEBUG
a1helm install ... --set configData.LOG_LEVEL=DEBUG