

# Trabalhos do Amazon CloudWatch Application Insights
<a name="appinsights-how-works"></a>

O CloudWatch Application Insights fornece monitoramento dos recursos das suas aplicações. As informações apresentadas a seguir descrevem como o Application Insights funciona.

**Topics**
+ [Como Application Insights monitora aplicações](#appinsights-how-works-sub)
+ [Retenção de dados](#appinsights-retention)
+ [Cotas](#appinsights-limits)
+ [Pacotes do AWS Systems Manager (SSM) usados pelo CloudWatch Application Insights](appinsights-ssm-packages.md)
+ [Documentos do AWS Systems Manager (SSM) usados ​​pelo CloudWatch Application Insights](appinsights-ssm-documents.md)

## Como Application Insights monitora aplicações
<a name="appinsights-how-works-sub"></a>

As informações apresentadas a seguir descrevem como o Application Insights realiza o monitoramento de aplicações.

**Configuração e descoberta de aplicação**  
Na primeira vez em que uma aplicação é adicionada ao CloudWatch Application Insights, ele verifica os componentes da aplicação com relação aos principais logs, métricas e outras fontes de dados recomendados que devem ser monitorados para a aplicação. É possível, então, configurar a aplicação com base nessas recomendações. 

**Pré-processamento de dados**  
O CloudWatch Application Insights analisa continuamente as fontes de dados que estão sendo monitoradas em todos os recursos da aplicação para detectar anomalias de métrica e erros de log (observações). 

**Detecção de problema inteligente**  
O mecanismo do CloudWatch Application Insights detecta problemas em sua aplicação ao correlacionar observações usando algoritmos de classificação e regras integradas. Para auxiliar na solução de problemas, ele cria painéis automatizados do CloudWatch, que incluem informações contextuais sobre os problemas. 

**Alerta e ação**  
Quando o CloudWatch Application Insights detecta um problema em sua aplicação, ele gera CloudWatch Events para notificar você sobre o problema. Consulte [Cloudwatch Events do Application Insights para problemas detectados](appinsights-cloudwatch-events.md) para obter mais informações sobre como configurar esses Eventos. Além disso, você pode [configurar as notificações do Amazon SNS](appinsights-problem-notifications.md) para receber alertas de problemas detectados.

**Exemplo de cenário**

Você tem uma aplicação ASP .NET baseado em um banco de dados do SQL Server. Repentinamente, o banco de dados começa a apresentar mau funcionamento por causa de alta pressão de memória. Isso causa uma degradação na performance da aplicação e possivelmente erros HTTP 500 nos servidores web e no load balancer.

Com o CloudWatch Application Insights e analytics inteligente, é possível identificar a camada da aplicação que está causando o problema conferindo o painel criado dinamicamente que exibe as métricas relacionadas e os trechos do arquivo de log. Nesse caso, o problema pode estar na camada de banco de dados do SQL.

## Retenção de dados
<a name="appinsights-retention"></a>

O CloudWatch Application Insights retém problemas por 55 dias e observações por 60 dias.

## Cotas
<a name="appinsights-limits"></a>

Para obter cotas padrão do CloudWatch Application Insights, consulte [endpoints e cotas do Amazon CloudWatch Application Insights](https://docs.aws.amazon.com/general/latest/gr/applicationinsights.html). A menos que especificado de outra forma, cada cota é por região da AWS. Entre em contato com o [AWS Support](https://console.aws.amazon.com/support/home#/case/create?issueType=technical) para solicitar aumento na cota de serviço. Muitos serviços têm cotas que não podem ser alteradas. Para obter mais informações sobre as cotas de um serviço específico, consulte a documentação desse serviço. 

# Pacotes do AWS Systems Manager (SSM) usados pelo CloudWatch Application Insights
<a name="appinsights-ssm-packages"></a>

Os pacotes listados nesta seção são usados pelo Application Insights e podem ser gerenciados e implantados de forma independente com o AWS Systems Manager Distributor. Para obter mais informações sobre o SSM Distributor, consulte[AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) no *Manual do usuário do AWS Systems Manager*.

**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>

É possível recuperar métricas Java específicas de workloads a partir do [Prometheus JMX Exporter](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para que o Application Insights configure e monitore alarmes. No console do Application Insights, na página **Manage monitoring** (Gerenciar monitoramento) Página, **JAVA application** (Aplicação JAVA) da lista suspensa **Application tier** (Nível da aplicação). Em **JAVA Prometheus exporter configuration** (Configuração do JAVA Prometheus Exporter), selecione seu **Collection method** (Método de coleta) e **JMX port number** (Número da porta JMX). 

Para usar o [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empacotar, instalar e configurar o pacote do Prometheus JMX Exporter fornecido pela AWS de modo independente do Application Insights, realize as etapas a seguir.

**Pré-requisitos para usar o pacote SSM do Prometheus JMX Exporter**
+ SSM Agent versão 2.3.1550.0 ou posterior instalado
+ A variável de ambiente JAVA\$1HOME está definida

**Instalar e configurar o pacote `AWSObservabilityExporter-JMXExporterInstallAndConfigure`**  
O pacote `AWSObservabilityExporter-JMXExporterInstallAndConfigure` é um pacote do SSM Distributor que você pode usar para instalar e configurar o [Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter). Quando as métricas Java são enviadas pelo Prometheus JMX Exporter, é possível configurar o atendente do CloudWatch ppara recuperar as métricas do serviço CloudWatch.

1. Com base em suas preferências, prepare o [arquivo de configuração YAML do Prometheus JMX Exporter](https://github.com/prometheus/jmx_exporter#configuration) localizado no repositório do Prometheus no GitHub. O exemplo de configuração e as descrições de opções podem ser usados para orientar você.

1. Copie o arquivo de configuração YAML do Prometheus JMX Exporter codificado como Base64 para um novo parâmetro SSM em [SSM Parameter Store](https://console.aws.amazon.com/systems-manager/parameters) (Armazenamento de parâmetros do SSM).

1. Navegue até o console do [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) e abra a guia **Owned by Amazon** (Propriedade da Amazon). Selecione **AWSObservabilityExporter-JMXExporterInstallAndConfigure** e escolha **Install one time** (Instalar uma vez).

1. Atualize o parâmetro do SSM criado na primeira etapa substituindo “Additional Arguments” (Argumentos adicionais) por:

   ```
   {
     "SSM_EXPORTER_CONFIGURATION": "{{ssm:<SSM_PARAMETER_STORE_NAME>}}",
     "SSM_EXPOSITION_PORT": "9404"
   }
   ```
**nota**  
A porta 9404 é a porta padrão usada para enviar métricas do Prometheus JMX. É possível atualizá-la.

**Exemplo: configurar o atendente do CloudWatch para recuperar métricas do Java**

1. Instale o JMX Exporter do Prometheus, conforme descrito no procedimento anterior. Em seguida, confira o status da porta para verificar que ele está instalado corretamente em sua instância.

   Exemplo de instalação bem-sucedida na instância do Windows

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

   Exemplo de instalação bem-sucedida na instância do 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. Crie o arquivo YAML de detecção de serviço do Prometheus. O exemplo de arquivo de detecção de serviço abaixo executa o seguinte:
   + Especifica a porta de host do Prometheus JMX Exporter como `localhost: 9404`.
   + Anexa rótulos (`Application`, `ComponentName` e`InstanceId`) para as métricas, que podem ser definidas como dimensões métricas do CloudWatch.

   ```
   $ 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. Crie o arquivo YAML de configuração do Prometheus JMX Exporter. O exemplo de arquivo de configuração a seguir especifica:
   + O intervalo de trabalho de recuperação de métricas e o período de tempo limite.
   + Os trabalhos de recuperação de métricas (`jmx` e `sap`), também conhecido como “scraping”, que incluem o nome do trabalho, o máximo de séries temporais retornadas por vez e o caminho do arquivo de detecção de serviço. 

   ```
   $ 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. Verifique se o atendente do CloudWatch está instalado em sua instância do Amazon EC2 e se a versão é 1.247346.1b249759 ou posterior. Para instalar o atendente do CloudWatch em sua instância do EC2, consulte [Instalar o atendente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html). Para verificar a versão, consulte [Encontrar informações sobre versões do atendente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/troubleshooting-CloudWatch-Agent.html#CloudWatch-Agent-troubleshooting-agent-version).

1. Configure o atendente do CloudWatch. Para obter mais informações sobre como configurar o arquivo de configuração do atendente do CloudWatch, consulte [Criar ou editar manualmente o arquivo de configuração do atendente do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html). O exemplo do arquivo de configuração do atendente do CloudWatch abaixo executa o seguinte:
   + Especifica o caminho do arquivo de configuração do Prometheus JMX Exporter.
   + Especifica o grupo de logs de destino em que os logs de métrica do EMF serão publicados.
   + Especifica dois conjuntos de dimensões para cada nome da métrica.
   + Envia 8 métricas do CloudWatch (4 nomes da métricas \$1 2 conjuntos de dimensões por nome da métrica).

   ```
   {
      "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>

É possível recuperar métricas SAP HANA específicas de workloads a partir do [exportador de banco de dados Prometheus HANA](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para que o Application Insights configure e monitore alarmes. Para obter mais informações, consulte [Configurar seu banco de dados SAP HANA para monitoramento](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) neste guia.

Para usar o [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empacotar, instalar e configurar o pacote do exortador de banco de dados Prometheus HANA fornecido pela AWS de maneira independente do Application Insights, realize as etapas a seguir.

**Pré-requisitos para usar o pacote SSM do exportador de banco de dados Prometheus HANA**
+ SSM Agent versão 2.3.1550.0 ou posterior instalado
+ Banco de dados SAP HANA
+ Sistema operacional Linux (SUSE Linux, RedHat Linux)
+ Um segredo com credenciais de monitoramento de banco de dados SAP HANA usando AWS Secrets Manager. Crie um segredo no formato de pares chave-valor, especifique o nome de usuário da chave e insira o usuário do banco de dados para o valor. Adicione uma segunda senha da chave e, em seguida, digite a senha para o valor. Para obter mais informações sobre criação de segredos, consulte [Criar um segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) no *Guia do usuário do AWS Secrets Manager*. O segredo deve ser formatado da seguinte forma:

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

**Instalar e configurar o pacote `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`**  
O pacote `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure` é um pacote do SSM Distributor que você pode usar para instalar e configurar o [exportador de banco de dados HANA do Prometheus](https://github.com/prometheus/jmx_exporter). Quando as métricas Java são enviadas pelo exportador de banco de dados HANA do Prometheus, é possível configurar o atendente do CloudWatch para recuperar as métricas do serviço CloudWatch.

1. Criar um parâmetro do SSM no [Parameter Store do SSM](https://console.aws.amazon.com/systems-manager/parameters) para armazenar as configurações do Exportador. Veja a seguir um exemplo do valor de parâmetro.

   ```
   {\"exposition_port\":9668,\"multi_tenant\":true,\"timeout\":600,\"hana\":{\"host\":\"localhost\",\"port\":30013,\"aws_secret_name\":\"HANA_DB_CREDS\",\"scale_out_mode\":true}}
   ```
**nota**  
Neste exemplo, a exportação é executada somente na instância do Amazon EC2 com o banco de dados `SYSTEM` ativo. Ele permanecerá ocioso nas outras instâncias do EC2 para evitar métricas duplicadas. O exportador pode recuperar todas as informações do inquilino do banco de dados a partir do banco de dados `SYSTEM`.

1. Criar um parâmetro do SSM no [Parameter Store do SSM](https://console.aws.amazon.com/systems-manager/parameters) para armazenar as consultas de métricas do exportador. O pacote pode aceitar mais de um parâmetro de métricas. Cada parâmetro deve ter um formato de objeto JSON válido. Veja a seguir um exemplo do valor de parâmetro.

   ```
   {\"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\"}]}}
   ```

   Para obter mais informações sobre consultas de métricas, consulte o repositório [https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json](https://github.com/SUSE/hanadb_exporter/blob/master/metrics.json) no GitHub.

1. Navegue até o console do [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) e abra a guia **Owned by Amazon** (Propriedade da Amazon). Selecione **AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure\$1** e escolha **Install one time** (Instalar uma vez).

1. Atualize o parâmetro do SSM criado na primeira etapa substituindo “Additional Arguments” (Argumentos adicionais) por:

   ```
   {
     "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. Selecione as instâncias do Amazon EC2 com banco de dados SAP HANA e escolha **Run** (Executar).

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

Você pode recuperar métricas de cluster de alta disponibilidade (HA) específicas de workloads do [exportador de clusters HANA do Prometheus ](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para o Application Insights a fim de configurar e monitorar alarmes para uma configuração de alta disponibilidade do banco de dados SAP HANA. Para obter mais informações, consulte [Configurar seu banco de dados SAP HANA para monitoramento](appinsights-tutorial-sap-hana.md#appinsights-tutorial-sap-hana-set-up) neste guia.

Para usar o [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empacotar, instalar e configurar o pacote do exportador de cluster de HA do Prometheus fornecido pela AWS de modo independente do Application Insights, realize as etapas a seguir.

**Pré-requisitos para usar o pacote SSM do Prometheus HA cluster exporter**
+ SSM Agent versão 2.3.1550.0 ou posterior instalado
+ Cluster HA para Pacemaker, Corosync, SBD e DRBD
+ Sistema operacional Linux (SUSE Linux, RedHat Linux)

**Instalar e configurar o pacote `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`**  
O pacote `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure` é um pacote do SSM Distributor que você pode usar para instalar e configurar o Prometheus HA Cluster Exporter. Quando as métricas de cluster são enviadas pelo exportador do banco de dados HANA do Prometheus, é possível configurar o atendente do CloudWatch para recuperar as métricas do serviço CloudWatch.

1. Criar um parâmetro do SSM no [Parameter Store do SSM](https://console.aws.amazon.com/systems-manager/parameters) para armazenar as configurações do exportador no formato JSON. Veja a seguir um exemplo do valor de parâmetro.

   ```
   {\"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}
   ```

   Para obter mais informações sobre a configuração do exportador, consulte o repositório [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) no GitHub.

1. Navegue até o console do [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) e abra a guia **Owned by Amazon** (Propriedade da Amazon). Selecione **AWSOBservabilityExporter-HaclusterExporterInstallAndConfigure\$1** e escolha **Install one time** (Instalar uma vez).

1. Atualize o parâmetro do SSM criado na primeira etapa substituindo “Additional Arguments” (Argumentos adicionais) por:

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

1. Selecione as instâncias do Amazon EC2 com banco de dados SAP HANA e escolha **Run** (Executar).

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

Você pode recuperar, do [exportador do Prometheus para host do SAP](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters), as métricas do SAP NetWeaver específicas da workload, para que o Application Insights configure e monitore alarmes para as implantações distribuídas e de alta disponibilidade do SAP NetWeaver.

Para usar o [AWS Systems Manager Distributor](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empacotar, instalar e configurar o pacote do exportador do host SAP independentemente do Application Insights, conclua as etapas a seguir.

**Pré-requisitos para usar o pacote do SSM de exportador do host SAP Prometheus**
+ SSM Agent versão 2.3.1550.0 ou posterior instalado
+ Servidores de aplicações do SAP NetWeaver
+ Sistema operacional Linux (SUSE Linux, RedHat Linux)

**Instalar e configurar o pacote `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`**  
O pacote `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure` é um pacote do SSM Distributor que você pode usar para instalar e configurar o exportador de métricas Prometheus do SAP NetWeaver. Quando as métricas do SAP NetWeaver são enviadas pelo exportador do Prometheus, o agente do CloudWatch pode ser configurado para recuperar as métricas para o serviço CloudWatch.

1. Criar um parâmetro do SSM no [Parameter Store do SSM](https://console.aws.amazon.com/systems-manager/parameters) para armazenar as configurações do exportador no formato JSON. Veja a seguir um exemplo do valor de parâmetro.

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

     O endereço de destino para o qual o Prometheus envia métricas. O valor padrão é `localhost`.
   + **porta**

     A porta de destino para a qual enviar métricas do Prometheus. O valor padrão é `9680`.
   + **is-HA**

     `true` para implantações de alta disponibilidade do SAP NetWeaver. Para todas as outras implantações, o valor é `false`.

1. Navegue até o console do [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) e abra a guia **Owned by Amazon** (Propriedade da Amazon). Selecione **AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure** e escolha **Install one time** (Instalar uma vez).

1. Atualize o parâmetro do SSM criado na primeira etapa substituindo “Additional Arguments” (Argumentos adicionais) por:

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

   **Exemplo**

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

1. Selecione as instâncias do Amazon EC2 com aplicações do SAP NetWeaver e escolha **Run** (Executar).

**nota**  
O exportador do Prometheus processa as métricas do SAP NetWeaver em um endpoint local. O endpoint local só pode ser acessado pelos usuários do sistema operacional na instância do Amazon EC2. Assim, após a instalação do pacote do exportador, as métricas ficam disponíveis para todos os usuários do sistema operacional. O endpoint local padrão é o `localhost:9680/metrics`.

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

É possível recuperar métricas de SQL Server específicas de workloads a partir do [Exportador do Prometheus SQL](https://prometheus.io/docs/instrumenting/exporters/#third-party-exporters) para que o Application Insights monitore os principais alarmes. 

Para usar o [Distribuidor do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/distributor.html) para empacotar, instalar e configurar o pacote do exportador do SQL independentemente do Application Insights, conclua as etapas a seguir.

**Pré-requisitos para usar o pacote SSM do exportador do Prometheus SQL**
+ SSM Agent versão 2.3.1550.0 ou posterior instalado
+ Instância do Amazon EC2 executando o SQL Server no Windows com a autenticação de usuário do SQL Server ativada.
+ Um usuário do SQL Server com as permissões a seguir:

  ```
  GRANT VIEW ANY DEFINITION TO
  ```

  ```
  GRANT VIEW SERVER STATE TO
  ```
+ Um segredo contendo a string de conexão do banco de dados usando AWS Secrets Manager. Para obter mais informações sobre criação de segredos, consulte [Criar um segredo](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_create-basic-secret.html) no *Guia do usuário do AWS Secrets Manager*. O segredo deve ser formatado da seguinte forma:

  ```
  {
    "data_source_name":"sqlserver://<username>:<password>@localhost:1433"
  }
  ```
**nota**  
Se a senha ou o nome de usuário contiverem caracteres especiais, você deverá codificar com porcento os caracteres especiais para garantir uma conexão com êxito ao banco de dados.

**Instalar e configurar o pacote `AWSObservabilityExporter-SQLExporterInstallAndConfigure`**  
O pacote `AWSObservabilityExporter-SQLExporterInstallAndConfigure` é um pacote do SSM Distributor que pode ser usado para instalar e configurar o exportador de métricas SQL Prometheus. Quando as métricas são enviadas pelo exportador do Prometheus, é possível configurar o agente do CloudWatch para recuperar as métricas do serviço CloudWatch.

1. Com base nas suas preferências, prepare a configuração YAML do SQL Exporter. O exemplo de configuração a seguir tem uma única métrica configurada. Use a [configuração de exemplo](https://github.com/burningalchemist/sql_exporter/blob/master/examples/sql_exporter.yml) para atualizar a configuração com métricas adicionais ou criar sua própria configuração.

   ```
   ---
   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. Copie o arquivo de configuração YAML do exportador do Prometheus SQL codificado como Base64 para um novo parâmetro SSM em [Armazenamento de parâmetros do SSM](https://console.aws.amazon.com/systems-manager/parameters).

1. Navegue até o console do [SSM Distributor](https://console.aws.amazon.com/systems-manager/distributor) e abra a guia **Owned by Amazon** (Propriedade da Amazon). Selecione **AWSObservabilityExporter-SQLExporterInstallAndConfigure** e escolha **Instalar uma vez**.

1. Substitua os "Argumentos adicionais" pelas informações a seguir. O `SSM_PARAMETER_NAME` é o nome do parâmetro que foi criado na Etapa 2.

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

1. Selecione a instância do Amazon EC2 com o banco de dados SQL Server e escolha executar.

# Documentos do AWS Systems Manager (SSM) usados ​​pelo CloudWatch Application Insights
<a name="appinsights-ssm-documents"></a>

O Application Insights usa os documentos do SSM listados nesta seção para definir as ações que o AWS Systems Manager executa em suas instâncias gerenciadas. Esses documentos utilizam a funcionalidade `Run Command` do Systems Manager para automatizar as tarefas necessárias para a execução das funcionalidades de monitoramento do Application Insights. As programações de execuções para esses documentos são mantidas pelo Application Insights e não podem ser alteradas.

Para obter mais informações sobre os documentos do SSM, consulte [Documentos do AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/documents.html) no *Guia do usuário do AWS Systems Manager*.

## Documentos gerenciados pelo CloudWatch Application Insights
<a name="ssm-documents-appinsights-managed"></a>

A tabela apresentada a seguir lista os documentos do SSM que são gerenciados pelo Application Insights.


| Nome do documento | Descrição | Programação de execução | 
| --- | --- | --- | 
|  `AWSEC2-DetectWorkload`  |  Detecta automaticamente as aplicações em execução no seu ambiente de aplicações que podem ser configuradas para serem monitoradas pelo Application Insights.  |  Esse documento é executado de hora em hora no ambiente de aplicações para obter detalhes atualizados das aplicações.  | 
|  `AWSEC2-CheckPerformanceCounterSets`  |  Verifica se os namespaces do contador de performance estão habilitados nas instâncias do Windows do Amazon EC2.  |  Esse documento é executado de hora em hora no seu ambiente de aplicações e vai monitorar somente as métricas do contador de performance se os namespaces correspondentes estiverem habilitados.  | 
|  `AWSEC2-ApplicationInsightsCloudwatchAgentInstallAndConfigure`  |  Instala e configura o agente do CloudWatch com base na configuração de monitoramento dos componentes da aplicação.  |  Esse documento é executado a cada 30 minutos para garantir que a configuração do agente do CloudWatch esteja sempre precisa e atualizada. O documento também é executado imediatamente após uma alteração ser realizada na configuração de monitoramento da aplicação, como a adição ou a remoção de métricas ou a atualização das configurações de log.   | 

## Documentos gerenciados pelo AWS Systems Manager
<a name="ssm-documents-aws-managed"></a>

Os documentos apresentados a seguir são usados ​​pelo CloudWatch Application Insights e gerenciados pelo Systems Manager.

**`AWS-ConfigureAWSPackage`**  
O Application Insights usa esse documento para instalar e desinstalar pacotes de distribuidores exportadores do Prometheus, para coletar métricas específicas da workload e para habilitar o monitoramento abrangente de workloads em instâncias do Amazon EC2 do cliente. O CloudWatch Application Insights instalará os pacotes de distribuidores exportadores do Prometheus somente se a workload de destino correlacionada estiver em execução na sua instância. 

A tabela apresentada a seguir lista os pacotes de distribuidores exportadores do Prometheus e as workloads de destino correlacionadas.


| Nome do pacote de distribuidor exportador do Prometheus | Workload de destino | 
| --- | --- | 
|  `AWSObservabilityExporter-HAClusterExporterInstallAndConfigure`  |  SAP HANA HA  | 
|  `AWSObservabilityExporter-JMXExporterInstallAndConfigure`  |  Java/JMX  | 
|  `AWSObservabilityExporter-SAP-HANADBExporterInstallAndConfigure`  |  SAP HANA  | 
|  `AWSObservabilityExporter-SAP-SAPHostExporterInstallAndConfigure`  |  NetWeaver  | 
|  `AWSObservabilityExporter-SQLExporterInstallAndConfigure`  |  SQL Server (Windows) e SAP ASE (Linux)  | 

**`AmazonCloudWatch-ManageAgent`**  
O Application Insights usa esse documento para gerenciar o status e a configuração do agente do CloudWatch em suas instâncias e para coletar métricas e logs internos no nível do sistema usando as instâncias do Amazon EC2 em sistemas operacionais.