Harvest 및 Grafana를 사용하여 FSx for ONTAP 파일 시스템 모니터링 - FSx for ONTAP

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Harvest 및 Grafana를 사용하여 FSx for ONTAP 파일 시스템 모니터링

NetApp Harvest는 ONTAP 시스템에서 성능 및 용량 메트릭을 수집하기 위한 오픈 소스 도구이며 ONTAP용 FSx와 호환됩니다. Harvest를 Grafana와 함께 사용하여 오픈 소스 모니터링 솔루션을 사용할 수 있습니다.

하베스트와 Grafana 시작하기

다음 섹션에서는 ONTAP 파일 시스템의 성능 및 스토리지 용량 사용률에 대한 FSx를 측정하도록 Harvest 및 Grafana를 설정하고 구성하는 방법을 자세히 설명합니다.

Harvest와 Grafana를 사용하여 NetApp ONTAP용 Amazon FSx 파일 시스템을 모니터링할 수 있습니다. NetApp Harvest는 ONTAP 파일 시스템용 FSx에서 성능, 용량 및 하드웨어 메트릭을 수집하여 ONTAP 데이터 센터를 모니터링합니다. Grafana는 수집된 Harvest 지표를 표시할 수 있는 대시보드를 제공합니다.

지원되는 Harvest 대시보드

NetApp ONTAP용 Amazon FSx는 온프레미스 ONTAP와는 다른 지표 세트를 제공합니다. NetApp 따라서 태그가 지정된 다음 out-of-the-box Harvest 대시보드만 fsx 현재 FSx for ONTAP와 함께 사용할 수 있습니다. 이러한 대시보드의 일부 패널에는 지원되지 않는 정보가 누락될 수 있습니다.

  • ONTAP: 규정 준수

  • ONTAP: 데이터 보호 스냅샷

  • ONTAP: 보안

  • ONTAP: SVM

  • ONTAP: 볼륨

AWS CloudFormation 템플릿

시작하려면 Harvest 및 Grafana를 실행하는 Amazon EC2 인스턴스를 자동으로 시작하는 AWS CloudFormation 템플릿을 배포할 수 있습니다. AWS CloudFormation 템플릿에 대한 입력으로 이 배포의 일부로 추가될 파일 시스템의 Amazon FSx 관리 엔드포인트와 fsxadmin 사용자를 지정합니다. 배포가 완료되면 Grafana 대시보드에 로그인하여 파일 시스템을 모니터링할 수 있습니다.

이 솔루션은 Harvest 및 Grafana 솔루션의 배포를 자동화하는 AWS CloudFormation 데 사용됩니다. 이 템플릿은 Amazon EC2 Linux 인스턴스를 생성하고 Harvest 및 Grafana 소프트웨어를 설치합니다. 이 솔루션을 사용하려면 AWS CloudFormation fsx-ontap-harvest-grafana.template 템플릿을 다운로드하십시오.

참고

이 솔루션을 구현하려면 관련 서비스에 대한 요금이 AWS 부과됩니다. 자세한 내용은 해당 서비스에 대한 요금 세부 정보 페이지를 참조하세요.

Amazon EC2 인스턴스 유형

템플릿을 구성할 때 Amazon EC2 인스턴스 유형을 제공합니다. NetApp인스턴스 크기에 대한 권장 사항은 모니터링하는 파일 시스템의 수와 수집하기로 선택한 지표의 수에 따라 달라집니다. 기본 구성을 사용하면 모니터링하는 파일 시스템 10개 각각에 대해 다음을 NetApp 권장합니다.

  • CPU: 코어 2개

  • 메모리: 1GB

  • 디스크: 500MB(주로 로그 파일에 사용됨)

다음은 몇 가지 샘플 구성과, 선택할 수 있는 t3 인스턴스 유형입니다.

파일 시스템 CPU 디스크 인스턴스 타입

10개 미만

코어 2개

500MB

t3.micro

10~40

코어 4개

1000MB

t3.xlarge

40명 이상

코어 8개

2000MB

t3.2xlarge

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 VPC (가상 사설 클라우드) 에서 실행되는 ONTAP용 FSx가 있어야 하며 아래 나열된 템플릿의 매개 변수 정보가 있어야 합니다. 파일 시스템 생성에 대한 자세한 내용은 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. 파라미터의 경우 템플릿의 파라미터를 검토하고 파일 시스템의 필요에 맞게 수정합니다. 이 솔루션은 다음과 같은 기본값을 사용합니다.

    파라미터 기본값 설명
    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입니다. Grafana 대시보드에 액세스하는 데 사용하려는 클라이언트에서 포트 53 및 443과 함께 인바운드 포트 3000 및 9090이 열려 있는지 확인합니다.
    서브넷 유형 기본값 없음 서브넷 유형으로 public 또는 private을 지정합니다. 인터넷에 연결되어야 하는 리소스에는 public 서브넷을 사용하고, 인터넷에 연결되지 않는 리소스에는 프라이빗 서브넷을 사용합니다. 자세한 내용은 Amazon VPC 사용 설명서서브넷 크기를 참조하세요.
    서브넷 기본값 없음 ONTAP 파일 시스템의 기본 서브넷에 NetApp 대해 Amazon FSx와 동일한 서브넷을 지정하십시오. Amazon FSx 콘솔의 FSx for ONTAP 파일 시스템 세부 정보 페이지의 네트워크 및 보안 탭에서 파일 시스템의 기본 서브넷 ID를 찾을 수 있습니다.
    LatestLinuxAmiId /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 주어진 AWS 리전에서 Amazon Linux 2 AMI의 최신 버전입니다.
    F 포인트 SxEnd 기본값 없음 파일 시스템의 관리 엔드포인트 IP 주소입니다. Amazon FSx 콘솔의 FSx for ONTAP 파일 시스템 세부 정보 페이지의 관리 탭에서 파일 시스템의 관리 엔드포인트 IP 주소를 찾을 수 있습니다.
    SecretName 기본값 없음 AWS Secrets Manager 파일 시스템 fsxadmin 사용자의 비밀번호가 포함된 비밀 이름. 파일 시스템을 생성할 때 제공한 암호입니다.
  3. 다음을 선택합니다.

  4. 옵션에서 다음을 선택합니다.

  5. 검토에서 설정을 검토하고 확인합니다. 템플릿이 IAM 리소스를 생성한다는 것을 확인하는 확인란을 선택해야 합니다.

  6. 생성을 선택하여 스택을 배포합니다.

AWS CloudFormation 콘솔의 상태 열에서 스택 상태를 볼 수 있습니다. 약 5분 후에 CREATE_COMPLETE 상태를 확인할 수 있습니다.

Grafana에 로그인

배포가 완료되면 브라우저를 사용하여 Amazon EC2 인스턴스의 IP 및 포트 3000에서 Grafana 대시보드에 로그인합니다.

http://EC2_instance_IP:3000

메시지가 표시되면 Grafana 기본 사용자 이름(admin)과 암호(pass)를 사용합니다. 로그인하는 즉시 암호를 변경하는 것이 좋습니다.

자세한 내용은 의 NetApp Harvest 페이지를 참조하십시오 GitHub.

하베스트 및 Grafana 문제 해결

Harvest 및 Grafana 대시보드에 언급된 누락된 데이터가 있거나 FSx를 사용하여 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 사용자 자격 증명을 fsxadmin_password 암호로 대체하여 다음 형식으로 Secrets Manager에 저장해야 합니다.

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

CloudFormation 타임아웃 후 스택이 롤백되었습니다.

CloudFormation 스택을 성공적으로 배포할 수 없고 롤백 중에 오류가 발생하는 경우 다음 절차를 사용하여 문제를 해결하십시오. 스택에서 배포한 EC2 인스턴스에 대한 SSH 액세스가 필요합니다. CloudFormation

  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을 실행하고 연결하여 컨테이너가 성공적으로 시작되었는지 확인합니다.