Azure Monitor Logs를 사용하여 HDInsight 클러스터 모니터링

Azure Monitor Logs를 사용하여 HDInsight에서 Hadoop 클러스터 작업을 모니터링하는 방법을 알아봅니다. HDInsight 모니터링 솔루션을 추가하는 방법도 알아봅니다.

Azure Monitor Logs는 클라우드 및 온-프레미스 환경을 모니터링하는 Azure Monitor 서비스입니다. 모니터링은 가용성과 성능을 유지하기 위한 것입니다. 이 서비스는 클라우드, 온-프레미스 환경 및 다른 모니터링 도구의 리소스에서 생성된 데이터를 수집합니다. 데이터는 여러 원본을 망라하는 분석을 제공하는 데 사용됩니다.

참고 항목

이 문서는 Log Analytics 대신 Azure Monitor 로그라는 용어를 사용하도록 최근에 업데이트되었습니다. 로그 데이터는 여전히 Log Analytics 작업 영역에 저장되며 동일한 Log Analytics 서비스에 의해 계속 수집 및 분석됩니다. Azure Monitor에서 로그의 역할을 보다 잘 반영하기 위해 용어를 업데이트하고 있습니다. 자세한 내용은 Azure Monitor 용어 변경을 참조하세요.

Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.

Important

새 Azure Monitor 환경은 모든 지역에서 미리 보기 기능으로 사용할 수 있습니다.

필수 조건

  • Log Analytics 작업 영역 이 작업 영역은 자체의 데이터 리포지토리, 데이터 원본 및 솔루션을 포함한 고유한 Azure Monitor Logs 환경으로 생각할 수 있습니다. 지침은 Log Analytics 작업 영역 만들기를 참조하세요.

  • Azure HDInsight 클러스터를 만듭니다. Azure Monitor Logs는 현재 다음 HDInsight 클러스터 유형에서 사용할 수 있습니다.

    • Hadoop은
    • HBase
    • 대화형 쿼리
    • Kafka
    • Spark

    HDInsight 클러스터를 만드는 방법에 대한 지침은 Azure HDInsight 시작을 참조하세요.

  • PowerShell을 사용하는 경우 Az Module이 필요합니다. 최신 버전이 있는지 확인합니다. 필요한 경우 Update-Module -Name Az를 실행합니다.

  • Azure CLI를 사용하려 하나 아직 설치하지 않은 경우 Azure CLI 설치를 참조하세요.

참고 항목

새로운 Azure Monitor 환경은 모든 지역에서 미리 보기 기능으로만 사용할 수 있습니다. 성능 향상을 위해 동일한 지역에 HDInsight 클러스터와 Log Analytics 작업 영역을 모두 배치하는 것이 좋습니다.

포털을 통해 Azure Monitor 사용

이 섹션에서는 Azure Log Analytics 작업 영역을 사용하여 작업, 디버그 로그 등을 모니터링하도록 기존 HDInsight Hadoop 클러스터를 구성합니다.

  1. Azure Portal에서 디렉터리를 선택합니다. 클러스터가 새 포털 페이지에서 열립니다.

  2. 왼쪽의 모니터링에서 Monitor 통합을 선택합니다.

  3. 기본 보기의 HDInsight 클러스터용 Azure Monitor 통합에서 사용을 선택합니다.

  4. 작업 영역 선택 드롭다운 목록에서 기존 Log Analytics 작업 영역을 선택합니다.

  5. 저장을 선택합니다. 설정을 저장하는 데 몇 분 정도 걸립니다.

    Enable monitoring for HDInsight clusters.

Azure Monitor 사용하지 않도록 설정하려면 이 포털에서 동일한 작업을 수행할 수 있습니다.

Azure PowerShell을 통해 Azure Monitor 사용

Azure PowerShell Az 모듈 Enable-AzHDInsightAzureMonitor cmdlet을 통해 Azure Monitor Logs를 사용할 수 있습니다.

# Enter user information
$resourceGroup = "<your-resource-group>"
$cluster = "<your-cluster>"
$LAW = "<your-Log-Analytics-workspace>"
# End of user input

# obtain workspace id for defined Log Analytics workspace
$WorkspaceId = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW).CustomerId

# obtain primary key for defined Log Analytics workspace
$PrimaryKey = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW | Get-AzOperationalInsightsWorkspaceSharedKeys).PrimarySharedKey

# Enables monitoring and relevant logs will be sent to the specified workspace.
Enable-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster `
    -WorkspaceId $WorkspaceId `
    -PrimaryKey $PrimaryKey

# Gets the status of monitoring installation on the cluster.
Get-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster

사용하지 않게 설정하려면 Disable-AzHDInsightAzureMonitor cmdlet을 사용합니다.

Disable-AzHDInsightAzureMonitor -ResourceGroupName $resourceGroup `
-ClusterName $cluster

Azure CLI를 통해 Azure Monitor 사용

Azure CLI az hdinsight azure-monitor enable 명령을 통해 Azure Monitor 로그를 사용할 수 있습니다.

# set variables
export resourceGroup=RESOURCEGROUPNAME
export cluster=CLUSTERNAME
export LAW=LOGANALYTICSWORKSPACENAME

# Enable the Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor enable --name $cluster --resource-group $resourceGroup --workspace $LAW

# Get the status of Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor show --name $cluster --resource-group $resourceGroup

사용하지 않으려면 az hdinsight monitor disable 명령을 사용합니다.

az hdinsight azure-monitor disable --name $cluster --resource-group $resourceGroup

HDInsight에서 즉시 사용 가능한 인사이트를 사용하여 단일 클러스터 모니터링

HDInsight에서는 빠르게 인사이트를 얻을 수 있도록 워크로드별 통합 문서를 제공합니다. 이 통합 문서에서는 HDInsight 클러스터에서 중요한 성능 메트릭을 수집하고 가장 일반적인 시나리오에 대한 시각화 및 대시보드를 제공합니다. 즉시 사용 가능한 인사이트에서는 리소스 사용률 및 애플리케이션 상태를 포함하여 단일 HDInsight 클러스터에 대한 완전한 보기를 제공합니다.

사용 가능한 HDInsight 통합 문서:

  • HDInsight Spark 통합 문서
  • HDInsight Kafka 통합 문서
  • HDInsight HBase 통합 문서
  • HDInsight Hive/LLAP 통합 문서

Spark 통합 문서의 스크린샷 Spark workbook screenshot.

성능 카운터 구성

Azure Monitor는 클러스터의 노드에 대한 성능 메트릭의 수집 및 분석을 지원합니다. 자세한 내용은 Azure Monitor의 Linux 성능 데이터 원본을 참조하세요.

클러스터 감사

HDInsight는 다음 유형의 로그를 가져와 Azure Monitor Logs를 통한 클러스터 감사를 지원합니다.

  • log_gateway_audit_CL - 이 테이블은 성공 및 실패한 로그인 시도를 표시하는 클러스터 게이트웨이 노드 감사 로그를 제공합니다.
  • log_auth_CL - 이 테이블은 성공 및 실패한 로그인 시도를 포함한 SSH 로그를 제공합니다.
  • log_ambari_audit_CL - 이 테이블은 Ambari의 감사 로그를 제공합니다.
  • log_ranger_audti_CL - 이 테이블은 ESP 클러스터에서 Apache 레인저의 감사 로그를 제공합니다.

HDInsight Azure Monitor 통합에서 사용하는 Log Analytics(OMS) 에이전트 업데이트

Azure Monitor 통합이 클러스터에서 사용되는 경우 Log Analytics 에이전트 또는 OMS(Operations Management Suite) 에이전트는 클러스터에 설치되며 Azure Monitor 통합을 사용하지 않도록 설정한 후 다시 사용하도록 설정해야 업데이트됩니다. 클러스터에서 OMS 에이전트를 업데이트해야 하는 경우 다음 단계를 완료합니다. 방화벽 뒤에 있는 경우 관련 단계를 완료하기 전에 방화벽 뒤에 있는 클러스터에 대한 필수 조건을 완료해야 할 수 있습니다.

  1. Azure Portal에서 디렉터리를 선택합니다. 클러스터가 새 포털 페이지에서 열립니다.
  2. 왼쪽 창 메뉴의 모니터링에서 Azure Monitor를 선택합니다.
  3. 현재 Log Analytics 작업 영역의 이름을 기록해 둡니다.
  4. 기본 보기의 Azure Monitor 통합 아래에서 토글을 사용하지 않도록 설정한 다음, 저장을 선택합니다.
  5. 설정이 저장된 후 Azure Monitor 통합 토글을 다시 사용하도록 설정하고, 동일한 Log Analytics 작업 영역이 선택되었는지 확인한 다음, 저장을 선택합니다.

클러스터에서 Azure Monitor 통합을 사용하도록 설정한 경우 OMS 에이전트를 업데이트하면 OMI(Open Management Infrastructure) 버전도 업데이트됩니다. 다음 명령을 실행하여 클러스터에서 OMI 버전을 확인할 수 있습니다.

 sudo /opt/omi/bin/omiserver –version

다음 단계