Harvest と Grafana を使用した ONTAP ファイルシステムの FSx のモニタリング - FSx for ONTAP

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Harvest と Grafana を使用した ONTAP ファイルシステムの FSx のモニタリング

NetApp Harvest は、ONTAP システムからパフォーマンスと容量のメトリクスを収集するためのオープンソースツールで、FSx for ONTAP と互換性があります。Harvest と Grafana をオープンソースのモニタリングソリューションに使用できます。

Harvest と Grafana の開始方法

次のセクションでは、FSx for ONTAP ファイルシステムのパフォーマンスとストレージ容量の使用率を測定するように Harvest と Grafana をセットアップおよび設定する方法について詳しく説明します。

Harvest と Grafana を使用して、Amazon FSx for NetApp ONTAP ファイルシステムをモニタリングできます。 NetApp Harvest は、FSx for ONTAP ファイルシステムからパフォーマンス、容量、ハードウェアメトリクスを収集して ONTAP データセンターをモニタリングします。Grafana は、収集された Harvest 指標を表示できるダッシュボードを提供します。

サポートされている Harvest ダッシュボード

Amazon FSx for NetApp ONTAP は、オンプレミス NetApp ONTAP とは異なるメトリクスのセットを公開します。そのため、FSx for ONTAP での使用fsxは現在、 でタグ付けされた次の out-of-the-box Harvest ダッシュボードのみがサポートされています。これらのダッシュボードの一部のパネルには、サポートされていない情報が表示されない可能性があります。

  • ONTAP: コンプライアンス

  • ONTAP: データ保護スナップショット

  • ONTAP: セキュリティ

  • ONTAP: SVM

  • ONTAP: ボリューム

AWS CloudFormation テンプレート

開始するには、Harvest と Grafana を実行する Amazon EC2 インスタンスを自動的に起動する AWS CloudFormation テンプレートをデプロイします。 AWS CloudFormation テンプレートへの入力として、このデプロイの一部として追加されるファイルシステムのfsxadminユーザーと Amazon FSx 管理エンドポイントを指定します。デプロイが完了したら、Grafana ダッシュボードにログインしてファイルシステムをモニタリングできます。

このソリューションでは AWS CloudFormation 、 を使用して Harvest および Grafana ソリューションのデプロイを自動化します。テンプレートによって Amazon EC2 Linux インスタンスが作成され、Harvest および Grafana ソフトウェアがインストールされます。このソリューションを使用するには、fsx-ontap-harvest-grafana.template AWS CloudFormation テンプレートをダウンロードします。

注記

このソリューションを実装すると、関連する AWS サービスの料金が発生します。詳細については、それらのサービスの料金詳細ページを参照してください。

Amazon EC2 インスタンスタイプ

テンプレートを設定するときは、Amazon EC2 インスタンスタイプを指定します。 NetAppのインスタンスサイズに関する推奨事項は、モニタリングするファイルシステムの数と収集を選択したメトリクスの数によって異なります。デフォルト設定では、モニタリングする 10 個のファイルシステムごとに、 NetApp が以下を推奨します。

  • CPU: 2 コア

  • メモリ:1 GB

  • ディスク: 500 MB (主にログファイルで使用されます)

次は設定例および選択する t3 インスタンスタイプを示します。

ファイルシステム CPU ディスク インスタンスタイプ

10 未満

2 コア

500 MB

t3.micro

10~40

4 コア

1000 MB

t3.xlarge

40 以上

8 コア

2000 MB

t3.2xlarge

Amazon EC2 インスタンスタイプの詳細については、「Amazon EC2 ユーザーガイド」の「汎用インスタンスAmazon EC2」を参照してください。

インスタンスポートルール

Amazon EC2 インスタンスを設定するときは、Amazon EC2 Harvest および Grafana インスタンスが属するセキュリティグループのインバウンドトラフィック用にポート 3000 と 9090 が開いていることを確認します。起動されたインスタンスは HTTPS 経由でエンドポイントに接続するため、エンドポイントを解決する必要があります。これには、DNS のポート 53 TCP/UDP が必要です。さらに、エンドポイントに到達するには、HTTPS とインターネットアクセスにポート 443 TCP が必要です。

デプロイ手順

次の手順では、Harvest / Grafana ソリューションを設定してデプロイします。デプロイには約 5 分かかります。開始する前に、 AWS アカウントの Amazon Virtual Private Cloud (Amazon VPC) で実行されている FSx for ONTAP ファイルシステムと、以下に示すテンプレートのパラメータ情報が必要です。ファイルシステムの作成の詳細については、「FSx for ONTAP ファイルシステムの作成」を参照してください。

Harvest / Grafana ソリューションスタックを起動するには
  1. fsx-ontap-harvest-grafana.template AWS CloudFormation テンプレートをダウンロードします。 AWS CloudFormation スタックの作成の詳細については、「 ユーザーガイド」の「 AWS CloudFormation コンソールでのスタックの作成AWS CloudFormation 」を参照してください。

    注記

    デフォルトでは、このテンプレートは米国東部 (バージニア北部) AWS リージョンで起動します。このソリューションは、Amazon FSx AWS リージョン が利用可能な で起動する必要があります。詳細については、「AWS 全般のリファレンス」の「Amazon FSx エンドポイントとクォータ」を参照してください。

  2. [Parameters] (パラメータ) については、テンプレートのパラメータを確認し、ファイルシステムのニーズに合わせて変更します。このソリューションは以下のデフォルト値を使用します。

    パラメータ デフォルト [Description] (説明)
    InstanceType t3.micro

    Amazon EC2 インスタンスタイプ 以下が t3 インスタンスタイプです。

    • t3.micro

    • t3.small

    • t3.medium

    • t3.large

    • t3.xlarge

    • t3.2xlarge

    このパラメータで許可される Amazon EC2 インスタンスタイプの値の完全なリストについては、「.template fsx-ontap-harvest-grafana」を参照してください。

    KeyPair デフォルト値なし Amazon EC2 インスタンスへのアクセスに使用されるキーペア。
    SecurityGroup デフォルト値なし Harvest / Grafana インスタンスのセキュリティグループ ID。ポート 53 と 443 に加えて、インバウンドポート 3000 と 9090 が、Grafana ダッシュボードへのアクセスに使用するクライアントから開かれていることを確認します。
    サブネットタイプ デフォルト値なし public または private のいずれかのサブネット タイプを指定します。インターネットに接続する必要があるリソースには public サブネットを、インターネットに接続しないリソースにはプライベートサブネットを使用してください。詳細については、「Amazon VPC ユーザーガイド」の「サブネットタイプ」を参照してください。
    サブネット デフォルト値なし Amazon FSx for NetApp ONTAP ファイルシステムの優先サブネットと同じサブネットを指定します。Fsx for ONTAP ファイルシステム詳細ページの [Network & security] (ネットワークとセキュリティ) タブの Amazon FSx コンソールで [Preferred subnet] (優先サブネット) の IDを検索できます。
    LatestLinuxAmiId /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 特定の AWS リージョン内の Amazon Linux 2 AMI の最新バージョン。
    F SxEndポイント デフォルト値なし ファイルシステムの管理エンドポイントの IP アドレス。FSx for ONTAP ファイルシステムの詳細ページの [Administration] (管理) タブの Amazon FSx コンソールのファイルシステムで管理エンドポイント [IP address] (IP アドレス) を検索できます。
    SecretName デフォルト値なし AWS Secrets Manager ファイルシステムのfsxadminユーザーのパスワードを含むシークレット名。これは、ファイルシステムを作成したときに指定したパスワードです。
  3. [Next] (次へ) を選択します。

  4. [Options] (オプション) には、[Next] (次へ) を選択します。

  5. [Review] (確認) で、設定を確認して確定します。テンプレートが IAM リソースを作成することを確認するチェックボックスを選択する必要があります。

  6. [Create] (作成) を選択してスタックをデプロイします。

スタックのステータスは、 ステータス列の AWS CloudFormation コンソールで表示できます。約 5 分で CREATE_COMPLETE (作成完了) のステータスが表示されます。

Grafana にログインする

デプロイが完了したら、ブラウザを使用して、Amazon EC2 インスタンスの IP およびポート 3000 で Grafana ダッシュボードにログインします。

http://EC2_instance_IP:3000

プロンプトが表示されたら、Grafana デフォルトのユーザー名 (admin) とパスワード (pass) を使用します。ログインしたらすぐにパスワードを変更することをお勧めします。

詳細については、「」の NetApp 「収穫」ページを参照してください GitHub。

Harvest と Grafana のトラブルシューティング

Harvest と Grafana ダッシュボードに記載されているデータが失われている場合、または FSx for ONTAP で Harvest と Grafana をセットアップできない場合は、次のトピックで潜在的な解決策を確認してください。

SVM とボリュームのダッシュボードが空白

AWS CloudFormation スタックが正常にデプロイされ、Grafana に連絡できるが、SVM とボリュームのダッシュボードが空白の場合は、次の手順を使用して環境のトラブルシューティングを行います。Harvest と Grafana がデプロイされている Amazon EC2 インスタンスへの SSH アクセスが必要です。

  1. Harvest クライアントと Grafana クライアントが実行されている Amazon EC2 インスタンスに SSH 接続します。

    [~]$ ssh ec2-user@ec2_ip_address
  2. 次のコマンドを使用して harvest.yml ファイルを開き、

    • FSx for ONTAP インスタンスのエントリが として作成されたことを確認しますCluster-2

    • ユーザー名とパスワードのエントリがfsxadmin認証情報と一致することを確認します。

    [ec2-user@ip-ec2_ip_address ~]$ sudo cat /home/ec2-user/harvest_install/harvest/harvest.yml
  3. パスワードフィールドが空白の場合は、エディタで ファイルを開き、次のようにfsxadminパスワードで更新します。

    [ec2-user@ip-ec2_ip_address ~]$ sudo vi /home/ec2-user/harvest_install/harvest/harvest.yml
  4. 今後のデプロイでは、fsxadminユーザー認証情報が Secrets Manager に次の形式で保存され、 をパスワードfsxadmin_passwordに置き換えます。

    {"username" : "fsxadmin", "password" : "fsxadmin_password"}

CloudFormation タイムアウト後にロールバックされた スタック

CloudFormation スタックを正常にデプロイできず、エラーでロールバックする場合は、次の手順を使用して問題を解決します。 CloudFormation スタックによってデプロイされた EC2 インスタンスへの SSH アクセスが必要です。

  1. CloudFormation スタックを再デプロイし、自動ロールバックが無効になっていることを確認します。

  2. Harvest クライアントと Grafana クライアントが実行されている Amazon EC2 インスタンスに SSH 接続します。

    [~]$ ssh ec2-user@ec2_ip_address
  3. 次のコマンドを使用して、Docker コンテナが正常に起動されたことを確認します。

    [ec2-user@ip-ec2_ip_address ~]$ sudo docker ps

    レスポンスには、次のように 5 つのコンテナが表示されます。

    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6b9b3f2085ef rahulguptajss/harvest "bin/poller --config…" 8 minutes ago Restarting (1) 20 seconds ago harvest_cluster-2 3cf3e3623fde rahulguptajss/harvest "bin/poller --config…" 8 minutes ago Up About a minute harvest_cluster-1 708f3b7ef6f8 grafana/grafana "/run.sh" 8 minutes ago Up 8 minutes 0.0.0.0:3000->3000/tcp harvest_grafana 0febee61cab7 prom/alertmanager "/bin/alertmanager -…" 8 minutes ago Up 8 minutes 0.0.0.0:9093->9093/tcp harvest_prometheus_alertmanager 1706d8cd5a0c prom/prometheus "/bin/prometheus --c…" 8 minutes ago Up 8 minutes 0.0.0.0:9090->9090/tcp harvest_prometheus
  4. Docker コンテナが実行されていない場合は、次のように /var/log/cloud-init-output.log ファイルで障害がないか確認します。

    [ec2-user@ip-ec2_ip_address ~]$ sudo cat /var/log/cloud-init-output.log PLAY [Manage Harvest] ********************************************************** TASK [Gathering Facts] ********************************************************* ok: [localhost] TASK [Verify images] *********************************************************** failed: [localhost] (item=prom/prometheus) => {"ansible_loop_var": "item", "changed": false, "item": "prom/prometheus", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104, 'Co nnection reset by peer'))"} failed: [localhost] (item=prom/alertmanager) => {"ansible_loop_var": "item", "changed": false, "item": "prom/alertmanage r", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))"} failed: [localhost] (item=rahulguptajss/harvest) => {"ansible_loop_var": "item", "changed": false, "item": "rahulguptajs s/harvest", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetEr ror(104, 'Connection reset by peer'))"} failed: [localhost] (item=grafana/grafana) => {"ansible_loop_var": "item", "changed": false, "item": "grafana/grafana", "msg": "Error connecting: Error while fetching server API version: ('Connection aborted.', ConnectionResetError(104, 'Co nnection reset by peer'))"} PLAY RECAP ********************************************************************* localhost : ok=1 changed=0 unreachable=0 failed=1 skipped=0 rescued=0 ignored=0
  5. 障害が発生した場合は、次のコマンドを実行して Harvest コンテナと Grafana コンテナをデプロイします。

    [ec2-user@ip-ec2_ip_address ~]$ sudo su [ec2-user@ip-ec2_ip_address ~]$ cd /home/ec2-user/harvest_install [ec2-user@ip-ec2_ip_address ~]$ /usr/local/bin/ansible-playbook manage_harvest.yml [ec2-user@ip-ec2_ip_address ~]$ /usr/local/bin/ansible-playbook manage_harvest.yml --tags api
  6. を実行して Harvest sudo docker psと Grafana URL に接続することで、コンテナが正常に起動したことを確認します。