다음을 통해 공유


SAP 솔루션을 위한 Azure Monitor에 대한 SAP NetWeaver 구성

이 방법 가이드에서는 SAP 솔루션용 Azure Monitor에서 사용할 SAP NetWeaver 공급자를 구성하는 방법에 대해 알아봅니다.

사용자는 SAP 시스템에서 정보를 수집하도록 SAP Netweaver 공급자를 구성할 때 두 연결 유형 중에서 선택할 수 있습니다. 메트릭은 다음을 사용하여 수집됩니다.

  • SAP Control - SAP 시작 서비스는 SAP 시스템 모니터링을 비롯한 여러 서비스를 제공합니다. 두 버전의 SAP 솔루션용 Azure Monitor는 이러한 기능을 노출하는 SOAP 웹 서비스 인터페이스인 SAP Control을 사용합니다. SAP Control 인터페이스는 보호된 및 보호되지 않는 웹 서비스 메서드를 구별합니다. NetWeaver를 사용하여 SAP 솔루션용 Azure Monitor를 사용하려면 일부 메서드를 보호 해제해야 합니다.
  • SAP RFC - SAP 솔루션용 Azure Monitor는 표준 SAP RFC를 사용하여 SAP 시스템에서 추가 정보를 수집하는 기능도 제공합니다. SAP 솔루션을 위한 Azure Monitor의 일부로만 사용 가능합니다.

SAP NetWeaver 공급자를 사용하여 아래 메트릭을 수집할 수 있습니다.

  • SAP 시스템 및 애플리케이션 서버 가용성(예: 디스패처, ICM, 게이트웨이, 메시지 서버, 큐에 넣기 서버, IGS Watchdog의 인스턴스 프로세스 가용성)(SAP Control)
  • 업무 프로세스 사용 통계 및 추세(SAP Control)
  • 큐에 넣은 잠금 통계 및 추세(SAP Control)
  • 큐 사용 통계 및 추세(SAP Control)
  • SMON 메트릭(트랜잭션 코드 - /SDF/SMON)(RFC)
  • SWNC 워크로드, 메모리, 트랜잭션, 사용자, RFC 사용량(트랜잭션 코드 - St03n)(RFC)
  • 짧은 덤프(트랜잭션 코드 - ST22)(RFC)
  • 개체 잠금(트랜잭션 코드 - SM12)(RFC)
  • 실패한 업데이트(트랜잭션 코드 - SM13)(RFC)
  • 시스템 로그 분석(트랜잭션 코드 - SM21)(RFC)
  • 일괄 처리 작업 통계(트랜잭션 코드 - SM37)(RFC)
  • 아웃바운드 큐(트랜잭션 코드 - SMQ1)(RFC)
  • 인바운드 큐(트랜잭션 코드 - SMQ2)(RFC)
  • 트랜잭션 RFC(트랜잭션 코드 - SM59)(RFC)
  • STMS 전송 시스템 메트릭 변경(트랜잭션 코드 - STMS)(RFC)

필수 구성 요소

SAP 솔루션용 Azure Monitor에 대해 NetWeaver 구성

현재 SAP 솔루션용 Azure Monitor 버전에 대한 NetWeaver 공급자를 구성하려면 다음이 필요합니다.

  1. 필수 구성 요소 - 메트릭에 대한 메서드 보호 해제
  2. RFC 메트릭을 사용하도록 설정하기 위한 필수 구성 요소
  3. NetWeaver 공급자 추가

SAP NetWeaver 공급자를 추가하는 동안 발생하는 문제를 해결하려면 문제 해결 섹션을 참조하세요.

필수 구성 요소: 메트릭에 대한 메서드 보호 해제

이 단계는 SAP NetWeaver 공급자를 구성할 때 필수입니다. 특정 메트릭을 가져오려면 각 SAP 시스템의 일부 메서드를 보호 해제해야 합니다.

  1. SAP 서버에 대한 SAP GUI 연결을 엽니다.

  2. 관리 계정을 사용하여 로그인합니다.

  3. 트랜잭션 RZ10을 실행합니다.

  4. 적절한 프로필(권장되는 인스턴스 프로필)을 선택합니다.

  5. 연장 유지 관리>변경을 선택합니다.

  6. 프로필 매개 변수 service/protectedwebmethods를 선택합니다.

  7. 값을 다음으로 변경합니다.

    SDEFAULT -GetQueueStatistic -ABAPGetWPTable -EnqGetStatistic -GetProcessList -GetEnvironment -ABAPGetSystemWPTable
    
  8. 복사를 선택합니다.

  9. 프로필>저장을 선택하여 변경 내용을 저장합니다.

  10. SAP 시스템의 각 인스턴스에서 SAPStartSRV 서비스를 다시 시작합니다. 서비스를 다시 시작해도 전체 시스템이 다시 시작되지는 않습니다. 이 프로세스는 SAPStartSRV(Windows) 또는 디먼 프로세스(Unix 또는 Linux)만 다시 시작합니다.

    SAP Control 웹 메서드가 보호되지 않도록 하려면 SAP 시스템의 각 인스턴스에서 SAPStartSRV를 다시 시작해야 합니다. NetWeaver 공급자가 SAP 시스템에서 메트릭 데이터를 가져오려면 읽기 전용 SOAP API가 필요합니다. 이러한 메서드를 보호 해제하지 못하면 NetWeaver 메트릭 통합 문서에서 시각화가 비어 있거나 누락됩니다.

    1. Windows 시스템에서는 SAP MMC(Microsoft Management Console) 또는 SAP MC(Management Console)를 사용하여 서비스를 다시 시작합니다. 각 인스턴스를 마우스 오른쪽 단추로 클릭합니다. 그런 다음, 모든 작업>서비스 다시 시작을 선택합니다. Screenshot of the MMC console, showing the Restart Service option being selected.

    2. Linux 시스템에서 다음 명령을 사용하여 호스트를 다시 시작합니다. <instance number>를 SAP 시스템의 인스턴스 번호로 바꿉니다.

    sapcontrol -nr <instance number> -function RestartService
    
    1. 각 인스턴스 프로필에 대해 이전 단계를 반복 (또는) 하위 환경에서 SAP 시스템을 다른 옵션으로 다시 시작할 수 있습니다.

웹 메서드 보호를 해제하는 PowerShell 스크립트

링크를 참조하여 SAP Windows 가상 머신에서 웹 메서드 보호를 해제할 수 있습니다.

RFC 메트릭을 사용하도록 설정하기 위한 필수 구성 요소

RFC 메트릭은 AS ABAP 애플리케이션에 대해서만 지원되며 SAP JAVA 시스템에는 적용되지 않습니다. 이 단계는 선택한 연결 형식이 SOAP+RFC인 경우에 필수입니다. 아래 단계는 RFC를 사용하도록 설정하기 위한 필수 구성 요소로 수행해야 합니다.

  1. SAP NW ABAP 시스템에서 역할을 만들거나 업로드합니다. SAP에 연결하려면 SAP 솔루션용 Azure Monitor에 이 역할이 필요합니다. 이 역할은 최소 권한 액세스를 사용합니다. Z_AMS_NETWEAVER_MONITORING.zip 다운로드 및 압축 해제

    1. SAP 시스템에 로그인합니다.
    2. 트랜잭션 코드 PFCG>를 사용하여 메뉴에서 역할 업로드를 선택합니다.
    3. ZIP 파일에서 Z_AMS_NETWEAVER_MONITORING.SAP 파일을 업로드합니다.
    4. 실행을 선택하여 역할을 생성합니다. (역할 업로드의 일부로 프로필도 생성되었는지 확인)

    SAP 시스템에서 역할을 가져오기 위한 전송

    링크를 참조하여 PFCG에서 역할을 가져오고 SAP 시스템에 대한 Netweaver 공급자를 성공적으로 구성하기 위한 프로필을 생성할 수도 있습니다.

  2. 새 RFC 사용자를 만들고 권한을 부여합니다.

    1. RFC 사용자를 만듭니다.
    2. 사용자에게 Z_AMS_NETWEAVER_MONITORING 역할을 할당합니다. 이전 섹션에서 업로드한 역할입니다.
  3. SICF 서비스를 사용하도록 설정하여 SAP ICF(Internet Communication Framework)를 통해 RFC에 액세스합니다.

    1. 트랜잭션 코드 SICF로 이동합니다.
    2. 서비스 경로 /default_host/sap/bc/soap/로 이동합니다.
    3. wsdl, wsdl11RFC 서비스를 활성화합니다.

또한 ICF 포트를 사용하도록 설정했는지 확인하는 것이 좋습니다.

  1. SMON - SMON을 사용하도록 설정하여 시스템 성능을 모니터링합니다. ST-PI 버전이 SAPK-74005INSTPI인지 확인합니다.
    시각화가 구성되지 않은 경우 빈 시각화가 통합 문서의 일부로 표시됩니다.

    1. 시스템에 SDF/SMON 스냅샷 서비스를 사용하도록 설정합니다. 매일 모니터링을 켭니다. 자세한 내용은 SAP Note 2651881을 참조하세요.
    2. SDF/SMON 메트릭을 1분마다 집계되도록 구성합니다.
    3. 대상 SAP 클라이언트에서 SDF/SMON을 1분마다 실행되는 백그라운드 작업으로 예약하는 것이 좋습니다.
    4. 통합 문서 탭 "시스템 성능 - CPU 및 메모리(/SDF/SMON)"의 일부로 빈 시각화가 표시되는 경우 아래 SAP 노트를 적용합니다.
      1. 릴리스 740 SAPKB74006-SAPKB74025 - 릴리스 755 UNTIL SAPK-75502INSAPBASIS. 특정 지원 패키지 버전은 SAP 노트.- SAP Note 2246160을 참조합니다.
      2. 메트릭 컬렉션이 위의 노트로 작동하지 않는 경우 SAP Note 3268727을 시도해 보세요.
  2. 보안 통신을 사용하도록 설정하려면

    SAP NetWeaver 공급자에서 TLS 1.2 이상을 사용하도록 설정하려면 이 SAP 문서에 언급된 단계를 실행하세요.

    SAP 시스템이 TLS 1.2 이상을 사용하여 보안 통신을 위해 구성되어 있는지 확인

    1. 트랜잭션 RZ10으로 이동합니다.
    2. 기본 프로필을 열고, 확장된 유지 관리를 선택하고, 변경을 클릭합니다.
    3. 아래 구성은 TLS1.2에 대한 것이며 비트 마스크는 544: PFS입니다. TLS 버전이 더 높은 경우 비트 마스크는 544보다 큽니다.

    tlsimage1

    공급자 만들기 프로세스 중에 제공될 HTTPS 포트 확인

    1. 트랜잭션 SMICM으로 이동합니다.
    2. GOTO -> 서비스 메뉴에서 선택합니다.
    3. HTTPS 프로토콜이 활성 상태인지 있는지 확인합니다.

    tlsimage2

NetWeaver 공급자 추가

모든 필수 구성 요소가 성공적으로 완료되었는지 확인합니다. NetWeaver 공급자를 추가하려면 다음을 수행합니다.

  1. Azure Portal에 로그인합니다.

  2. SAP 솔루션용 Azure Monitor 서비스 페이지로 이동합니다.

  3. 만들기를 선택하여 리소스 만들기 페이지를 엽니다.

  4. 기본 사항 탭에 정보를 입력합니다.

  5. 공급자 탭을 선택합니다. 그런 다음, 공급자 추가를 선택합니다.

  6. 새 공급자 구성:

    1. 유형으로 SAP NetWeaver를 선택합니다.

    2. 이름으로 공급자의 고유한 이름을 입력합니다.

    3. 시스템 ID(SID)에 SAP 시스템 식별자를 3자로 입력합니다.

    4. 애플리케이션 서버에 모니터링할 SAP NetWeaver 시스템의 IP 주소 또는 FQDN(정규화된 도메인 이름)을 입력합니다. 예를 들어 sapservername.contoso.com입니다. 여기서 sapservername은 호스트 이름이고 contoso.com은 도메인입니다. 호스트 이름을 사용하는 경우 SAP 솔루션용 Azure Monitor 리소스를 만드는 데 사용한 가상 네트워크의 연결이 있는지 확인합니다.

    5. 인스턴스 번호에 SAP NetWeaver의 인스턴스 번호(00-99)를 지정합니다.

    6. 연결 유형 - 수집된 메트릭에 따라 SOAP + RFC 또는 SOAP를 선택합니다(자세한 내용은 위 섹션 참조).

    7. SAP 클라이언트 ID에 SAP 클라이언트 식별자를 제공합니다.

    8. SAP ICM HTTP 포트의 경우 ICM에서 사용 중인 포트(예: 80(NN), 여기서 (NN)은 인스턴스 번호임)를 입력합니다.

    9. SAP 사용자 이름에 SAP 시스템에 연결하기 위해 만든 사용자의 이름을 입력합니다.

    10. SAP 암호에 사용자의 암호를 입력합니다.

    11. 호스트 파일 항목의 경우 SID와 연결된 모든 SAP VM에 대한 DNS 매핑을 제공하고 호스트 파일 항목모든 SAP 애플리케이션 서버 및 ASCS 호스트 파일 항목을 입력합니다. 호스트 파일 매핑을 쉼표로 구분된 형식으로 입력합니다. 각 항목에 필요한 형식은 IP 주소, FQDN, 호스트 이름입니다. 예: 192.X.X.X sapservername.contoso.com sapservername,192.X.X.X sapservername2.contoso.com sapservername2. SID와 연결된 모든 SAP 호스트 이름을 확인하려면 sidadm 사용자를 사용하여 SAP 시스템에 로그인합니다. 그런 다음, 다음 명령을 실행 (또는) 아래 스크립트를 활용하여 호스트 파일 항목을 생성할 수 있습니다.

      지정된 SID와 연결된 인스턴스 목록을 찾는 명령

          /usr/sap/hostctrl/exe/sapcontrol -nr <instancenumber>  -function GetSystemInstanceList
      

    호스트 파일 항목을 생성하는 스크립트

    호스트 파일 항목을 생성하기 위해 링크의 자세한 지침을 따르는 것이 좋습니다. 이러한 항목은 SAP 시스템에 대한 Netweaver 공급자를 성공적으로 만드는 데 중요합니다.

SAP Netweaver 공급자 문제 해결

Netweaver 공급자를 추가하는 동안 발생하는 일반적인 문제.

  1. SAP 호스트 이름에 연결할 수 없습니다. 오류 코드: SOAPApiConnectionError

    1. 제공된 호스트 이름에 대한 입력 호스트 이름, 인스턴스 번호 및 호스트 파일 매핑을 확인합니다.

    2. 호스트 파일 항목 호스트 파일 항목 섹션을 결정하기 위한 지침을 따릅니다.

    3. NSG/방화벽이 포트 – 5XX13 또는 5XX14를 차단하지 않는지 확인합니다. (XX - SAP 인스턴스 번호)

    4. AMS 및 SAP VM이 동일한 vNet에 있거나 vNet 피어링을 사용하여 연결되어 있는지 확인합니다.

      연결되지 않은 경우 다음 링크를 참조하여 vNet을 연결합니다.

  2. 보호되지 않는 업데이트된 규칙을 확인합니다. 오류 코드: SOAPWebMethodsValidationFailed

    SAP 서비스를 다시 시작한 후 업데이트된 규칙이 각 인스턴스에 적용되는지 확인합니다.

    1. sidadm으로 SAP 시스템에 로그인하는 경우. 다음 명령을 실행합니다. <instance number>를 시스템의 인스턴스 번호로 바꿉니다.

      sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods
      
    2. SIDADM이 아닌 사용자로 로그인하는 경우. 다음 명령을 실행하고 <instance number>를 시스템의 인스턴스 번호로, <admin user>를 관리자 사용자 이름으로, <admin password>을 암호로 바꿉니다.

      sapcontrol -nr <instance number> -function ParameterValue service/protectedwebmethods -user "<admin user>" "<admin password>"
      
    3. 출력을 검토합니다. 출력에 GetQueueStatistic ABAPGetWPTable EnqGetStatistic GetProcessList GetEnvironment ABAPGetSystemWPTable 메서드의 이름이 표시되는지 확인합니다.

    4. 각 인스턴스 프로필에 대해 이전 단계를 반복합니다.

    규칙의 유효성을 검사하려면 웹 메서드에 대해 테스트 쿼리를 실행합니다. <hostname>을 호스트 이름으로, <instance number>를 SAP 인스턴스 번호로, 메서드 이름을 적절한 메서드로 바꿉니다.

    $SAPHostName = "<hostname>"
    $InstanceNumber = "<instance number>"
    $Function = "ABAPGetWPTable"
    [System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}
    $sapcntrluri = "https://" + $SAPHostName + ":5" + $InstanceNumber + "14/?wsdl"
    $sapcntrl = New-WebServiceProxy -uri $sapcntrluri -namespace WebServiceProxy -class sapcntrl
    $FunctionObject = New-Object ($sapcntrl.GetType().NameSpace + ".$Function")
    $sapcntrl.$Function($FunctionObject)
    
  3. 인터넷 통신 프레임워크 포트가 열려 있는지 확인합니다. 오류 코드: RFCSoapApiNotEnabled

    1. SAP 시스템에 로그인합니다.

    2. 트랜잭션 코드 SICF로 이동합니다.

    3. 서비스 경로 /default_host/sap/bc/soap/로 이동합니다.

    4. ping 서비스를 마우스 오른쪽 단추로 클릭하고 서비스 테스트를 선택합니다. SAP가 기본 브라우저를 시작합니다.

    5. 포트에 연결할 수 없거나 테스트에 실패하는 경우 SAP VM에서 포트를 엽니다.

      1. Linux의 경우 다음 명령을 실행합니다. <your port>를 구성된 포트로 바꿉니다.

        sudo firewall-cmd --permanent --zone=public --add-port=<your port>/TCP
        
        sudo firewall-cmd --reload
        
      2. Windows의 경우 시작 메뉴에서 Windows Defender 방화벽을 엽니다. 측면 메뉴에서 고급 설정을 선택한 다음, 인바운드 규칙을 선택합니다. 포트를 열려면 새 규칙을 선택합니다. 포트를 추가하고 프로토콜을 TCP로 설정합니다.

메트릭 수집 및 가능한 솔루션과 관련된 일반적인 문제

  1. SMON 메트릭

    필수 구성 요소에서 SMON 섹션 참조

  2. 일괄 작업 메트릭

    통합 문서 탭 "애플리케이션 성능 -일괄 작업(SM37)"의 일부로 빈 시각화가 표시되는 경우 아래 SAP 시스템에서 SAP 노트 SAP Note 2469926을 적용합니다.

    이 OSS 노트를 적용한 후에는 다음 매개 변수를 사용하여 RFC 함수 모듈 - BAPI_XMI_LOGON_WS를 실행해야 합니다.

    이 함수 모듈은 BAPI_XMI_LOGON과 동일한 매개 변수를 사용하지만 매개 변수를 BTCOPTIONS 테이블에 저장합니다.

    INTERFACE = XBP VERSION = 3.0 EXTCOMPANY = TESTC EXTPRODUCT = TESTP

  3. SWNC 메트릭

    SWNC 메트릭을 성공적으로 검색하려면 SAP 시스템과 OS(운영 체제)가 동기화된 시간을 확인해야 합니다.

다음 단계