

# CloudWatch Application Insights에서 사용하는 AWS Systems Manager(SSM) 패키지
<a name="appinsights-ssm-packages"></a>

이 섹션에 나열된 패키지는 Application Insights에서 사용하며 AWS Systems Manager Distributor를 통해 개별적으로 관리하고 배포할 수 있습니다. SSM Distributor에 대한 자세한 내용은 *AWS Systems Manager 사용 설명서*의 [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) 단원을 참조하세요.

**Topics**
+ [`AWSObservabilityExporter-JMXExporterInstallAndConfigure`](#configure-java)
+ [`AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus)
+ [`AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`](#appinsights-ssm-sap-prometheus-ha)
+ [`AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`](#appinsights-ssm-sap-host-exporter)
+ [`AWSObservabilityExporter-SQLExporterInstallAndConfigure`](#appinsights-ssm-sql-prometheus)

## `AWSObservabilityExporter-JMXExporterInstallAndConfigure`
<a name="configure-java"></a>

Application Insights의 [Prometheus JMX Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters)에서 워크로드별 Java 지표를 검색하여 경보를 구성하고 모니터링할 수 있습니다. Application Insights 콘솔의 [**모니터링 관리(Manage monitoring)**] 페이지에 있는 [**애플리케이션 티어(Application tier)**] 드롭다운에서 [**JAVA 애플리케이션(JAVA application)**]을 선택합니다. 그런 다음, [**JAVA Prometheus Exporter 구성(JAVA Prometheus exporter configuration)**]에서 [**수집 방법(Collection method)**] 및 [**JMX 포트 번호(JMX port number)**]를 선택합니다.

[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)를 사용하여 Application Insights와 별도로 AWS 제공 Prometheus JMX Exporter 패키지를 패키징하고 설치하며 구성하려면 다음 단계를 완료합니다.

**Prometheus JMX Exporter SSM 패키지를 사용하기 위한 사전 조건**
+ SSM Agent 버전 2.3.1550.0 이상이 설치되어 있어야 합니다.
+ JAVA\$1HOME 환경 변수가 설정되어 있어야 합니다.

**`AWSObservabilityExporter-JMXExporterInstallAndConfigure` 패키지 설치 및 구성**  
`AWSObservabilityExporter-JMXExporterInstallAndConfigure` 패키지는 [Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter)를 설치하고 구성하는 데 사용할 수 있는 SSM Distributor 패키지입니다. Prometheus JMX Exporter가 Java 지표를 전송하면 CloudWatch 서비스의 지표를 검색하도록 CloudWatch 에이전트를 구성할 수 있습니다.

1. 기본 설정을 기반으로 Prometheus GitHub 리포지토리에 위치한 [Prometheus JMX Exporter YAML 구성 파일](https://github.com/prometheus/jmx_exporter#configuration)을 준비합니다. 예제 구성 및 옵션 설명을 사용하여 안내합니다.

1. Base64로 인코딩된 Prometheus JMX Exporter YAML 구성 파일을 [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)의 새 SSM 파라미터에 복사합니다.

1. [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) 콘솔로 이동하여 **Amazon 소유(Owned by Amazon)** 탭을 엽니다. [**AWSObservabilityExporter-JMXExporterInstallAndConfigure**]를 선택하고 [**일회 설치(Install one time)**]를 선택합니다.

1. "추가 인수"를 다음으로 대체하여 첫 번째 단계에서 생성한 SSM 파라미터를 업데이트합니다.

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
     "SSM_EXPOSITION_PORT": "9404"
   }
   ```
**참고**  
포트 9404는 Prometheus JMX 지표를 전송하는 데 사용되는 기본 포트입니다. 이 포트를 업데이트할 수 있습니다.

**예: Java 지표를 검색하도록 CloudWatch 에이전트 구성**

1. 이전 절차에서 설명한 대로 Prometheus JMX Exporter를 설치합니다. 그런 다음, 포트 상태를 확인하여 인스턴스에 올바르게 설치되었는지 확인합니다.

   Windows 인스턴스에서의 성공적인 설치 예

   ```
   PS C:\> curl http://localhost:9404 (http://localhost:9404/)
   StatusCode : 200
   StatusDescription : OK
   Content : # HELP jvm_info JVM version info
   ```

   Linux 인스턴스에서의 성공적인 설치 예

   ```
   $ curl localhost:9404
   # HELP jmx_config_reload_failure_total Number of times configuration have failed to be reloaded.
   # TYPE jmx_config_reload_failure_total counter
   jmx_config_reload_failure_total 0.0
   ```

1. Prometheus 서비스 검색 YAML 파일을 생성합니다. 아래에 나와 있는 서비스 검색 파일 예에서는 다음을 수행합니다.
   + Prometheus JMX Exporter 호스트 포트를 `localhost: 9404`로 지정합니다.
   + CloudWatch 지표 측정기준으로 설정할 수 있는 레이블(`Application`, `ComponentName`, `InstanceId`)을 지표에 연결합니다.

   ```
   $ cat prometheus_sd_jmx.yaml 
   - targets:
     - 127.0.0.1:9404
     labels:
       Application: myApp
       ComponentName: arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/sampl-Appli-MMZW8E3GH4H2/aac36d7fea2a6e5b
       InstanceId: i-12345678901234567
   ```

1. Prometheus JMX Exporter 구성 YAML 파일을 생성합니다. 아래에 나와 있는 구성 파일 예에서는 다음을 지정합니다.
   + 지표 검색 작업 간격 및 시간 제한 기간
   + 작업 이름, 한 번에 반환되는 최대 시계열, 서비스 검색 파일 경로를 포함하는 지표 검색 작업(`jmx` 및 `sap`)으로 스크레이핑이라고도 함 

   ```
   $ cat prometheus.yaml 
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_jmx.yaml"]
     - job_name: sap
       sample_limit: 10000
       file_sd_configs:
         - files: ["/tmp/prometheus_sd_sap.yaml"]
   ```

1. CloudWatch 에이전트가 Amazon EC2 인스턴스에 설치되어 있고 버전이 1.247346.1b249759 이상인지 확인합니다. EC2 인스턴스에 CloudWatch 에이전트를 설치하려면 [CloudWatch 에이전트 설치](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) 단원을 참조하세요. 버전을 확인하려면 [CloudWatch 에이전트 버전에 관한 정보 찾기](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-agent-version) 단원을 참조하세요.

1. CloudWatch 에이전트를 구성합니다. CloudWatch 에이전트 구성 파일을 구성하는 방법에 대한 자세한 내용은 [수동으로 CloudWatch 에이전트 구성 파일 생성 또는 편집](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html) 단원을 참조하세요. 아래에 나와 있는 CloudWatch 에이전트 구성 파일 예에서는 다음을 수행합니다.
   + Prometheus JMX Exporter 구성 파일 경로를 지정합니다.
   + EMF 지표 로그를 게시할 대상 로그 그룹을 지정합니다.
   + 각 지표 이름에 대해 두 세트의 측정기준을 지정합니다.
   + CloudWatch 지표 8개(지표 이름 4개 \$1 지표 이름당 측정기준 세트 2개)를 전송합니다.

   ```
   {
      "logs":{
         "logs_collected":{
            ....
         },
         "metrics_collected":{
            "prometheus":{
               "cluster_name":"prometheus-test-cluster",
               "log_group_name":"prometheus-test",
               "prometheus_config_path":"/tmp/prometheus.yaml",
               "emf_processor":{
                  "metric_declaration_dedup":true,
                  "metric_namespace":"CWAgent",
                  "metric_unit":{
                     "jvm_threads_current":"Count",
                     "jvm_gc_collection_seconds_sum":"Second",
                     "jvm_memory_bytes_used":"Bytes"
                  },
                  "metric_declaration":[
                     {
                        "source_labels":[
                           "job"
                        ],
                        "label_matcher":"^jmx$",
                        "dimensions":[
                           [
                              "InstanceId",
                              "ComponentName"
                           ],
                           [
                              "ComponentName"
                           ]
                        ],
                        "metric_selectors":[
                           "^java_lang_threading_threadcount$",
                           "^java_lang_memory_heapmemoryusage_used$",
                           "^java_lang_memory_heapmemoryusage_committed$"
                        ]
                     }
                  ]
               }
            }
         }
      },
      "metrics":{
         ....
      }
   }
   ```

## `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus"></a>

Application Insights의 [Prometheus HANA 데이터베이스 Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters)에서 워크로드별 SAP HANA 지표를 검색하여 경보를 구성하고 모니터링할 수 있습니다. 자세한 내용은 이 안내서의 [모니터링을 위해 SAP HANA 데이터베이스 설정](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) 섹션을 참조하세요.

[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)를 사용하여 Application Insights와 별도로 AWS 제공 Prometheus HANA 데이터베이스 Exporter 패키지를 패키징하고, 설치하고, 구성하려면 다음 단계를 완료합니다.

**Prometheus HANA 데이터베이스 Exporter SSM 패키지를 사용하기 위한 사전 조건**
+ SSM Agent 버전 2.3.1550.0 이상이 설치되어 있어야 합니다.
+ SAP HANA 데이터베이스
+ Linux 운영 체제(SUSE Linux, RedHat Linux)
+ AWS Secrets Manager를 통해 SAP HANA 데이터베이스 모니터링 자격 증명을 사용한 보안 암호. 키/값 페어 형식을 사용해 보안 암호를 생성하고, 키 사용자 이름을 지정한 다음, 값에 대한 데이터베이스 사용자를 입력합니다. 두 번째 키 암호를 추가한 후 값에 암호를 입력합니다. 보안 암호 생성에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [보안 암호 생성](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)을 참조하세요. 보안 암호는 다음과 같은 형식이어야 합니다.

  ```
  {
    "username": "<database_user>",
    "password": "<database_password>"
  }
  ```

**`AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure` 패키지 설치 및 구성**  
`AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure` 패키지는 [Prometheus HANA 데이터베이스 Exporter](https://github.com/prometheus/jmx_exporter)를 설치하고 구성하는 데 사용할 수 있는 SSM Distributor 패키지입니다. Prometheus HANA 데이터베이스 Exporter가 HANA 데이터베이스 지표를 전송하면 CloudWatch 서비스의 지표를 검색하도록 CloudWatch 에이전트를 구성할 수 있습니다.

1. [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)에서 SSM 파라미터를 생성하여 Exporter 구성을 저장합니다. 다음은 파라미터 값의 예제입니다.

   ```
   {\"exposition_port\":9668,\"multi_tenant\":true,\"timeout\":600,\"hana\":{\"host\":\"localhost\",\"port\":30013,\"aws_secret_name\":\"HANA_DB_CREDS\",\"scale_out_mode\":true}}
   ```
**참고**  
이 예제에서 내보내기는 `SYSTEM` 데이터베이스가 활성 상태인 Amazon EC2 인스턴스에서만 실행되며 중복 지표를 피하기 위해 다른 EC2 인스턴스에서는 유휴 상태로 유지됩니다. Exporter는 `SYSTEM` 데이터베이스에서 모든 데이터베이스 테넌트 정보를 검색할 수 있습니다.

1. [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)에서 SSM 파라미터를 생성하여 Exporter 지표 쿼리를 저장합니다. 패키지는 둘 이상의 지표 파라미터를 적용할 수 있습니다. 각 파라미터에는 유효한 JSON 객체 형식이 있어야 합니다. 다음은 파라미터 값의 예제입니다.

   ```
   {\"SELECT MAX(TIMESTAMP) TIMESTAMP, HOST, MEASURED_ELEMENT_NAME CORE, SUM(MAP(CAPTION, 'User Time', TO_NUMBER(VALUE), 0)) USER_PCT, SUM(MAP(CAPTION, 'System Time', TO_NUMBER(VALUE), 0)) SYSTEM_PCT, SUM(MAP(CAPTION, 'Wait Time', TO_NUMBER(VALUE), 0)) WAITIO_PCT, SUM(MAP(CAPTION, 'Idle Time', 0, TO_NUMBER(VALUE))) BUSY_PCT, SUM(MAP(CAPTION, 'Idle Time', TO_NUMBER(VALUE), 0)) IDLE_PCT FROM sys.M_HOST_AGENT_METRICS WHERE MEASURED_ELEMENT_TYPE = 'Processor' GROUP BY HOST, MEASURED_ELEMENT_NAME;\":{\"enabled\":true,\"metrics\":[{\"name\":\"hanadb_cpu_user\",\"description\":\"Percentage of CPU time spent by HANA DB in user space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"USER_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_system\",\"description\":\"Percentage of CPU time spent by HANA DB in Kernel space, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"SYSTEM_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_waitio\",\"description\":\"Percentage of CPU time spent by HANA DB in IO mode, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"WAITIO_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_busy\",\"description\":\"Percentage of CPU time spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"BUSY_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"},{\"name\":\"hanadb_cpu_idle\",\"description\":\"Percentage of CPU time not spent by HANA DB, over the last minute (in seconds)\",\"labels\":[\"HOST\",\"CORE\"],\"value\":\"IDLE_PCT\",\"unit\":\"percent\",\"type\":\"gauge\"}]}}
   ```

   지표 쿼리에 대한 자세한 내용은 GitHub의 [https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json](https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json) 리포지토리를 참조하세요.

1. [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) 콘솔로 이동하여 **Amazon 소유(Owned by Amazon)** 탭을 엽니다. **AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure\$1**를 선택하고 **한 번만 설치(Install one time)**를 선택합니다.

1. "추가 인수"를 다음으로 대체하여 첫 번째 단계에서 생성한 SSM 파라미터를 업데이트합니다.

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_EXPORTER_METRICS_1": "{{ssm:<SSM_FIRST_METRICS_PARAMETER_STORE_NAME>}}",
     "SSM_EXPORTER_METRICS_2": "{{ssm:<SSM_SECOND_METRICS_PARAMETER_STORE_NAME>}}"
   }
   ```

1. SAP HANA 데이터베이스가 있는 Amazon EC2 인스턴스를 선택한 다음 **실행(Run)**을 선택합니다.

## `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-prometheus-ha"></a>

Application Insights의 [Prometheus HANA 클러스터 Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters)에서 워크로드별 고가용성(HA) 클러스터 지표를 검색하여 SAP HANA 데이터베이스 고가용성 설정에 대한 경보를 구성하고 모니터링할 수 있습니다. 자세한 내용은 이 안내서의 [모니터링을 위해 SAP HANA 데이터베이스 설정](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) 섹션을 참조하세요.

[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)를 사용하여 Application Insights와 별도로 AWS 제공 Prometheus HA Cluster Exporter 패키지를 패키징하고, 설치하고, 구성하려면 다음 단계를 완료합니다.

**Prometheus HA Cluster Exporter SSM 패키지를 사용하기 위한 사전 조건**
+ SSM Agent 버전 2.3.1550.0 이상이 설치되어 있어야 합니다.
+ Pacemaker, Corosync, SBD 및 DRBD를 위한 HA 클러스터
+ Linux 운영 체제(SUSE Linux, RedHat Linux)

**`AWSObservabilityExporter-HAClusterExporterInstallAndConfigure` 패키지 설치 및 구성**  
`AWSObservabilityExporter-HAClusterExporterInstallAndConfigure` 패키지는 Prometheus HA Cluster Exporter를 설치하고 구성하는 데 사용할 수 있는 SSM Distributor 패키지입니다. Prometheus HANA 데이터베이스 Exporter가 클러스터 지표를 전송하면 CloudWatch 서비스의 지표를 검색하도록 CloudWatch 에이전트를 구성할 수 있습니다.

1. [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)에서 SSM 파라미터를 생성하여 JSON 형식으로 Exporter 구성을 저장합니다. 다음은 파라미터 값의 예제입니다.

   ```
   {\"port\":\"9664\",\"address\":\"0.0.0.0\",\"log-level\":\"info\",\"crm-mon-path\":\"/usr/sbin/crm_mon\",\"cibadmin-path\":\"/usr/sbin/cibadmin\",\"corosync-cfgtoolpath-path\":\"/usr/sbin/corosync-cfgtool\",\"corosync-quorumtool-path\":\"/usr/sbin/corosync-quorumtool\",\"sbd-path\":\"/usr/sbin/sbd\",\"sbd-config-path\":\"/etc/sysconfig/sbd\",\"drbdsetup-path\":\"/sbin/drbdsetup\",\"enable-timestamps\":false}
   ```

   Exporter 구성에 대한 자세한 내용은 GitHub의 [https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml](https://github.com/ClusterLabs/ha_cluster_exporter/blob/master/ha_cluster_exporter.yaml) 리포지토리를 참조하세요.

1. [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) 콘솔로 이동하여 **Amazon 소유(Owned by Amazon)** 탭을 엽니다. **AWSObservabilityExporter-HAClusterExporterInstallAndConfigure\$1**를 선택한 다음 **한 번만 설치(Install one time)**를 선택합니다.

1. "추가 인수"를 다음으로 대체하여 첫 번째 단계에서 생성한 SSM 파라미터를 업데이트합니다.

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<*SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>*}}"
   }
   ```

1. SAP HANA 데이터베이스가 있는 Amazon EC2 인스턴스를 선택한 다음 **실행(Run)**을 선택합니다.

## `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`
<a name="appinsights-ssm-sap-host-exporter"></a>

Application Insights용 [Prometheus SAP 호스트 내보내기 도구](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters)에서 워크로드별 SAP NetWeaver 지표를 검색하여 SAP NetWeaver 분산 및 High Availability 배포에 대한 경보를 구성하고 모니터링할 수 있습니다.

[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)를 사용하여 Application Insights와 별도로 SAP 호스트 내보내기 패키지를 패키징, 설치 및 구성하려면 다음 단계를 수행하세요.

**Prometheus SAP 호스트 내보내기 SSM 패키지를 사용하기 위한 사전 조건**
+ SSM Agent 버전 2.3.1550.0 이상이 설치되어 있어야 합니다.
+ SAP NetWeaver 애플리케이션 서버
+ Linux 운영 체제(SUSE Linux, RedHat Linux)

**`AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure` 패키지 설치 및 구성**  
`AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure` 패키지는 SAP NetWeaver Prometheus 지표 내보내기를 설치하고 구성하는 데 사용할 수 있는 SSM Distributor 패키지입니다. Prometheus 내보내기가 SAP NetWeaver 지표를 전송하면 CloudWatch 서비스의 지표를 검색하도록 CloudWatch 에이전트를 구성할 수 있습니다.

1. [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)에서 SSM 파라미터를 생성하여 JSON 형식으로 Exporter 구성을 저장합니다. 다음은 파라미터 값의 예제입니다.

   ```
   {\"address\":\"0.0.0.0\",\"port\":\"9680\",\"log-level\":\"info\",\"is-HA\":false}
   ```
   + **address**

     Prometheus 지표를 전송할 대상 주소입니다. 기본값은 `localhost`입니다.
   + **port**

     Prometheus 지표를 전송할 대상 포트입니다. 기본값은 `9680`입니다.
   + **is-HA**

     SAP NetWeaver High Availability 배포용 `true`. 다른 모든 배포의 경우 값은 `false`입니다.

1. [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) 콘솔로 이동하여 **Amazon 소유(Owned by Amazon)** 탭을 엽니다. **AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure**를 선택하고 **Install one time**(한 번 설치)을 선택합니다.

1. "추가 인수"를 다음으로 대체하여 첫 번째 단계에서 생성한 SSM 파라미터를 업데이트합니다.

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:<SSM_CONFIGURATIONS_PARAMETER_STORE_NAME>}}",
     "SSM_SID": "<SAP_DATABASE_SID>",
     "SSM_INSTANCES_NUM": "<instances_number seperated by comma>"
   }
   ```

   **예제**

   ```
   {
     "SSM_EXPORTER_CONFIG": "{{ssm:exporter_config_paramter}}",
     "SSM_INSTANCES_NUM": "11,12,10",
     "SSM_SID": "PR1"
   }
   ```

1. SAP NetWeaver 애플리케이션이 있는 Amazon EC2 인스턴스를 선택하고 **Run**(실행)을 선택합니다.

**참고**  
Prometheus Exporter는 로컬 엔드포인트에서 SAP NetWeaver 지표를 서비스합니다. Amazon EC2 인스턴스의 운영 체제 사용자만 로컬 엔드포인트에 액세스할 수 있습니다. 따라서 내보내기 도구 패키지가 설치된 후 모든 운영 체제 사용자가 지표를 사용할 수 있습니다. 기본 로컬 엔드포인트는 `localhost:9680/metrics`입니다.

## `AWSObservabilityExporter-SQLExporterInstallAndConfigure`
<a name="appinsights-ssm-sql-prometheus"></a>

[Prometheus SQL 내보내기](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters)에서 Application Insights에 대한 워크로드별 SQL Server 지표를 검색하여 주요 지표를 모니터링할 수 있습니다.

[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html)를 사용하여 Application Insights와 별도로 SQL 내보내기 패키지를 패키징, 설치, 구성하려면 다음 단계를 수행하세요.

**Prometheus SQL 내보내기 SSM 패키지 사용을 위한 사전 조건**
+ SSM Agent 버전 2.3.1550.0 이상이 설치되어 있어야 합니다.
+ SQL Server 사용자 인증을 사용하도록 설정된 Windows에서 SQL Server를 실행하는 Amazon EC2 인스턴스.
+ 다음 권한이 있는 SQL Server 사용자:

  ```
  GRANT VIEW ANY DEFINITION TO
  ```

  ```
  GRANT VIEW SERVER STATE TO
  ```
+ AWS Secrets Manager를 사용하는 데이터베이스 연결 문자열이 포함된 암호. 보안 암호 생성에 대한 자세한 내용은 *AWS Secrets Manager 사용 설명서*의 [보안 암호 생성](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html)을 참조하세요. 보안 암호는 다음과 같은 형식이어야 합니다.

  ```
  {
    "data_source_name":"sqlserver://<username>:<password>@localhost:1433"
  }
  ```
**참고**  
암호 또는 사용자 이름에 특수 문자가 포함된 경우 데이터베이스에 성공적으로 연결하려면 특수 문자를 퍼센트 인코딩해야 합니다.

**`AWSObservabilityExporter-SQLExporterInstallAndConfigure` 패키지 설치 및 구성**  
`AWSObservabilityExporter-SQLExporterInstallAndConfigure` 패키지는 SQL Prometheus 지표 내보내기를 설치하고 구성하는 데 사용할 수 있는 SSM Distributor 패키지입니다. Prometheus 내보내기가 지표를 전송하면 CloudWatch 에이전트가 CloudWatch 서비스에 대한 지표를 검색하도록 구성할 수 있습니다.

1. 기본 설정에 따라 SQL Exporter YAML 구성을 준비합니다. 다음 샘플 구성에는 단일 지표가 구성되어 있습니다. [예 구성](https://github.com/burningalchemist/sql_exporter/blob/master/examples/sql_exporter.yml)을 사용하여 추가 지표로 구성을 업데이트하거나 고유한 구성을 생성할 수 있습니다.

   ```
   ---
   global:
     scrape_timeout_offset: 500ms
     min_interval: 0s
     max_connections: 3
     max_idle_connections: 3
   target:
     aws_secret_name: <SECRET_NAME>
     collectors:
       - mssql_standard
   collectors:
     - collector_name: mssql_standard
       metrics: 
       - metric_name: mssql_batch_requests
         type: counter
         help: 'Number of command batches received.'
         values: [cntr_value]
         query: |
           SELECT cntr_value
           FROM sys.dm_os_performance_counters WITH (NOLOCK)
           WHERE counter_name = 'Batch Requests/sec'
   ```

1. Base64로 인코딩된 Prometheus SQL Exporter YAML 구성 파일을 [SSM 파라미터 스토어](https://console.aws.amazon.com/systems-manager/parameters)의 새 SSM 파라미터에 복사합니다.

1. [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) 콘솔로 이동하여 **Amazon 소유(Owned by Amazon)** 탭을 엽니다. **AWSObservabilityExporter-SQLExporterInstallAndConfigure**를 선택하고 **한 번 설치**를 선택합니다.

1. ‘추가 인수’를 다음 정보로 변경하세요. `SSM_PARAMETER_NAME`은 2단계에서 생성한 파라미터의 이름입니다.

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": 
       "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
       "SSM_PROMETHEUS_PORT": "9399",
       "SSM_WORKLOAD_NAME": "SQL"                         
   }
   ```

1. SQL Server 데이터베이스가 있는 Amazon EC2 인스턴스를 선택한 다음 실행을 선택합니다.