버전 2: SAP HANA 모니터링 측정항목 수집 구성

이 가이드에서는 SAP용 Google Cloud 에이전트 버전 2가 SAP HANA 시스템에서 SAP HANA 모니터링 측정항목을 수집하도록 구성하는 방법을 보여줍니다.

이 기능에 대한 자세한 내용은 SAP용 Google Cloud 에이전트를 사용하여 SAP HANA 모니터링을 참조하세요.

시작하기 전에

IAM 역할 설정

SAP용 Google Cloud 에이전트가 SAP HANA 모니터링 측정항목을 수집하도록 허용하려면 Compute Engine 인스턴스 또는 베어메탈 솔루션 서버에서 사용 중인 서비스 계정에 다음 역할이 포함되어 있는지 확인해야 합니다.

서비스 계정에 이러한 필수 역할을 추가하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. Google Cloud 프로젝트를 선택합니다.

  3. 역할을 추가할 서비스 계정을 찾습니다.

    • 서비스 계정이 주 구성원 목록에 아직 없는 경우 어떠한 역할도 할당되지 않은 것입니다. 추가를 클릭하고 서비스 계정의 이메일 주소를 클릭하세요.
    • 서비스 계정이 주 구성원 목록에 이미 있는 경우 기존 역할이 있는 것입니다. 수정하려는 서비스 계정에서 수정 버튼을 클릭합니다.
  4. 사용 가능한 역할 목록에서 필요한 역할을 선택합니다.

    • Compute 뷰어
    • 모니터링 > 모니터링 측정항목 작성자
    • Secret Manager > Secret Manager 보안 비밀 접근자
  5. 추가 또는 저장을 클릭하여 서비스 계정에 역할을 적용합니다.

SAP HANA 모니터링 측정항목 수집 사용 설정

SAP용 Google Cloud 에이전트를 사용하여 SAP HANA 모니터링 측정항목 수집을 사용 설정하려면 다음 단계를 수행합니다.

  1. Compute Engine 인스턴스 또는 베어메탈 솔루션 서버와 SSH 연결을 설정합니다.

  2. 에이전트의 구성 파일을 엽니다.

    /etc/google-cloud-sap-agent/configuration.json
  3. hana_monitoring_configuration 섹션에서 다음을 수행합니다.

    • enabled 매개변수에 값을 true로 설정합니다.
    • hana_instances 섹션에서 에이전트로 모니터링하려는 SAP HANA 인스턴스를 지정합니다.
    • 선택적으로 커스텀 쿼리를 정의합니다. 커스텀 쿼리 정의에 대한 자세한 내용과 예시를 보려면 커스텀 쿼리 정의를 참조하세요.
    • 선택적으로 기본 제공 쿼리 또는 기본 쿼리를 사용 중지합니다. 자세한 내용은 SQL 쿼리 사용 중지를 참조하세요.

      구성 매개변수에 대한 자세한 내용은 구성 매개변수를 참조하세요.

  4. 선택적으로 cloud_properties 섹션에서 자동으로 설정되는 매개변수 값을 업데이트할 수 있습니다. 이렇게 하려면 구성 파일에 cloud_properties 섹션을 추가한 다음 필수 매개변수 및 해당 값을 지정합니다.

  5. 구성 파일을 저장합니다.

  6. 새 설정이 적용되도록 에이전트를 다시 시작합니다.

    sudo systemctl restart google-cloud-sap-agent

구성 파일 예시

Compute Engine 인스턴스

다음 예시는 SAP HANA 모니터링 측정항목 수집이 사용 설정된Compute Engine 인스턴스에서 실행되는 SAP용 Google Cloud 에이전트의 완료된 구성 파일입니다. custom_query 이름으로 이 예시에 포함된 커스텀 쿼리는 커스텀 쿼리 정의에 지정된 커스텀 쿼리 정의 가이드라인을 따릅니다.

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": false,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "instance-1",
    "image": "rhel-8"
  },
  "discovery_configuration": {
    "enable_discovery": true,
    "enable_workload_discovery": true
  },
  "hana_monitoring_configuration": {
    "enabled": true,
    "sample_interval_sec": 60,
    "query_timeout_sec": 30,
    "execution_threads": 20,
    "hana_instances": [
      {
        "name": "local",
        "sid": "DEH",
        "host": "localhost",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name"
      },
      {
        "name": "remote",
        "sid": "DEH",
        "host": "10.123.0.12",
        "port": "30015",
        "user": "system",
        "secret_name": "password-secret-name"
      }
    ],
    "queries": [
      {
        "name": "custom_query",
        "enabled": true,
        "sql": "SELECT * FROM MyTable;",
        "columns": [
          {
            "name": "string",
            "metric_type": "METRIC_LABEL",
            "value_type": "VALUE_STRING"
          },
          {
            "name": "bool",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_BOOL"
          },
          {
            "name": "int",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_INT64"
          },
          {
            "name": "double",
            "metric_type": "METRIC_GAUGE",
            "value_type": "VALUE_DOUBLE"
          }
        ]
      },
      {
        "name": "default_host_queries",
        "enabled": false
      }
    ]
  }
}

베어메탈 솔루션 서버

다음 예시는 SAP HANA 모니터링 측정항목 수집이 사용 설정된베어메탈 솔루션 서버에서 실행되는 SAP용 Google Cloud 에이전트의 완료된 구성 파일입니다. custom_query 이름으로 이 예시에 포함된 커스텀 쿼리는 커스텀 쿼리 정의에 지정된 커스텀 쿼리 정의 가이드라인을 따릅니다.

{
  "provide_sap_host_agent_metrics": true,
  "bare_metal": true,
  "log_level": "INFO",
  "log_to_cloud": true,
  "collection_configuration": {
    "collect_workload_validation_metrics": true,
    "collect_process_metrics": false
  },
  "cloud_properties": {
    "project_id": "my-project",
    "instance_name": "bms-machine-1"
"region": "us-central1", "image": "rhel-8" }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": true, "sample_interval_sec": 60, "query_timeout_sec": 30, "execution_threads": 20, "hana_instances": [ { "name": "local", "sid": "DEH", "host": "localhost", "port": "30015", "user": "system", "secret_name": "password-secret-name" }, { "name": "remote", "sid": "DEH", "host": "10.123.0.12", "port": "30015", "user": "system", "secret_name": "password-secret-name" } ], "queries": [ { "name": "custom_query", "enabled": true, "sql": "SELECT * FROM MyTable;", "columns": [ { "name": "string", "metric_type": "METRIC_LABEL", "value_type": "VALUE_STRING" }, { "name": "bool", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_BOOL" }, { "name": "int", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_INT64" }, { "name": "double", "metric_type": "METRIC_GAUGE", "value_type": "VALUE_DOUBLE" } ] }, { "name": "default_host_queries", "enabled": false } ] } }

커스텀 SQL 쿼리 정의

SAP용 Google Cloud 에이전트는 SAP HANA 인스턴스에서 SQL 쿼리를 실행하여 SAP HANA 모니터링 측정항목을 수집합니다. 이러한 기본 쿼리 외에도 다음 단계를 완료하여 커스텀 SQL 쿼리를 정의하고 실행할 수 있습니다.

  1. Compute Engine 인스턴스 또는 베어메탈 솔루션 서버와 SSH 연결을 설정합니다.

  2. 에이전트의 구성 파일을 엽니다.

    /etc/google-cloud-sap-agent/configuration.json
  3. hana_monitoring_configuration.queries 섹션에서 커스텀 쿼리를 정의합니다.

    커스텀 쿼리 정의에 대한 자세한 내용과 예시를 보려면 커스텀 쿼리 정의를 참조하세요.

  4. 커스텀 쿼리를 사용 설정하려면 enabled 매개변수를 true로 설정합니다.

  5. 구성 파일을 저장합니다.

  6. 새 설정이 적용되도록 에이전트를 다시 시작합니다.

    sudo systemctl restart google-cloud-sap-agent

SQL 쿼리 중지

SAP용 Google Cloud 에이전트에서 기본적으로 제공하는 기본 제공 SQL 쿼리 또는 사용자가 정의하는 커스텀 쿼리를 실행하지 않으려면 다음 단계를 완료하여 SQL 쿼리를 사용 중지하면 됩니다.

  1. Compute Engine 인스턴스 또는 베어메탈 솔루션 서버와 SSH 연결을 설정합니다.

  2. 에이전트의 구성 파일을 엽니다.

    /etc/google-cloud-sap-agent/configuration.json
  3. 기본 제공 쿼리 또는 기본 쿼리를 사용 중지하려면 hana_monitoring_configuration.queries 섹션에 다음을 포함합니다.

    {
    "name": "default_QUERY_NAME",
    "enabled": false
    }

    QUERY_NAME을 기본 쿼리 이름으로 바꿉니다. 기본 쿼리에 대한 자세한 내용은 기본 쿼리 참조를 확인하세요.

  4. 커스텀 쿼리를 사용 중지하려면 해당 커스텀 쿼리에 대해 enabled 매개변수를 false로 설정합니다.

  5. 구성 파일을 저장합니다.

  6. 새 설정이 적용되도록 에이전트를 다시 시작합니다.

    sudo systemctl restart google-cloud-sap-agent

구성 매개변수

다음 표에서는 SAP HANA 모니터링 측정항목 수집과 관련된 SAP용 Google Cloud 에이전트의 구성 매개변수를 설명합니다.

매개변수
provide_sap_host_agent_metrics

Boolean

SAP 호스트 에이전트에 필요한 측정항목 수집을 사용 설정하려면 true를 지정합니다. 기본값은 true입니다.
Cloud Customer Care 또는 SAP 지원팀에서 별도의 안내를 받지 않는 한 provide_sap_host_agent_metricsfalse로 설정하지 않도록 하세요.

bare_metal

Boolean

에이전트를 베어메탈 솔루션 서버에 설치할 때 true를 지정합니다. 기본값은 false입니다.

log_level

String

에이전트의 로깅 수준을 설정하려면 필수 값을 설정하세요. 사용 가능한 로그 수준은 다음과 같습니다.

  • DEBUG
  • INFO
  • WARNING
  • ERROR

기본값은 INFO입니다. Cloud Customer Care의 지시가 없는 한 로깅 수준을 변경하지 마세요.

log_to_cloud

Boolean

에이전트 로그를 Cloud Logging으로 리디렉션하려면 true를 지정합니다. 기본값은 true입니다.

sap_system_discovery

Boolean

SAP 시스템 검색을 사용 설정하려면 true를 지정합니다. 기본값은 true입니다.

cloud_properties.project_id

String

SAP 시스템이 베어메탈 솔루션 서버에서 실행되는 경우 베어메탈 솔루션에서 사용 중인 Google Cloud 프로젝트의 프로젝트 ID를 지정합니다.

에이전트가 Compute Engine 인스턴스에서 실행되면 기본적으로 프로젝트 ID가 자동으로 감지됩니다.

cloud_properties.instance_name

String

SAP 시스템이 Compute Engine 인스턴스에서 실행되는 경우 해당 컴퓨팅 인스턴스의 이름을 지정합니다. 에이전트가 설치 시 컴퓨팅 인스턴스 이름을 자동으로 감지합니다.

SAP 시스템이 베어메탈 솔루션 서버에서 실행되는 경우 해당 서버의 이름을 지정합니다. 에이전트 버전 2.5 이하에서 instance_id 속성에 대한 베어메탈 솔루션 서버 이름을 지정합니다.

cloud_properties.region

String

SAP 시스템이 베어메탈 솔루션 서버에서 실행되는 경우 베어메탈 솔루션 서버의 리전을 지정합니다.

에이전트가 컴퓨팅 인스턴스에서 실행되면 기본적으로 컴퓨팅 인스턴스가 배포된 리전을 사용합니다.

cloud_properties.zone

String

에이전트가 컴퓨팅 인스턴스에서 실행되면 기본적으로 컴퓨팅 인스턴스가 배포된 영역이 사용됩니다.

cloud_properties.image

String

인스턴스의 OS 이미지 이름을 지정합니다.

에이전트가 컴퓨팅 인스턴스에서 실행되면 기본적으로 컴퓨팅 인스턴스에서 사용하는 OS 이미지가 자동으로 감지됩니다.

cloud_properties.numeric_project_id

String

SAP 시스템이 실행 중인 Google Cloud 프로젝트의 숫자 ID를 지정합니다.

에이전트가 컴퓨팅 인스턴스에서 실행되면 기본적으로 프로젝트 번호가 자동으로 감지됩니다.

hana_monitoring_configuration.enabled

Boolean

선택사항입니다. SAP HANA 모니터링 측정항목을 수집하도록 SAP용 Google Cloud 에이전트를 사용 설정하려면 true를 지정합니다. 기본값은 false입니다.

다음 하위 속성은 hana_monitoring_configuration.enabled: true를 지정할 때만 적용됩니다.
hana_monitoring_configuration.sample_interval_sec

Int

선택사항입니다. SAP용 Google Cloud 에이전트가 SAP HANA 모니터링 측정항목을 수집하기 위해 SAP HANA 인스턴스를 쿼리하는 빈도를 결정하는 샘플 간격(초)을 지정합니다. 기본값은 300초입니다.

SAP용 Google Cloud 에이전트의 구성 파일에 정의된 각 쿼리에 대해 sample_interval_sec 매개변수에 필요한 간격을 지정하여 전역 샘플 간격을 덮어쓸 수 있습니다. 샘플 간격은 5초 이상이어야 합니다.

hana_monitoring_configuration.query_timeout_sec

Int

선택사항입니다. SAP HANA 인스턴스에 수행되는 각 쿼리의 제한 시간을 지정합니다. 기본값은 300초입니다.

hana_monitoring_configuration.execution_threads

Int

선택사항입니다. SAP HANA 인스턴스로 쿼리를 전송하는 데 사용되는 스레드 수를 지정합니다. 각 쿼리는 자체 스레드에서 실행됩니다. 기본값은 10입니다.

hana_monitoring_configuration.hana_instances.name

String

SAP HANA 인스턴스의 이름 식별자를 지정합니다.

hana_monitoring_configuration.hana_instances.sid

String

SAP HANA 인스턴스의 SID를 지정합니다. 이 문자열은 SAP HANA 인스턴스 쿼리에서 발생하는 모든 측정항목에 라벨로 추가됩니다.

hana_monitoring_configuration.hana_instances.host

String

SAP HANA 인스턴스를 호스팅하는 로컬 또는 원격의 머신 식별자를 지정합니다. 지원되는 값은 다음과 같습니다.

  • 호스트가 로컬 머신이면 localhost 문자열을 지정하거나 127.0.0.1과 같은 로컬 호스트 루프백 IP 주소를 지정합니다.
  • 호스트가 원격 머신이면 내부 또는 외부 IP 주소를 지정합니다.
hana_monitoring_configuration.hana_instances.port

String

SAP HANA 인스턴스가 쿼리를 허용하는 포트를 지정합니다. 첫 번째 또는 유일한 테넌트 데이터베이스 인스턴스의 경우 포트가 3NN15이고 여기서 NN은 SAP HANA 인스턴스의 인스턴스 번호입니다.

hana_monitoring_configuration.hana_instances.user

String

SAP HANA 인스턴스 쿼리에 사용되는 사용자 계정을 지정합니다.

이 사용자에게 SAP HANA 데이터베이스의 모니터링 뷰를 읽을 수 있는 권한이 있는지 확인합니다. 이 권한이 부여되지 않으면 모니터링 뷰와 관련된 SAP HANA 모니터링 측정항목에 데이터가 포함되지 않습니다.

hana_monitoring_configuration.hana_instances.password

String

선택사항입니다. SAP HANA 인스턴스 쿼리를 위해 사용자 계정을 인증하는 비밀번호를 일반 텍스트로 지정합니다.

인증을 위해 다음 중 하나를 지정해야 합니다.

  • password 속성에 대한 일반 텍스트 비밀번호
  • (권장사항) Secret Manager를 사용하여 비밀번호를 보안 비밀로 저장하는 경우 secret_name 매개변수에 대해 해당 보안 비밀 이름을 지정해야 합니다.
hana_monitoring_configuration.hana_instances.secret_name

String

선택사항입니다. Secret Manager에서 사용자 계정의 비밀번호를 저장하는 보안 비밀의 이름을 지정합니다.

hana_monitoring_configuration.hana_instances.enable_ssl

Boolean

선택사항입니다. SAP HANA 인스턴스에서 SSL이 사용 설정되었는지 여부를 지정합니다. 기본값은 false입니다.

hana_monitoring_configuration.hana_instances.host_name_in_certificate

String

SAP HANA 인스턴스에 enable_ssl: true를 지정하는 경우 SSL 인증서에 설정된 호스트 이름을 지정해야 합니다.

hana_monitoring_configuration.hana_instances.tls_root_ca_file

String

SAP HANA 인스턴스에 enable_ssl: true를 지정하는 경우 보안 인증서의 경로를 지정해야 합니다.

hana_monitoring_configuration.queries.enabled

Boolean

선택사항입니다. 모든 SAP HANA 인스턴스에 대해 SQL 쿼리를 사용 설정하려면 해당 SQL 쿼리의 enabled 매개변수에 true 값을 지정합니다.

hana_monitoring_configuration.queries.name

String

구성 파일에 커스텀 쿼리를 정의한 경우 각 커스텀 쿼리에 대해 고유 이름을 지정해야 합니다.

쿼리 이름은 모니터링에서 측정항목의 기본 URL을 빌드하는 데 사용되므로 고유해야 합니다.

hana_monitoring_configuration.queries.sql

String

에이전트가 SAP HANA 인스턴스에 대해 실행하는 SQL 문을 지정합니다.

SQL 문은 SAP HANA SQL 및 시스템 보기 참조에서 SAP에서 정의된 SQL 문법과 일치해야 합니다.
hana_monitoring_configuration.queries.sample_interval_sec

Int

선택사항입니다. SQL 쿼리의 샘플 간격을 지정합니다. 이렇게 하면 전역 샘플 간격이 재정의됩니다. 값은 5초 이상이어야 합니다.

hana_monitoring_configuration.queries.columns.name

String

각 열을 고유하게 식별하는 이름을 지정합니다.

열 이름은 Monitoring에서 측정항목의 기본 URL을 빌드하는 데 사용되므로 고유해야 합니다.

hana_monitoring_configuration.queries.columns.metric_type

String

Monitoring에서 처리할 수 있도록 측정 항목 유형을 METRIC_LABEL, METRIC_GAUGE, METRIC_CUMULATIVE 중 하나로 지정합니다.

METRIC_LABEL 유형의 측정 항목은 Monitoring에 전송되는 모든 METRIC_GAUGEMETRIC_CUMULATIVE 측정항목에 라벨로 추가됩니다.

hana_monitoring_configuration.queries.columns.value_type

String

Monitoring에서 처리할 수 있도록 해당 측정항목 유형에서 지원되는 데이터 유형을 지정합니다.

지원되는 데이터 유형은 VALUE_BOOL, VALUE_INT64, VALUE_STRING, VALUE_DOUBLE입니다. 자세한 내용은 지원되는 조합을 참조하세요.

hana_monitoring_configuration.queries.columns.name_override

String

선택사항입니다. Monitoring에서 처리할 수 있도록 쿼리 및 열 이름 대신 측정항목 URL에 표시할 경로를 지정합니다. 예를 들면 다음과 같습니다.

  • 측정항목의 기본 URL: workload.googleapis.com/sap/hanamonitoring/QUERY_NAME/COLUMN_NAME
  • 커스텀 경로를 사용하는 측정항목 URL: workload.googleapis.com/sap/hanamonitoring/CUSTOM_PATH

수집된 측정항목 보기

에이전트에서 수집하는 SAP HANA 모니터링 측정항목을 시각화하려면 Google Cloud에서 제공하는 다음 커스텀 대시보드를 사용하면 됩니다.

  • SAP용 에이전트 - 상세 HANA 개요: 이 대시보드는 인스턴스 메모리, 사용된 서비스 메모리, 스키마 예상 최대 메모리, 행 저장소 메모리 총 크기, 스키마 읽기 외부값, 스키마 쓰기 외부값, 스키마 마지막으로 압축된 레코드 수 외부값, 시스템 연결, 알림, 상위 5개 컴퓨팅 인스턴스의 CPU 비율, 상위 5개 컴퓨팅 인스턴스의 메모리 비율, 지역별 호스트 등의 측정항목 상태 개요를 표시하는 차트를 제공합니다.

    이 대시보드의 JSON 파일은 agent-for-sap-hana-detailed-overview.json입니다.

  • SAP용 에이전트 - HANA 성능: 이 대시보드는 인스턴스 메모리, 스키마 읽기 및 쓰기 이상점, 스키마 성능, 메모리 사용량, 스키마 레코드 수 이상점, 사용된 서비스 총 메모리, rowstore 메모리 크기, 시스템 유휴 및 실행 연결, 연결 및 rowstore 메모리, 스키마 총 레코드, 스키마 예상 최대 총 크기와 같은 측정항목의 원시 측정항목 값을 표시하는 차트를 제공합니다.

    이 대시보드의 JSON 파일은 agent-for-sap-hana-performance.json입니다.

대시보드 설치

커스텀 대시보드를 설치하려면 다음 단계를 완료합니다.

Google Cloud 콘솔

  1. Google Cloud 콘솔에서 Monitoring 페이지로 이동합니다.

    Monitoring으로 이동

  2. Monitoring 탐색창에서 대시보드를 클릭합니다.

  3. 샘플 라이브러리 탭을 클릭합니다.

    선택한 샘플 라이브러리 탭을 표시합니다.

  4. 에이전트별 커스텀 대시보드를 필터링하려면 필터 필드에 Agent for SAP를 입력합니다.

  5. (선택사항) 대시보드 세부정보를 보거나 콘텐츠를 미리 보려면 미리보기를 클릭합니다.

  6. 설치하려는 대시보드를 선택합니다.

  7. 가져오기를 클릭한 후 확인을 클릭합니다.

    대시보드가 Google Cloud 프로젝트의 사용 가능한 대시보드에 추가됩니다. 대시보드를 보려면 설치된 대시보드 보기의 안내를 따르세요.

Google Cloud CLI

  1. Cloud Shell을 엽니다.

    Cloud Shell 열기

  2. Cloud Shell에서 저장소를 클론 또는 다운로드합니다.

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/

  3. Cloud Shell에서 해당 JSON 파일을 사용하여 필요한 대시보드를 설치합니다.

    gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE

    CONFIG_FROM_FILE을 대시보드 구성이 포함된 JSON 파일의 경로로 바꿉니다. 대시보드 구성 파일은 monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap 경로에 있을 수 있습니다.

    대시보드가 Google Cloud 프로젝트의 사용 가능한 대시보드에 추가됩니다. 대시보드를 보려면 설치된 대시보드 보기의 안내를 따르세요.

설치된 대시보드 보기

설치된 대시보드를 보려면 다음 단계를 수행하세요.

  1. Google Cloud 콘솔에서 Monitoring 페이지로 이동합니다.

    Monitoring으로 이동

  2. Monitoring 탐색창에서 대시보드를 클릭합니다.

  3. 목록에서 대시보드 이름을 클릭합니다.

대시보드가 많으면 커스텀 대시보드 또는 새 대시보드 이름으로 필터링할 수 있습니다. 이 목록 필터링에 대한 자세한 내용은 커스텀 대시보드 보기를 참조하세요.

다음 이미지는 Monitoring에서 SAP HANA 측정항목의 커스텀 대시보드 일부를 보여주는 예시입니다.

Monitoring에서 SAP HANA 측정항목의 커스텀 대시보드를 보여주는 화면 캡처