Azure Stack Hub와 외부 모니터링 솔루션 통합

Azure Stack Hub 인프라의 외부 모니터링을 이용하려면 Azure Stack Hub 소프트웨어, 물리적 컴퓨터와 물리적 네트워크 스위치를 모니터링해야 합니다. 이러한 각 영역은 상태 및 알림 정보를 검색하는 방법을 제공합니다.

  • Azure Stack Hub 소프트웨어는 상태 및 알림을 검색하는 REST 기반 API를 제공합니다. 스토리지 공간 다이렉트, 스토리지 상태와 알림 같은 소프트웨어 정의 기술의 사용은 소프트웨어 모니터링의 구성 요소입니다.
  • 물리적 컴퓨터를 사용하면 BMC(베이스보드 관리 컨트롤러)를 통해 상태 및 알림 정보를 제공할 수 있습니다.
  • 물리적 네트워크 디바이스를 사용하면 SNMP 프로토콜을 통해 상태 및 알림 정보를 제공할 수 있습니다.

모든 Azure Stack Hub 솔루션은 하드웨어 수명 주기 호스트와 함께 배송됩니다. 이 호스트는 물리적 서버 및 네트워크 디바이스에 대한 OEM(original equipment manufacturer) 하드웨어 공급업체의 모니터링 소프트웨어를 실행합니다. OEM 공급자에 문의하여 여러분의 데이터 센터에서 OEM 공급자의 모니터링 솔루션을 기존 모니터링 솔루션과 통합할 수 있는지 확인하세요.

중요

사용하는 외부 모니터링 솔루션은 에이전트 없는 형식이어야 합니다. Azure Stack Hub 구성 요소에는 타사 에이전트를 설치할 수 없습니다.

다음 다이어그램은 Azure Stack Hub 통합 시스템, 하드웨어 수명 주기 호스트, 외부 모니터링 솔루션 및 외부 티켓팅/데이터 수집 시스템 간의 트래픽 흐름을 보여줍니다.

Diagram showing traffic between Azure Stack Hub, monitoring, and ticketing solution.

참고

외부 모니터링과 물리적 서버와의 직접 통합은 허용되지 않으며 ACL(액세스 제어 목록)에 의해 적극적으로 차단됩니다. 외부 모니터링과 물리적 네트워크 디바이스와의 직접 통합은 지원됩니다. 이 기능을 사용하도록 설정하는 방법은 OEM 공급자에게 문의하세요.

이 문서에서는 System Center Operations Manager 및 Nagios와 같은 외부 모니터링 솔루션과 Azure Stack Hub를 통합하는 방법을 설명합니다. 또한 PowerShell을 사용하거나 REST API 호출을 통해 프로그래밍 방식으로 경고를 사용하는 방법도 포함됩니다.

Operations Manager와의 통합

Azure Stack Hub의 외부 모니터링에 Operations Manager를 사용할 수 있습니다. Microsoft Azure Stack Hub용 System Center 관리 팩을 사용하면 단일 Operations Manager 인스턴스를 사용하여 여러 Azure Stack Hub 배포를 모니터링할 수 있습니다. 관리 팩은 상태 리소스 공급자를 사용하고 리소스 공급자 REST API를 업데이트하여 Azure Stack Hub와 통신합니다. 하드웨어 수명 주기 호스트에서 실행 중인 OEM 모니터링 소프트웨어를 무시하고 싶다면 공급업체 관리 팩을 설치하여 물리적 서버를 모니터링하면 됩니다. Operations Manager 네트워크 디바이스 검색을 사용하여 네트워크 스위치를 모니터링할 수도 있습니다.

Azure Stack Hub용 관리 팩은 다음 기능을 제공합니다.

  • 여러 Azure Stack Hub 배포를 관리할 수 있습니다.
  • Azure AD(Azure Active Directory) 및 AD FS(Active Directory Federation Services)를 지원합니다.
  • 알림을 검색하고 종결할 수 있습니다.
  • 상태 및 용량 대시보드가 있습니다.
  • PU&(패치 및 업데이트)가 진행 중인 경우에 대한 자동 유지 관리 모드 검색을 포함합니다.
  • 배포 및 지역에 대한 강제 업데이트 작업을 제공합니다.
  • 지역에 사용자 지정 정보를 추가할 수 있습니다.
  • 알림 및 보고를 지원합니다.

System Center 관리 팩 및 관련 사용자 가이드를 다운로드하려면 Microsoft Azure Stack Hub용 System Center 관리 팩 다운로드를 참조하세요. Operations Manager에서 직접 다운로드할 수도 있습니다.

티켓팅 솔루션의 경우 Operations Manager를 System Center Service Manager와 통합할 수 있습니다. 통합 제품 커넥터를 사용하면 Service Manager에서 서비스 요청을 해결한 후 Azure Stack Hub와 Operations Manager에서 알림을 종결할 수 있는 양방향 통신을 이용할 수 있습니다.

다음 다이어그램은 Azure Stack Hub와 기존 System Center 배포의 통합을 보여줍니다. System Center Orchestrator 또는 SMA(Service Management Automation)를 사용하여 작업을 Azure Stack Hub에서 실행하면 Service Manager를 더욱 자동화할 수 있습니다.

Diagram showing integration with OM, Service Manager, and SMA.

Nagios와 통합

Microsoft Azure Stack Hub용 Nagios 플러그 인을 설정하고 구성할 수 있습니다.

Nagios 모니터링 플러그 인은 허용되는 무료 소프트웨어 라이선스인 MIT(매사추세츠 공과대학)에서 사용할 수 있는 파트너 Cloudbase Solutions와 함께 개발되었습니다.

플러그 인은 Python으로 작성되었으며 상태 리소스 공급자 REST API를 활용합니다. Azure Stack Hub에서 경고를 검색하고 닫는 기본 기능을 제공합니다. System Center 관리 팩과 마찬가지로 여러 Azure Stack Hub 배포를 추가하고 알림을 보낼 수 있습니다.

버전 1.2에서 Azure Stack Hub - Nagios 플러그 인은 Microsoft ADAL 라이브러리를 활용하고 비밀 또는 인증서가 있는 서비스 주체를 사용하여 인증을 지원합니다. 또한 새 매개 변수가 있는 단일 구성 파일을 사용하여 구성이 간소화되었습니다. 이제 Id 시스템으로 Azure AD 및 AD FS를 사용하여 Azure Stack Hub 배포를 지원합니다.

중요

AD FS는 대화형 로그인 세션만 지원합니다. 자동화된 시나리오에 비대화형 로그인이 필요한 경우 SPN을 사용해야 합니다.

플러그 인은 Nagios 4x 및 XI에서 작동합니다. 플러그 인을 다운로드하려면 Azure Stack Hub 경고 모니터링을 참조하세요. 다운로드 사이트에는 설치 및 구성 세부 정보도 포함됩니다.

Nagios에 대한 요구 사항

  1. 최소 Nagios 버전은 4.x입니다.

  2. python 라이브러리를 Microsoft Azure Active Directory. 이 라이브러리는 Python PIP를 사용하여 설치할 수 있습니다.

    sudo pip install adal pyyaml six
    

플러그 인 설치

이 섹션에서는 Nagios의 기본 설치를 가정하여 Azure Stack Hub 플러그 인을 설치하는 방법을 설명합니다.

플러그 인 패키지에는 다음 파일이 포함되어 있습니다.

azurestack_plugin.py
azurestack_handler.sh
samples/etc/azurestack.cfg
samples/etc/azurestack_commands.cfg
samples/etc/azurestack_contacts.cfg
samples/etc/azurestack_hosts.cfg
samples/etc/azurestack_services.cfg
  1. 다음 디렉터리에 플러그 인 azurestack_plugin.py 을 복사합니다. /usr/local/nagios/libexec

  2. 처리기를 azurestack_handler.sh 다음 디렉터리에 복사합니다. /usr/local/nagios/libexec/eventhandlers

  3. 플러그 인 파일이 실행 파일로 설정되어 있는지 확인합니다.

    sudo cp azurestack_plugin.py <PLUGINS_DIR>
    sudo chmod +x <PLUGINS_DIR>/azurestack_plugin.py
    

플러그 인 구성

다음 매개 변수는 azurestack.cfg 파일에서 구성할 수 있습니다. 굵게 표시된 매개 변수는 선택한 인증 모델과 독립적으로 구성해야 합니다.

SPN을 만드는 방법에 대한 자세한 내용은 앱 ID를 사용하여 리소스에 액세스하는 방법을 참조하세요.

매개 변수 설명 인증
External_domain_fqdn 외부 도메인 FQDN
지역: 지역 이름
tenant_id: 테넌트 ID*
client_id: 클라이언트 ID 비밀이 있는 SPN
client_secret: 클라이언트 암호 비밀이 있는 SPN
client_cert**: 인증서 경로 인증서가 있는 SPN
client_cert_thumbprint**: 인증서 지문 인증서가 있는 SPN

*AD FS를 사용한 Azure Stack Hub 배포에는 테넌트 ID가 필요하지 않습니다.

** 클라이언트 암호 및 클라이언트 인증서는 함께 사용할 수 없습니다.

다른 구성 파일에는 Nagios에서도 구성할 수 있는 선택적 구성 설정이 포함되어 있습니다.

참고

azurestack_hosts.cfg 및 azurestack_services.cfg에서 위치 대상을 확인합니다.

구성 설명
azurestack_commands.cfg 처리기 구성 변경 요구 사항 없음
azurestack_contacts.cfg 알림 설정
azurestack_hosts.cfg Azure Stack Hub 배포 명명
azurestack_services.cfg 서비스 구성

설정 단계

  1. 구성 파일을 수정합니다.

  2. 수정된 구성 파일을 다음 폴더 /usr/local/nagios/etc/objects에 복사합니다.

Nagios 구성 업데이트

Azure Stack Hub - Nagios 플러그 인이 로드되도록 Nagios 구성을 업데이트해야 합니다.

  1. 다음 파일을 엽니다.

    /usr/local/nagios/etc/nagios.cfg
    
  2. 다음 항목을 추가합니다.

    # Load the Azure Stack Hub Plugin Configuration
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_contacts.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_commands.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_hosts.cfg
    cfg_file=/usr/local/Nagios/etc/objects/azurestack_services.cfg
    
  3. Nagios를 다시 로드합니다.

    sudo service nagios reload
    

활성 경고를 수동으로 닫습니다.

사용자 지정 알림 기능을 사용하여 Nagios 내에서 활성 경고를 닫을 수 있습니다. 사용자 지정 알림은 다음이어야 합니다.

/close-alert <ALERT_GUID>

다음 명령을 사용하여 터미널을 사용하여 경고를 닫을 수도 있습니다.

/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Close --alert-id <ALERT_GUID>

문제 해결

플러그 인 문제 해결은 터미널에서 플러그 인을 수동으로 호출하여 수행됩니다. 다음 방법을 사용합니다.

/usr/local/nagios/libexec/azurestack_plugin.py --config-file /usr/local/nagios/etc/objects/azurestack.cfg --action Monitor

PowerShell을 사용하여 상태 및 경고 모니터링

Operations Manager, Nagios 또는 Nagios 기반 솔루션을 사용하지 않는 경우 PowerShell을 사용하여 광범위한 모니터링 솔루션을 사용하여 Azure Stack Hub와 통합할 수 있습니다.

  1. PowerShell을 사용하려면 Azure Stack Hub 운영자 환경에 대해 PowerShell을 설치하고 구성 했는지 확인합니다. Resource Manager(관리자) 엔드포인트(https://adminmanagement.[region])에 도달할 수 있는 로컬 컴퓨터에 PowerShell을 설치합니다.[ External_FQDN]).

  2. 다음 명령을 실행하여 Azure Stack Hub 연산자로 Azure Stack Hub 환경에 연결합니다.

    Add-AzEnvironment -Name "AzureStackAdmin" -ArmEndpoint https://adminmanagement.[Region].[External_FQDN] `
       -AzureKeyVaultDnsSuffix adminvault.[Region].[External_FQDN] `
       -AzureKeyVaultServiceEndpointResourceId https://adminvault.[Region].[External_FQDN]
    
    Connect-AzAccount -EnvironmentName "AzureStackAdmin"
    
  3. 다음 예제와 같은 명령을 사용하여 경고 작업을 수행합니다.

# Retrieve all alerts
$Alerts = Get-AzsAlert
$Alerts

# Filter for active alerts
$Active = $Alerts | Where-Object { $_.State -eq "active" }
$Active

# Close alert
Close-AzsAlert -AlertID "ID"

#Retrieve resource provider health
$RPHealth = Get-AzsRPHealth
$RPHealth

# Retrieve infrastructure role instance health
$FRPID = $RPHealth | Where-Object { $_.DisplayName -eq "Capacity" }
   Get-AzsRegistrationHealth -ServiceRegistrationId $FRPID.RegistrationId

자세한 정보

기본 제공 상태 모니터링에 대한 자세한 내용은 Azure Stack Hub의 상태 및 경고 모니터링을 참조하세요.

다음 단계

보안 통합