使用NetApp Harvest进行存储监控(面向Docker版)
首先
在 NetApp Storage 中,监视存储是确保系统稳定性和数据安全性的非常重要的事项,您可以使用以下工具来统一监视和管理它的健康状况和性能。
-
- Active IQ Unified Manager
-
- Cloud Insights
- Harvest
如果存储空间不足,应用程序的性能可能会下降,因此通过监视可以了解是否需要增加存储容量,并且可以预先检测和防止物理损坏和数据损坏等问题。
在本文中,我們將介紹從安裝到收集數據確認的過程,關於通過Docker Compose使用NetApp Harvest。
(關於將OVA部署到VMware的NAbox,在本文中沒有提及)

你想做什么?能吗?
-
- Dockerを利用したNetApp Harvestの導入を行う
-
- 収集されたデータをGUIで確認する
- グループ分けしたONTAPの電気使用量を確認してみる
关于NetApp Harvest
可以使用NetApp提供的免费工具从NetApp存储中收集性能数据,并将收集到的数据发送到诸如Prometheus或InfluxDB等数据库,然后使用Grafana进行可视化。
Harvest本身没有监控或可视化功能,它只进行数据收集以便将其传送到数据库/Grafana中。

如果使用默认配置(收集信息)来监视10个集群,推荐的配置如下所示。
-
- CPU:2コア
-
- メモリ:1GB
- ディスク:500MB(主にログファイルとして使用)
在文章中的环境信息
本文介绍了在以下环境下进行的实施内容。
-
- 監視先としてのONTAPを複数登録(DC-01, 02の2つのグループに分けている)
-
- Linux上にDockerを入れて、各役割(データ収集、Database、可視化)をコンテナとして展開
Linuxにはuser01というユーザを追加して、操作はuser01で実行
操作系统(OS)和模块的构成如下所示。
-
- Rocky Linux : 9.1
-
- Docker : 23.0.2
-
- Docker Compose : 2.17.2
- Netnet Harvest : 23.02

設定步驟
在这个示例中,我们在新构建的Linux系统上执行了包括Docker安装在内的步骤。
1. Docker的安装
为了在Rocky Linux上利用容器来构建Harvest,在Docker的安装和配置方面进行操作。
首先,执行添加和确认仓库的步骤。
> sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
repo の追加: https://download.docker.com/linux/centos/docker-ce.repo
> dnf repolistdnf repolist
repo id repo の名前
appstream Rocky Linux 9 - AppStream
baseos Rocky Linux 9 - BaseOS
docker-ce-stable Docker CE Stable - x86_64
extras Rocky Linux 9 - Extras
我们来安装Docker并检查版本。
> sudo dnf install docker-ce docker-ce-cli containerd.io docker-compose-plugin
メタデータの期限切れの最終確認: 0:00:17 時間前の 2023年04月17日 07時21分09秒 に実施しました。
依存関係が解決しました。
=====================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
=====================================================================================================================================
インストール:
containerd.io x86_64 1.6.20-3.1.el9 docker-ce-stable 33 M
置き換え runc.x86_64 4:1.1.4-1.el9_1
docker-ce x86_64 3:23.0.2-1.el9 docker-ce-stable 23 M
docker-ce-cli x86_64 1:23.0.2-1.el9 docker-ce-stable 7.1 M
docker-compose-plugin x86_64 2.17.2-1.el9 docker-ce-stable 11 M
依存関係のインストール:
docker-ce-rootless-extras x86_64 23.0.2-1.el9 docker-ce-stable 3.8 M
弱い依存関係のインストール:
docker-buildx-plugin x86_64 0.10.4-1.el9 docker-ce-stable 12 M
docker-scan-plugin x86_64 0.23.0-3.el9 docker-ce-stable 3.8 M
トランザクションの概要
=====================================================================================================================================
インストール 7 パッケージ
ダウンロードサイズの合計: 93 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(中略)
インストール済み:
containerd.io-1.6.20-3.1.el9.x86_64 docker-buildx-plugin-0.10.4-1.el9.x86_64 docker-ce-3:23.0.2-1.el9.x86_64
docker-ce-cli-1:23.0.2-1.el9.x86_64 docker-ce-rootless-extras-23.0.2-1.el9.x86_64 docker-compose-plugin-2.17.2-1.el9.x86_64
docker-scan-plugin-0.23.0-3.el9.x86_64
完了しました! Rocky Linux 9 - Extras
> docker -vdocker -v
Docker version 23.0.2, build 569dd73
启用Docker服务的自动启动并启动Docker。
> sudo systemctl enable docker
Created symlink /etc/systemd/system/multi-user.target.wants/docker.service → /usr/lib/systemd/system/docker.service.
> sudo systemctl start docker
我会将用户01添加到docker组,并确认他能够执行Docker。
> sudo usermod -aG docker user01
> newgrp docker
> id $USER
uid=1000(user01) gid=1000(user01) groups=1000(user01),10(wheel),977(docker)
2. 引入Docker Compose
將引入Docker Compose,一個可以有效操作多個容器的工具。
> curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-linux-x86_64 | cut -d '"' -f 4 | wget -qi -
进行权限设置,并将位置移动到命令搜索路径中的目录。
然后使用docker-compose命令检查版本,并确认路径已设置正确。
> sudo chmod +x docker-compose-linux-x86_64
> sudo mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
> docker-compose version
Docker Compose version v2.17.2
3. 进行NetApp Harvest的安装和创建配置文件。
下载最新的NetApp Harvest(目前版本为v23.02.0)。
> wget https://github.com/NetApp/harvest/releases/download/v23.02.0/harvest-23.02.0-1_linux_amd64.tar.gz
github.com (github.com) をDNSに問いあわせています... 20.205.243.166
github.com (github.com)|20.205.243.166|:443 に接続しています... 接続しました。
(中略)
2023-04-17 07:31:42 (11.0 MB/s) - `harvest-23.02.0-1_linux_amd64.tar.gz' へ保存完了 [74170698/74170698]
将下载的文件解压并移动。
> tar -xvf harvest-23.02.0-1_linux_amd64.tar.gz
harvest-23.02.0-1_linux_amd64/
harvest-23.02.0-1_linux_amd64/docker/
(中略)
harvest-23.02.0-1_linux_amd64/bin/harvest
harvest-23.02.0-1_linux_amd64/bin/rest
> cd harvest-23.02.0-1_linux_amd64
> ls
LICENSE README.md bin cmd docker go.mod grafana harvest.yml prom-stack.tmpl
Makefile autosupport cert conf docs go.sum harvest.cue pkg service
为了注册被监视的ONTAP,我们需要创建一个harvest.yml文件。
在Pollers部分,我们需要填写ONTAP集群的信息。
在这个例子中,我们分别注册了三个ONTAP集群管理LIF,并将它们分为两个组(DC-01和DC-02)。
XXXXXXX部分是根据注册目标需要填写的帐户信息。
另外,在ONTAP 9.12以下的集群中,建议使用ZAPI收集器。
> cat harvest.yml
Exporters:
prometheus1:
exporter: Prometheus
addr: 0.0.0.0
port_range: 2000-2030
Defaults:
collectors:
- Zapi
- ZapiPerf
use_insecure_tls: true
exporters:
- prometheus1
Pollers:
cluster-01:
datacenter: DC-01
addr: 192.168.123.123
auth_style: basic_auth
username: admin
password: XXXXXXX
cluster-02:
datacenter: DC-02
addr: 192.168.123.46
auth_style: basic_auth
username: test01
password: XXXXXXX
cluster-03:
datacenter: DC-02
addr: 192.168.123.47
auth_style: basic_auth
username: test03
password: XXXXXXX
4. 生成Docker Compose文件并批量创建启动容器
从创建的harvest.yml生成Docker compose的文件。
> pwd
/home/user01/harvest-23.02.0-1_linux_amd64
> bin/harvest generate docker full --port --output harvest-compose.yml
Wrote file_sd targets to docker/prometheus/harvest_targets.yml
Start containers with:
docker-compose -f prom-stack.yml -f harvest-compose.yml up -d --remove-orphans
执行容器启动。
(启动后,使用docker ps命令进行确认。)
> docker-compose -f prom-stack.yml -f harvest-compose.yml up -d --remove-orphans
[+] Running 0/0
? Network harvest-23020-1_linux_amd64_backend Creating 0.1s
(中略)
? Container prometheus Started 2.5s
? Container poller-cluster-02 Started 2.8s
? Container poller-cluster-03 Started 2.6s
? Container poller-cluster-01 Started 2.5s
? Container grafana Started 5.1s
#コンテナの確認
> docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4e4c40607daa grafana/grafana:8.3.4 "/run.sh" 2 hours ago Up 2 hours 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
b24ce75958bd prom/prometheus:v2.33.1 "/bin/prometheus --c…" 2 hours ago Up 2 hours 0.0.0.0:9090->9090/tcp, :::9090->9090/tcp prometheus
7724ce783a1b cr.netapp.io/harvest:latest "bin/poller --poller…" 2 hours ago Up 2 hours poller-cluster-01
aa2b75d44dd5 cr.netapp.io/harvest:latest "bin/poller --poller…" 2 hours ago Up 2 hours poller-cluster-03
a70e82860b04 cr.netapp.io/harvest:latest "bin/poller --poller…" 2 hours ago Up 2 hours poller-cluster-02
5. 访问Grafana

账户的初始设置如下:
第一次登录时会要求输入新密码,然后进行更改。
用户名:admin
密码:admin





提供的信息和链接
NetApp 丰收
NAbox 可以是一个品牌名称或者产品名称,因此如何准确地翻译取决于具体的语境。下面提供了两种可能的中文翻译选项:
选项一:NAbox – 納盒
选项二:NAbox – 納箱
NetApp.io的收获文章