Introduction
To create an access point for BVQ, you must create users on your various systems.
As an example: If you have 3 NetApp clusters, you have to create an user on every cluster,
the same workflow goes for every other system.
Using that specific new user on your system, you have to create a BVQ Scanner on your BVQ Server.
The BVQ Scanner will connect to the system, to collect data.
Procedure
The initial setup can be divided into 7 subsequent stages:
- Create users on your systems, with which BVQ is able to collect data
- Installation wizard which guides you through the setup
- Maintenance page where BVQ is checking the environment and its own files
- Initial Configuration helps you to create your first scanner and therefore enables BVQ to receive the first data
- Quick Tour explains the features of the BVQ webpage
- Grafana data sources must be adjusted after each implementation of a new HTTPS certificate
- BVQ GUI is an extensive tool, with which you are able to have direct access to your data
Brocade
Cisco
IBM SVC
NetApp
EMC Unity
PowerVM
AIX
VMware
Kubernetes
FOS REST API function calls are permitted or denied based on user privilege configurations determined by the role-based access control (RBAC) functionality in Fabric OS. Brocade REST API is supported on SAN switches running Fabric OS 8.2.1 and later but we recommend to use FOS 9 and higher. All switches running earlier versions cannot be monitored by BVQ! (see Supported Brocade systems). For switches running FOS 9, the user needs at least the permissions of the default role basicswitchadmin. Depending on the specific FOS level, the following user has to be added on each and every switch you want to scan: It is also an essential requirement to increase the number of allowed REST sessions to 10 on each switch in the fabric. This adjustment is a necessary step to ensure efficient operation. Unlike BVQ versions prior to 2023.H1 where Brocade scanner configurations had to be configured for each virtual fabric, now only one scanner configuration per SAN is required. All switches that belong to the same fabric or are reachable by any virtual fabric on one of those switches will be detected and configured in a single scanner configuration. The switch IP used to discover the SAN must be one that has virtual fabrics feature in enabled - unless none of the switches in the fabric support this feature or have it enabled. Switches in access gateway mode are not part of the fabric, and hence, have to be added to the configuration manually. BVQ scanner configurations need the following input: SSL / HTTPS certificate handling If you want to enable the BVQ Scanner Switch Check SSL certificate, you need to install a non-self-signed certificate on the switch. Note: If switches or virtual fabrics are added to or removed from the SAN, the scanner configuration needs to be adjusted manually. Edit the scanner configuration and select "Discover switches" to rediscover the SAN. BVQ collects topology and performance data from Cisco MDS switches using the Cisco MDS NX-API. This feature needs to be enabled on all Cisco MDS switches that should be monitored by BVQ. The following user has to be added on each and every switch you want to scan: For the communication of the BVQ SVC Scanner with the SVC CLI a user account on each SVC is mandatory, which should be at least member of the group 'Monitor'. A user is required for the operation of the BVQ Scanner, which should at least have readonly Role permissions on the ONTAP Cluster. Please create this user before the configuration of the BVQ Scanner. We recommend the name: bvq A user is required for the operation of the BVQ Scanner, who should at least have Operator Role permissions. BVQ scanners need the following information to be configured for each Dell EMC Unity System: A user is required for the operation of the BVQ PowerVM Scanner who should at least have read-only (hmcviewer) access to the HMC. BVQ can only collect performance statistics if "Data Collection" on the managed systems and LPARs is enabled. To configure a PowerVM scanner in BVQ the following information is required: Up to BVQ 2022.H2: Typically, two redundant HMCs manage the same IBM Power systems. Please ensure that only one scanner is created for one of the HMCs to avoid duplication in BVQ. AIX and Linux are the first BVQ platforms where data is not pulled from the systems by the BVQ scanner. Instead, data is sent (pushed) from the OS on the LPARs to the BVQ Server by an BVQ OS Agent using SCP. This means, an ssh-server on the BVQ Server is receiving data from the OS instances. Once an AIX or Linux BVQ Scanner is configured, the ssh-server is being started and listening on port 2222. Important Please ensure that port 2222 is not blocked by a firewall! To configure an AIX or Linux BVQ scanner the following information is required: The BVQ Agent for AIX or Linux RPM installation package is automatically generated once a new BVQ AIX or Linux scanner configuration is being created in the BVQ WebUI. After the "Save"-button is pressed, the RPM package is automatically generated and can be downloaded directly. Further installation instructions can be found in the scanner configuration page or the readme included in the RPM download package. OS User requirements Alternatively, the BVQ AIX agent can be rolled out automatically to many systems using an AIX NIM server. The download package for AIX includes a script that helps configuring the NIM server. Important! It is essential that BVQ Server and AIX/Linux clocks are in sync. Please ensure that NTP is configured and active on all monitored systems and the BVQ Server! The OS Agent cannot be installed or upgraded as long as NTP is not configured! A user is required for the operation of the BVQ VMware Scanner, who should at least have read-only access to the VMware vCenter system. The read-only permission for the user must be defined at the vCenter level. Permissions in a lower level (e.g. Datacenter, Cluster, ...) will lead to scan errors. Go to user roles Duplicate (1) the read-only role and store it as BVQ-Read-only (2) and add the following privileges (3) Create the bvq user with the role "BVQ-read-only" Add the user to the vCenter Level 2 is sufficient for standard VMware BVQ scanners need the following information to be configured for each vCenter system: For BVQ Servers which are gathering information from NetApps and vCenters, the correct DNS configuration is important. This is required to match the DNS-Name of the NFS Datastores to the corresponding IP Adresses of the NFS file shares on NetApp systems. Kubernetes (k8s) clusters are scanned via 2 different methods: To gain access to the k8s API server the following preparations must be made: Create a ClusterRoleBinding to bind the ServiceAccount to the ClusterRole Create a CustomResourceDefinition (CRD) to set up a k8s cluster as master grouping object (MGO) definition for BVQ Create a MasterGroupingObject instance (binded to the CRD) for the k8s cluster Create a ClusterRole to get read-only (get, list, watch) access to the k8s cluster Create a ServiceAccount for authentication Create a ClusterRoleBinding to bind the ServiceAccount to the ClusterRole To get performance and topology data a custom bvq-prometheus stack must be deployed in the k8s cluster via helm. This helm chart will install a bvq-prometheus server as a deployment with a 8GB persistent volume (configurable via See Execute the following steps to deploy the bvq-prometheus helm chart to the k8s cluster: Install the helm chart via Check the installation with BVQ scanners need the following information to be configured for each k8s cluster: For BVQ Servers which are gathering information from Kubernetes clusters, the correct DNS configuration is important.
Implementing the following changes to your Brocade switches will not interrupt system operation or compromise performance.
Rest assured, these adjustments can be safely applied even on your running productive system.Brocade SAN Switch User
For switches running FOS 8.2.x, the user needs at least the permissions of the default role admin.
For all versions, there is no support for default switch role user, because it has no permission to observe the RBAC class configure, that BVQ needs to gather information about the switch configuration.FOS 9.x:
userconfig --add bvq -r basicswitchadmin -c basicswitchadmin -l 1-128 -h 128 -d "BVQ Scanner User" -p ChangeMeP@ssw0rd
passwd bvq
> <final_password>
FOS 8.2.x:
userconfig --add bvq -r admin -c admin -l 1-128 -h 128 -d "BVQ Scanner User" -p ChangeMeP@ssw0rd
passwd bvq
> <final_password>
FOS 9.x:
userconfig --add bvq -r basicswitchadmin -d "BVQ Scanner User" -p ChangeMeP@ssw0rd
passwd bvq
> <final_password>
FOS 8.2.x:
userconfig --add bvq -r admin -d "BVQ Scanner User" -p ChangeMeP@ssw0rd
passwd bvq
> <final_password>
Increase Rest sessions
mgmtapp --config -maxrestsession 10
mgmtapp --show
REST Configuration:
Interface State: Enabled
Effective Protocol: HTTPS only
HTTP State: Enabled
Session Count: 10
Throttling Configurations:
Sample Requests : 120
Sample Time (in sec) : 30
Idle Time (in sec) : 3
Gather information for BVQ Scanner configuration
seccertmgmt show -cert https
BVQ 2022.H2.1 and higher
switch# show feature
Feature Name Instance State
-------------------- -------- -----
...
nxapi 1 disabled
...
switch# conf t
switch(config)# feature nxapi
switch# show feature
Feature Name Instance State
-------------------- -------- -----
...
nxapi 1 enabled
...
Cisco SAN Switch User
cisco-BVQ-1# config terminal
Enter configuration commands, one per line. End with CNTL/Z.
cisco-BVQ-1(config)# role name bvq-role
cisco-BVQ-1(config-role)# description Monitoring role for BVQ
cisco-BVQ-1(config-role)# rule 1 permit show
cisco-BVQ-1(config-role)# exit
cisco-BVQ-1(config)# role show
cisco-BVQ-1(config)# show role
Role: bvq-role
Description: Monitoring role for BVQ
Vsan policy: permit (default)
-------------------------------------------------
Rule Type Command-type Feature
-------------------------------------------------
1 permit show *
cisco-BVQ-1(config)# username bvq-user password P@ssw0rd role bvq-role
cisco-BVQ-1(config)# exit
cisco-BVQ-1# show user-account
user:bvq-user
this user account has no expiry date
roles:bvq-role
config terminal
role name bvq-role
description Monitoring role for BVQ
rule 1 permit show
exit
username bvq-user password P@ssw0rd role bvq-role
exit
System preparation steps
Create a BVQ user on the system
Check NTP, time and time zone
Check performance statistics interval
sec login create -user-or-group-name bvq -application http -authentication-method password -role readonly
sec login create -user-or-group-name bvq -application ontapi -authentication-method password -role readonly
Please create this user at your Unity System before the configuration of the BVQ Scanner. We recommend to name the user: bvq
Gather information for BVQ Scanner configuration
Please create this user before configuring the BVQ Scanner. We recommend to name the user "bvq"
Please open the user properties dialogue and select "Allow remote access via the web"
Add User dialogue User Properties dialogue Enable performance data collection
BVQ Scanner configuration
Starting with BVQ 2023.H1: Redundant HMCs managing the same systems must be configured in the same PowerVM scanner. Otherwise, the managed systems will appear twice in BVQ. Define the most powerful HMC first, because the order of HMCs determines the order in which they are scanned by BVQ. Additional HMCs managing other systems should be configured in an additional PowerVM scanner.
BVQ Scanner configuration
OS Agent installation
OS user group Restrictions AIX root system none AIX other system No stats for FC adapters AIX other staff No stats for FC adapters and LV, VG objects Linux root root none (other uid / gid not supported) Please create this user before configuring the BVQ Scanner. We recommend to name the user: bvq
Create or select the right user role
Datastore - browse datastore
Profile driven storage - view
Storage views - viewCreate the BVQ User for the vCenter
create it as vsphere.local or as AD user - please remember to add it correctly into the scanner dialog later
Add the user to the vCenter (4) and do not forget to define it for all childrenAdd the right vCenter Statistics
Level 3 should be used for VSANsGather information for BVQ Scanner configuration
Preparation for the BVQ Server
Make sure that the BVQ Server, NetApp systems and vCenters are in the same domain and have the same DNS server configured. Kubernetes API Server
Use
kubectl apply -f
to create the expected objects. You can edit & use the all in one preparation YAML file to set up all requirements in one step.
(make sure all 5 objects are created properly - sometimes MasterGroupingObject creation fails due to the delayed creation of the CustomResourceDefinition)CustomResourceDefinition
MasterGroupingObject
Edit/adjust the values for
clusterName, customer, location, dc, contact, email
& phone
to the required information IMPORTANT:
clusterName
will represent the name of the k8s cluster within BVQ, so choose a meaningful name (example would be: Prod-Cluster-01)ClusterRole
Read only permissions (get, list, watch) are required
apiGroups
may be applied via a wildcard ('*') to get access to all api groups, otherwise apiGroups given in the example must be setServiceAccount
The Token created for this ServiceAccount is needed to set up a BVQ scanner config for the k8s cluster
namespace
may be adjusted to another kubernetes namespace. Remember to edit the namspace
set in the ClusterRoleBinding IMPORTANT: With k8s version 1.24 the
LegacyServiceAccountTokenNoAutoGeneration
feature gate is beta, and enabled by default (see here). Use this guide to create a non-expiring token (recommended)ClusterRoleBinding
BVQ Prometheus Server
values.yaml
) and bvq-prometheus-node-erxprters as a DaemonSet (helm dependency).values.yaml
and other configuration files in the bvq-prometheus-helm.zip file for further information about the bvq-prometheus configuration.kubectl create namespace bvq-prometheus
prometheus.ingress.hosts
in values.yaml
to set a proper ingress.helm dependency build / helm dependency update
helm install -n bvq-prometheus -f values.yaml bvq-prometheus ./
kubectl get pods -n bvq-prometheus
- A pod called bvq-prometheus-* and a set of bvq-prometheus-bvq-node-exporter-* pods should be in running stateGather information for BVQ Scanner configuration
Preparation for the BVQ Server
Make sure that the BVQ Server & Kubernetes clusters are in the same domain and have the same DNS server configured.