HyperIQ
HyperIQ Installation
HyperIQ is available in two forms:
- Virtual Appliance installed on VMWare or VirtualBox
- Containerized Application installed on Docker
Note
As we want HyperIQ to monitor HyperBalance (as well as monitoring your HyperStore system), before installing HyperIQ you must enable the Prometheus exporter on each of your HyperBalance nodes. On each HyperBalance node, log into the HyperBalance UI, go to Cluster Configuration -> Layer 7 -- Advanced Configuration and then check the "Enable Prometheus Exporter" checkbox.
Install Docker
Instructions
- Log-in to your node6 (unused node)
- Install Docker and Docker-compose
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh yum install docker-compose systemctl start docker
Install HyperIQ
Instructions
- Log-in to the Host Server via SSH if you have not already
- Run the following command to allow Docker containers on different networks to communicate with each other:
iptables -I DOCKER-USER -j ACCEPT
- Download the HyperIQ Binary
wget --user=admin --password=cloudian123 http://10.150.1.252:8080/images/HyperIQ_1.9.1.bin
- Make the binary executable
chmod +x HyperIQ_1.9.1.bin
- Run the binary with the install option and type 'yes' to proceed
./HyperIQ_1.9.1.bin install
- When prompted for a unique name, enter
studentX
whereX
is your student numberPlease enter a unique name for this HyperStore custer []: studentX
- When prompted for an IP address of a HyperStore node, enter the IP of your node1 from your HyperStore cluster
Please enter the iP address of a HyperStore node []: <Node1 IP Address>
- When prompted for username, enter the HyperStore Shell username of
sa_admin
- When prompted for the SSH password for user
sa_admin
enter the CMC admin user password - When prompted to add another HyperStore cluster, answer
no
- When prompted for the password for HyperIQ UI, enter
cloudian123
. Confirm your input in the next prompt.Please enter password for HyperIQ UI (minimum 9 characters) []: cloudian123
Explore HyperIQ Dashboard
Instructions
- Open a browser and navigate to "http://< Host Server IP >:3000"
- Log-in as
cloudian_admin
user andcloudian123
password
Info
The following is an overview of the dashboard
Info
To view details about each of the Graphs, hover over the 'i' button on the top left corner of the graph
Instructions
- Navigate to various panels available on the dashboard
HyperIQ Configurations
Instructions
- In the Host Server, navigate to ~/.config/cloudian/hyperiq
cd ~/.config/cloudian/hyperiq
- Run the iqmgr command to show the available options
./iqmgr
Info
If you installed HyperIQ from a virtual appliance, iqmgr
can be ran from any directory
HyperIQ Alerting and Notifications
Alerts are set via iqmgr. For a full list of available configs, refer to the HyperIQ User Guide: https://s3.cloudianhyperstore.com/downloads/HyperIQ/1/1.7/HyperIQ_1.7_HyperIQ_UserGuide_v-1.7.pdf
Instructions
- Ensure you are in the ~/.config/cloudian/hyperiq directory
- Configure an alert to fire when data disk space reaches 10%
./iqmgr config set /alerts/disk/data_disk_outof_space_medium_threshold 10
- Configure an alert to fire when number of total objects in the cluster reaches or exceeds 5
./iqmgr config set /alerts/s3/total_system_objectcount_limit 5
We will also setup Slack notifications
Instructions
- Configure the following Slack parameters using iqmgr
./iqmgr config set /alertmanager/notifications/slack/api_url https://hooks.slack.com/services/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
- Configure the Slack channel name
./iqmgr config set /alertmanager/notifications/slack/channel training-notifications
Info
You must configure your own Slack APP and Webhook URL to use this in your own cluster. The lab API url is connected to the Cloudian Slack channel.
Instructions
- The changes set by iqmgr config set is not applied until you run the following command
./iqmgr config apply
- Send a sample alert to test our Slack integration
./iqmgr alerts test
Info
The Slack API url is sent to an instructor accessible channel. Ask the instructor to show you the outputs
Let's generate some load to trigger the alerts
Instructions
- Create a large file
dd if=/dev/zero of=/tmp/2G bs=1024 count=2048000
- Upload the file to HyperStore
aws s3 --endpoint-url http://$s3_endpoint --profile andrew cp /tmp/2G s3://engineerbucket
Alerts are sent every 5 minutes by default
Alertmanager
Lastly, let's look at the fired alerts we configured in the Alertmanager
Instructions
- On your browser, navigate to http://< Host Server >:3000/alertmanager
- When it prompts for the User / Password, enter cloudian_admin user and cloudian123 as password
- View the active alerts
Instructions
Alertmanager can be useful in silencing an unwanted alert
-
Copy the firing alert name as shown below
-
Click on the Silence button to configure a new silence option
-
On the New Silence page, paste in the alert name you copied into the Matchers field
- Click on the + button next to the Matcher name to add it
-
Put your name under Creator and add a useful Comment
-
Click Create to create the silence
Instructions
- You can navigate to Silences at the top navigation bar to view or edit the Silence options