IBM Cloud Docs
모니터링 호스트 설정 및 구성

모니터링 호스트 설정 및 구성

모니터링 에이전트는 메트릭스를 SAP 시스템에서 수집하여 모니터링 인스턴스의 대시보드에 전달합니다.

모니터링 에이전트를 위한 VPC 가상 서버 인스턴스 호스트 배포

Prometheus 의 수출 기능을 사용하여 측정 지표를 수집하십시오. 메트릭 수집에 관한 섹션에서는 메트릭, 라벨, 모니터링 에이전트에 관한 세부 사항을 설명합니다.

Prometheus 의 수출 기능은 GitHub 오픈 소스 프로젝트 SAP HANA DB 수출 기능을 기반으로 합니다.

시작하기 전에, IBM Cloud® UI를 사용하여 모니터링 호스트를 생성하는 가상 서버 인스턴스 생성에 관한 IBM Cloud® 문서를 확인하십시오.

호스트 고려 사항 모니터링

모니터링 호스트에 대해 다음 설정을 고려해 보십시오.

  • 모니터링 호스트는 모니터링 대상 SAP 시스템과 동일한 지역과 구역에 배치되어야 합니다.
  • 배포 가능한 아키텍처(DA)에 해당하는 올바른 리소스 그룹을 선택했는지 확인하십시오.
  • ibm-sles-15-5-amd64-sap-applications-<version> 이미지를 배포해야 합니다 - SUSE Linux Enterprise Server 15 SP5 for SAP Applications ( AMD64 )- 2코어에서 가장 작은 크기로.
  • SSH 키 관리에 설명된 대로 적절한 SSH 키를 추가하십시오.

ACL과 보안 그룹 확인하기

모니터링 에이전트 호스트를 생성한 후, ACL과 보안 그룹 으로 이동하여 설정이 올바른지 확인하십시오.

모니터링 호스트의 국가 위치가 아닌 다른 엔드포인트를 사용하는 경우, 해당 프라이빗 REST API 엔드포인트에 대한 IBM Cloud® 네트워크 ACL 설정을 조정해야 합니다. 자세한 정보는 Prometheus 원격 쓰기를 사용하여 메트릭 수집의 내용을 참조하십시오.

SAP 의 변수를 bash 변수로 내보내기

SAP 의 변수를 Bash 변수로 내보내려면 다음 명령을 사용하십시오.

export sap_monitoring_nr=<sap_monitoring_nr>
export sap_hana_ip=<sap_hana_ip>
export sap_ascs_ip=<sap_ascs_ip>
export sap_app_server_ip_01=<sap_app_server_ip_01>
export sap_app_server_port_01=<sap_app_server_port_01>
export sap_ascs_http_port=<sap_ascs_http_port>
export sap_hana_http_port=<sap_hana_http_port>
export sap_hana_sql_systemdb_port=<sap_hana_sql_systemdb_port>
export sap_hana_sql_systemdb_user=<sap_hana_sql_systemdb_user>
export sap_hana_sql_systemdb_password=<sap_hana_sql_systemdb_password>
export ibmcloud_monitoring_instance_url=<ibmcloud_monitoring_instance_url>
export ibmcloud_monitoring_authorization_credentials=<ibmcloud_monitoring_authorization_credentials>

데이터베이스 포트와 SAP 인스턴스 포트의 연결성 확인

다음 명령어를 사용하여 netcat 도구를 설치하십시오.

sudo zypper install netcat

Netcat을 사용하여 모니터링 호스트의 데이터베이스 포트와 SAP 인스턴스 포트에 대한 연결을 확인합니다.

nc –vz ${sap_hana_ip} ${sap_hana_sql_systemdb_port}

SAP HANA 데이터베이스 서버와 SAP HANA 서버의 sapstartsrv 웹 서비스의 HTTP 포트 사이의 연결 상태를 확인하십시오.

nc –vz ${sap_hana_ip} ${sap_hana_http_port}

SAP 의 ASCS 서버에서 SAP 의 ASCS 서버에 있는 sapstartsrv 웹 서비스의 HTTP 포트에 대한 연결 상태를 확인하십시오.

nc –vz ${sap_ascs_ip} ${sap_ascs_http_port}

SAP 첫 번째 응용 프로그램 서버의 기본(primary) 응용 프로그램 서버 IP 주소에서 첫 번째 응용 프로그램 서버의 sapstartsrv 웹 서비스의 HTTP 포트까지의 연결 상태를 확인합니다.

nc –vz ${sap_app_server_ip_01} ${sap_app_server_port_01}

SLES 운영 체제 저장소의 상태 확인

다음 명령을 사용하여 적절한 SLES OS 저장소가 활성화되어 있는지 확인하십시오.

SLE-Module-SAP-Applications15-SP5-Updates
SLE-Module-Packagehub-Subpackages15-SP5-Pool

저장소가 활성화되어 있지 않으면 다음 명령을 사용하여 활성화하십시오.

sudo SUSEConnect -p sle-module-sap-applications/15.5/x86_64
sudo SUSEConnect -p PackageHub/15.5/x86_64

만약 이 저장소를 활성화할 수 없다면, SLES 운영 체제 이미지의 잘못된 버전을 설치한 것입니다.

SLES Prometheus 패키지 설치

SLES Prometheus 패키지를 설치하려면 다음 단계를 따르십시오.

  1. 모든 운영 체제 패키지를 최신 버전으로 업데이트하십시오. 필요한 경우 호스트를 다시 시작하십시오.

    sudo zypper update
    
  2. Prometheus 를 설치하십시오.

    sudo zypper install prometheus-sap_host_exporter
    
    sudo zypper install prometheus-hanadb_exporter
    
    sudo zypper install golang-github-prometheus-prometheus
    
  3. Prometheus 데이터 저장 디렉토리를 만듭니다.

    sudo mkdir /opt/prometheus
    
  4. Prometheus 데이터 저장 디렉토리의 사용자 ID와 그룹 ID를 Prometheus 사용자로 변경합니다.

    sudo chown -R prometheus:prometheus /opt/prometheus
    
    sudo chmod u+rwx /opt/prometheus
    
  5. 메트릭 파일 metrics.json 을 구성 디렉토리 /etc/hanadb_exporter 에 복사합니다.

    sudo cp /usr/share/doc/packages/prometheus-hanadb_exporter/metrics.json  /etc/hanadb_exporter/metrics.json
    

SAP Python 드라이버 설치 hdbcli

SAP Python 드라이버를 설치하려면 다음 단계를 따르십시오. hdbcli.

  1. SAP 다운로드 센터에 접속하려면 SAP S-user 인증을 사용하십시오.

  2. 공식 SAP HANA 클라이언트를 다운로드하여 SAP HANA Python 드라이버를 복구하십시오. 보다 자세한 정보는 SAP HANA 클라이언트 설치를 참고하세요.

  3. SAP 를 설치하십시오. Python 드라이버 hdbcliPython 드라이버 설치에 설명된 대로 설치하십시오.

  4. 현재 <version><patch> 를 포함한 다음의 SAP HANA 클라이언트 패키지를 선택하십시오.

    SUPPORT PACKAGES & PATCHES - SAP HANA PLATFORM EDITION/ - SAP HANA PLATFORM EDITION 2.0/ - SAP HANA CLIENT 2.0 - LINUX ON X86_64 64BIT - IMDB_CLIENT20_<version>_<patch>-80002082.SAR
    
  5. SAPCAR_*.EXE 패키지는 SAP 다운로드 센터에서 다운로드하십시오.

  6. SAPCAR_*.EXEIMDB_CLIENTXXX.SAR 두 파일을 모니터링 호스트의 임의의 디렉토리에 복사합니다.

  7. 루트 사용자로 다음 명령을 실행합니다.

    chmod 755 SAPCAR_*.EXE
    
  8. SAPCAR를 사용하여 SAR 파일에서 SAP HANA 클라이언트를 추출합니다.

    ./SAPCAR_*.EXE -xvf IMDB_CLIENT20*.SAR
    

    SAPCAR_*.EXE 라는 파일 이름은 Linux 바이너리 파일입니다.

  9. hdbinst 를 사용하여 SAP HANA 클라이언트를 설치하십시오.

    cd SAP_HANA_CLIENT
    
    ./hdbinst
    
  10. 설치 경로를 입력하세요: [/usr/sap/hdbclient]: /usr/sap/hdbclient.

  11. Python 3.x 에 필요한 pip 패키지를 설치하십시오.

    sudo zypper install python3-pip
    
  12. SAP HANA Python 드라이버를 설치하십시오.

    pip install /usr/sap/hdbclient/hdbcli-*.tar.gz
    

Hdbuserstore 키 생성

hdbuserstore 키를 생성하려면 다음 단계를 따르십시오.

  1. Hanadb_exporter를 실행하는 동일한 Python 사용자로 저장된 사용자 키를 만듭니다. ReadOnly 의 SQL 사용자를 <sap_hana_sql_systemdb_user> 로 사용하십시오.

    /usr/sap/hdbclient/hdbuserstore SET MONITORING-${sap_monitoring_nr}-KEY \
    "${sap_hana_ip}:${sap_hana_sql_systemdb_port}@SYSTEMDB" \
    ${sap_hana_sql_systemdb_user} ${sap_hana_sql_systemdb_password}
    

    더 자세한 정보를 원하시면, SAP HANA User Store(hdbuserstore)hdbuserstore 명령어를 참고하세요.

    userkey 다음 단계로, hanadb_exporter의 구성 파일에 "userkey": "MONITORING-<sap_monitoring_nr>-KEY" 가 추가됩니다.

  2. 모든 키를 나열하여 키가 성공적으로 생성되었는지 확인하십시오.

    /usr/sap/hdbclient/hdbuserstore list
    
  3. 키만 나열하려면 다음 명령을 사용하십시오.

    /usr/sap/hdbclient/hdbuserstore list MONITORING-${sap_monitoring_nr}-KEY
    

Hanadb_exporter 구성 및 데몬 활성화

다음 단계를 통해 hanadb_exporter를 구성하고 데몬을 활성화하십시오.

hanadb_exporter 는 SAP HANA 데이터베이스에서 메트릭스를 수집합니다. 데이터베이스 테넌트 SYSTEMDB의 모든 지표는 Prometheus 를 통해 모니터링 수집 엔드포인트로 전달됩니다.

GitHub 저장소와 원본 문서는 다음 웹사이트에서 찾을 수 있습니다.

이 구성은 두 개의 구성 파일로 이루어져 있습니다

  • metrics.json- SAP HANA 데이터베이스에 대한 모든 SQL 문이 포함되어 있습니다
  • config.json sap_hana_ip, sap_hana_sql_systemdb_port, 그리고 hdbuserkey

데이터베이스에 대한 관리자 권한이 필요하지 않게 하려면 hdbuserstore에서 SQL 사용자 ReadOnly 를 사용하십시오. 특정 매개변수는 구성 파일에 있는 자리 표시자( <…>)를 대체하여 추가됩니다.

  1. 다음 명령을 사용하여 파일 이름이 /etc/hanadb_exporter/config-<sap_monitoring_nr>-SQL.json 인 사용자 루트 권한으로 구성 파일을 만듭니다

    {
       "listen_address": "0.0.0.0",
       "exposition_port": 5<sap_monitoring_nr>02,
       "multi_tenant": false,
       "_comment_multi_tenant": "true, if you want another 1000 metrics",
       "timeout": 30,
       "hana": {
         "host": "<sap_hana_ip>",
         "port": <sap_hana_sql_systemdb_port>,
         "userkey": "MONITORING-<sap_monitoring_nr>-KEY",
         "ssl": true,
         "ssl_validate_cert": false
         }
    }
    
  2. userkey 의 값은 앞서 만든 hdbuserkey 이름을 사용합니다.

다음 명령을 사용하여 키를 나열할 수 있습니다.

/usr/sap/hdbclient/hdbuserstore list
  1. A구성 파일의 권한을 변경하여 루트 사용자만 읽을 수 있도록 하십시오.

    chmod 600 /etc/hanadb_exporter/config*
    
  2. systemd servicesap_host_exporters 구성을 정의하기 전에 다음 명령을 사용하여 내보내기를 수동으로 테스트하십시오.

    hanadb_exporter -c /etc/hanadb_exporter/config-${sap_monitoring_nr}-SQL.json -m /etc/hanadb_exporter/metrics.json
    
  3. 이 과정은 하나의 단말기를 차단하는 것이므로, 두 번째 단말기를 열고 수출업자가 메트릭스를 올바르게 수집했는지 확인하십시오. 다음 cURL 명령을 실행하십시오.

    curl http://localhost:5${sap_monitoring_nr}02/metrics
    

지표가 표시되면 상태 메시지도 표시되어야 합니다. 지표가 올바르게 나열되면 내보내기 프로세스를 중단하십시오.

hanadb_exporter 용 systemd 애플리케이션을 구성합니다.

hanadb_exporter 의 환경설정 파일( systemd configuration file)은 설치 패키지에 포함되어 있습니다. 이 구성 파일에는 변경할 필요가 없습니다. Systemd 서비스는 구성 이름(파일 이름에 JSON 확장자가 없는)을 가진 모든 프로세스를 시작할 수 있습니다.

  1. hanadb_exportersystemd 서비스를 활성화하려면 다음 명령을 사용하십시오.

    sudo systemctl start prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
    sudo systemctl enable prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    
  2. hanadb_exporter 의 상태를 표시하려면 아래 명령을 실행하십시오.

    sudo systemctl status prometheus-hanadb_exporter@config-${sap_monitoring_nr}-SQL
    

Sap_host_exporter 구성 및 데몬 활성화

다음 정보를 사용하여 sap_host_exporter를 구성하고 데몬을 활성화하십시오.

Prometheus sap_host_exporter HTTP 프로토콜을 사용하여 SAP 시스템 인스턴스에서 메트릭을 수집합니다. 더 자세한 정보는 공식 GitHub 저장소를 참고하세요.

SAP 의 내보내기 구성에는 연결과 HTTP 포트를 위한 모든 매개변수가 포함되어 있습니다. 각 연결마다 별도의 구성 파일을 만들어야 한다는 점에 유의하시기 바랍니다.

/etc/sap_host_exporter/ 디렉토리에 구성 파일을 만듭니다. 다음 명령을 사용하여 구성 파일의 이름을 SAP 인스턴스에 따라 지정하십시오.

설정 파일에는 다음 템플릿을 사용하십시오.

  1. 루트 사용자로 SAP HANA 구성 파일을 파일 이름 /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-HANA.yaml 로 만듭니다.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>03"
    log-level: "info"
    sap-control-url: "http://<sap_hana_ip>:<sap_hana_http_port>"
    
  2. /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-ASCS.yaml 루트 사용자로 SAP 라는 파일 이름으로 ASCS 구성 파일을 만듭니다.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5${sap_monitoring_nr}04"
    log-level: "info"
    # ASCS instance
    sap-control-url: "http://<sap_ascs_ip>:<sap_ascs_http_port>"
    
  3. 루트 사용자로, 이름이 /etc/sap_host_exporter/sap_host_exporter-${sap_monitoring_nr}-DI-01.yaml 인 첫 번째 PAS( SAP 응용 프로그램 서버) 구성 파일을 만듭니다.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>05"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_01>:<sap_app_server_port_01>"
    
  4. 루트 사용자로 2번째 AAS( SAP ) 애플리케이션 서버 구성 파일을 /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-02.yaml 라는 이름으로 만듭니다.

    # The listening TCP/IP address and port.
    address: "0.0.0.0"
    port: "5<sap_monitoring_nr>06"
    log-level: "info"
    # DI instance (metrics dispatcher server + resources)
    sap-control-url: "http://<sap_app_server_ip_02>:<sap_app_server_port_02>"
    

    여러 개의 애플리케이션 서버가 있는 경우, 각 SAP 애플리케이션 서버에 대한 구성 파일을 더 만듭니다. 각 구성 파일의 숫자를 늘려야 합니다.

  5. sap_host_exporter 의 각 구성을 테스트하십시오.

    sap_host_exporter -c /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-HANA.yaml
    
  6. 이 과정은 터미널을 차단하는 것이므로, 두 번째 터미널을 열고 다음 명령을 실행하십시오.

    curl http://localhost:5<sap_monitoring_nr>03/metrics
    
  7. 지표 데이터가 표시되는지 확인하십시오. 지표가 표시되지 않으면 오류 메시지가 표시되어야 합니다.

  8. 다른 내보내기 구성으로 동일한 테스트를 반복합니다

    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-ASCS.yaml
    
    /etc/sap_host_exporter/sap_host_exporter-<sap_monitoring_nr>-DI-01.yaml
    

모든 내보내기 프로그램이 올바르게 작동한다면, systemd 구성을 계속하십시오.

sap_host_exporter 를 위해 systemd 서버를 구성합니다.

모든 sap_host_exporters 에 대해 하나의 추가적인 systemd 구성 파일만 필요합니다. systemd 는 구성 이름(파일 이름에 JSON 확장자가 없는)으로 모든 프로세스를 시작할 수 있습니다.

  1. 시스템 디렉토리에서 사용자 root로 sap_host_exporter@.service 파일을 생성합니다.

    /etc/systemd/system/sap_host_exporter@.service
    
  2. 변경하지 말고 다음 내용을 추가하십시오.

    [Unit]
    Description=Prometheus sap_host_exporter for Netweaver clusters metrics
    After=network.target
    Documentation=https://github.com/SUSE/sap_host_exporter
    [Service]
    Type=simple
    Restart=always
    ExecStart=/usr/bin/sap_host_exporter --config /etc/sap_host_exporter/%i.yaml
    ExecReload=/bin/kill -HUP $MAINPID
    [Install]
    WantedBy=multi-user.target
    DefaultInstance=default
    
  3. 시스템 구성 재설정을 위해 루트 사용자로 다음 명령을 실행하십시오.

    systemctl daemon-reload
    
  4. 사용자 root로 모든 구성된 sap_host_exporters 에 대해 서비스를 시작하고 활성화합니다.

    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl enable --now sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  5. 사용자 루트로 systemd processes 의 상태를 확인하십시오.

    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    
    systemctl status sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-02
    
  6. systemd autostart을(를) 활성화합니다.

    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-ASCS
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-HANA
    
    sudo systemctl enable sap_host_exporter@sap_host_exporter-${sap_monitoring_nr}-DI-01
    

다음 단계

모니터링 호스트의 설정과 구성이 성공적으로 완료되었다면, Prometheus 서버 메트릭 포워딩 구성을 계속 진행합니다.