

AWS O Application Discovery Service não está mais aberto a novos clientes. Como alternativa, use AWS Transform o que fornece recursos semelhantes. Para obter mais informações, consulte [Alteração de disponibilidade AWS do Application Discovery Service](https://docs.aws.amazon.com/application-discovery/latest/userguide/application-discovery-service-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Explorando dados no Amazon Athena
<a name="explore-data"></a>

A exploração de dados no Amazon Athena permite que você analise os dados coletados de todos os servidores locais descobertos pelo Discovery Agent em um só lugar. Quando a exploração de dados no Amazon Athena é habilitada a partir do console do Migration Hub (ou usando a StartContinousExport API) e a coleta de dados para agentes é ativada, os dados coletados pelos agentes são automaticamente armazenados em seu bucket do S3 em intervalos regulares. Para obter mais informações, consulte [Explorando dados no Amazon Athena](#explore-data).

A exploração de dados no Amazon Athena permite que você analise os dados coletados de todos os servidores locais descobertos pelos Discovery Agents em um só lugar. Quando a exploração de dados no Amazon Athena é habilitada a partir do console do Migration Hub (ou usando a StartContinousExport API) e a coleta de dados para agentes é ativada, os dados coletados pelos agentes são automaticamente armazenados em seu bucket do S3 em intervalos regulares.

Em seguida, você pode visitar o Amazon Athena para executar consultas predefinidas para analisar o desempenho do sistema de séries temporais para cada servidor, o tipo de processos que estão sendo executados em cada servidor e as dependências de rede entre servidores diferentes. Além disso, você pode escrever suas próprias consultas personalizadas usando o Amazon Athena, fazer upload de outras fontes de dados existentes, como exportações de banco de dados de gerenciamento de configuração (CMDB), e associar os servidores descobertos aos aplicativos comerciais reais. Você também pode integrar o banco de dados Athena com o Amazon Quick para visualizar os resultados da consulta e realizar análises adicionais.

Os tópicos desta seção descrevem as maneiras pelas quais você pode trabalhar com seus dados no Athena para avaliar e planejar a migração do seu ambiente local para o. AWS

# Ativando a exploração de dados no Amazon Athena
<a name="ce-prep-agents"></a>

A exploração de dados no Amazon Athena é habilitada ativando a exportação contínua usando o console do Migration Hub ou uma chamada de API do. AWS CLI Você deve ativar a exploração de dados antes de poder ver e começar a explorar seus dados descobertos no Amazon Athena. 

Quando você ativa a Exportação Contínua, a função vinculada ao serviço `AWSServiceRoleForApplicationDiscoveryServiceContinuousExport` é usada automaticamente pela sua conta. Para obter mais informações sobre essa função vinculada ao serviço, consulte [Permissões de função vinculadas ao serviço para o Application Discovery Service](service-linked-role-permissions.md). 

As instruções a seguir mostram como ativar a exploração de dados no Amazon Athena usando o console e o. AWS CLI

------
#### [ Turn on with the console ]

**A exploração de dados no Amazon Athena é habilitada pela ativação implícita da Exportação Contínua quando você escolhe “Iniciar coleta de dados” ou clica na opção “Exploração de dados no Amazon Athena” na página Data Collectors do console do Migration Hub.**

**Para ativar a exploração de dados no Amazon Athena a partir do console**

1. No painel de navegação, selecione **Data Collectors (Coletores de dados)**.

1. Clique na guia **Agents (Agentes)**.

1. Escolha **Iniciar coleta de dados** ou, se você já tiver a coleta de dados ativada, clique no botão **Exploração de dados no Amazon Athena**.

1. Na caixa de diálogo gerada a partir da etapa anterior, clique na caixa de seleção para concordar com os custos associados e selecione **Continue (Continuar)** ou **Enable (Habilitar)**.

**nota**  
Seus agentes agora estão funcionando no modo de “exportação contínua”, o que permitirá que você veja e trabalhe com seus dados descobertos no Amazon Athena. Na primeira vez em que isso for ativado, poderá levar até 30 minutos para que seus dados apareçam no Amazon Athena.

------
#### [ Enable with the AWS CLI ]

A exploração de dados no Amazon Athena é habilitada pela ativação explícita da exportação contínua por meio de uma chamada de API do. AWS CLI Para fazer isso, o AWS CLI deve primeiro ser instalado em seu ambiente.

**Para instalar AWS CLI e ativar a exploração de dados no Amazon Athena**

1. Instale o AWS CLI para seu sistema operacional (Linux, macOS ou Windows). Consulte o [Guia AWS Command Line Interface do usuário](https://docs.aws.amazon.com/cli/latest/userguide/) para obter instruções.

1. Abra o prompt de comando (Windows) ou o Terminal (macOS/Linux).

   1. Digite `aws configure` e pressione Enter.

   1. Insira o ID da chave de AWS acesso e a chave de acesso AWS secreta.

   1. Digite `us-west-2` no Default Region Name (Nome padrão da região).

   1. Digite `text` no Default Output Format (Formato padrão de saída).

1. Digite o seguinte comando:

   ```
   aws discovery start-continuous-export
   ```

**nota**  
Seus agentes agora estão funcionando no modo de “exportação contínua”, o que permitirá que você veja e trabalhe com seus dados descobertos no Amazon Athena. Na primeira vez em que isso for ativado, poderá levar até 30 minutos para que seus dados apareçam no Amazon Athena.

------

# Explorando dados diretamente no Amazon Athena
<a name="explore-direct-in-ate"></a>

Depois de ativar a exploração de dados no Amazon Athena, você pode começar a explorar e trabalhar com dados atuais detalhados que foram descobertos por seus agentes consultando os dados diretamente no Athena. Você pode usar os dados para gerar planilhas, realizar análises de custo, migrar a consulta para um programa de visualização com o objetivo de diagramar as dependências da rede e muito mais.

As instruções a seguir explicam como explorar os dados do seu agente diretamente no console do Athena. Se você não tiver dados no Athena ou não tiver habilitado a exploração de dados no Amazon Athena, uma caixa de diálogo solicitará que você habilite a exploração de dados no Amazon Athena, conforme explicado em. [Ativando a exploração de dados no Amazon AthenaAtivando a exploração de dados](ce-prep-agents.md)

**Para explorar dados descobertos pelo agente diretamente no Athena**

1. No AWS Migration Hub console, escolha **Servidores** no painel de navegação.

1. Para abrir o console do Amazon Athena, escolha **Explorar dados no Amazon Athena**. 

1. Na página **Editor de consultas**, no painel de navegação, em **Banco de dados**, verifique se **application\$1discovery\$1service\$1database** está selecionado.
**nota**  
Em **Tabelas**, as tabelas a seguir representam os conjuntos de dados agrupados pelos agentes.  
**os\$1info\$1agent**
**network\$1interface\$1agent**
**sys\$1performance\$1agent**
**processes\$1agent**
**inbound\$1connection\$1agent**
**outbound\$1connection\$1agent**
**id\$1mapping\$1agent**

1. Consulte os dados no console do Amazon Athena escrevendo e executando consultas SQL no Athena Query Editor. Por exemplo, é possível usar a consulta a seguir para ver todos os endereços IP do servidor descobertos. 

   ```
   SELECT * FROM network_interface_agent;
   ```

   Para obter mais consultas de exemplo, consulte [Usando consultas predefinidas no Amazon AthenaUsando consultas predefinidas](predefined-queries.md).

# Visualização de dados do Amazon Athena
<a name="port-query-to-visualization"></a>

Para visualizar seus dados, uma consulta pode ser transferida para um programa de visualização, como o Amazon Quick, ou outras ferramentas de visualização de código aberto, como Cytoscape, yEd ou Gelphi. Use essas ferramentas para renderizar diagramas de rede, gráficos de resumo e outras representações gráficas. Quando esse método é usado, você se conecta ao Athena por meio do programa de visualização para que ele possa acessar os dados coletados como fonte para produzir a visualização.

**Para visualizar seus dados do Amazon Athena usando o Quick**

1. Faça login no [Amazon Quick](https://aws.amazon.com/quicksight/).

1. Escolha **Connect to another data source or upload a file (Conecte-se a outra fonte de dados ou faça upload de um arquivo)**.

1. Escolha **Athena**. A caixa de diálogo da **fonte de dados New Athena** é exibida.

1. Insira um nome no campo **Data source name (Nome da fonte de dados)**.

1. Escolha **Criar fonte de dados**.

1. Selecione a gents-servers-os tabela **A** na caixa de diálogo **Escolha sua tabela** e escolha **Selecionar**.

1. Na caixa de diálogo **Finalizar a criação do conjunto de dados**, selecione **Importar para SPICE para acelerar a análise** e **Visualizar**.

   A visualização é renderizada.

# Usando consultas predefinidas no Amazon Athena
<a name="predefined-queries"></a>

Esta seção contém um conjunto de consultas predefinidas que executam casos de uso típicos, como análise de TCO e visualização de rede. Você pode usar essas consultas como estão ou adequá-las às suas necessidades.

**Como usar uma consulta predefinida**

1. No AWS Migration Hub console, escolha **Servidores** no painel de navegação.

1. Para abrir o console do Amazon Athena, escolha **Explorar dados no Amazon Athena**. 

1. Na página **Editor de consultas**, no painel de navegação, em **Banco de dados**, verifique se **application\$1discovery\$1service\$1database** está selecionado.

1. Escolha o sinal de adição (**\$1**) no Editor de consultas para criar uma guia para uma nova consulta.

1. Copie uma das consultas de [Consultas predefinidas](#pq-query-examples).

1. Cole a consulta no painel de consultas da guia de nova consulta que você acabou de criar.

1. Escolha **Run Query**.

## Consultas predefinidas
<a name="pq-query-examples"></a>

Escolha um título para ver informações sobre a consulta.

### Obtenha endereços IP e nomes de host para servidores
<a name="pq-helper-function"></a>

Essa função auxiliar de exibição recupera endereços IP e nomes de host para um determinado servidor. Você pode usar essa exibição em outras consultas. Para obter informações sobre como criar uma visualização, consulte [CREATE VIEW](https://docs.aws.amazon.com/athena/latest/ug/create-view.html) no Guia do *usuário do Amazon Athena*.

```
CREATE OR REPLACE VIEW hostname_ip_helper AS 
SELECT DISTINCT
  "os"."host_name"
, "nic"."agent_id"
, "nic"."ip_address"
FROM
  os_info_agent os
, network_interface_agent nic
WHERE ("os"."agent_id" = "nic"."agent_id");
```

### Identifique servidores com ou sem agentes
<a name="pq-agents-installed-or-not"></a>

Essa consulta pode ajudar você a realizar a validação de dados. Se você implantou agentes em uma série de servidores em sua rede, poderá usar essa consulta para saber se há outros servidores na sua rede sem agentes implantados neles. Nessa consulta, examinamos o tráfego de rede de entrada e de saída e filtramos o tráfego apenas para endereços IP privados. Ou seja, endereços IP que começam com `192`, `10` ou `172`.

```
SELECT DISTINCT "destination_ip" "IP Address" ,
         (CASE
    WHEN (
    (SELECT "count"(*)
    FROM network_interface_agent
    WHERE ("ip_address" = "destination_ip") ) = 0) THEN
        'no'
        WHEN (
        (SELECT "count"(*)
        FROM network_interface_agent
        WHERE ("ip_address" = "destination_ip") ) > 0) THEN
            'yes' END) "agent_running"
    FROM outbound_connection_agent
WHERE ((("destination_ip" LIKE '192.%')
        OR ("destination_ip" LIKE '10.%'))
        OR ("destination_ip" LIKE '172.%'))
UNION
SELECT DISTINCT "source_ip" "IP ADDRESS" ,
         (CASE
    WHEN (
    (SELECT "count"(*)
    FROM network_interface_agent
    WHERE ("ip_address" = "source_ip") ) = 0) THEN
        'no'
        WHEN (
        (SELECT "count"(*)
        FROM network_interface_agent
        WHERE ("ip_address" = "source_ip") ) > 0) THEN
            'yes' END) "agent_running"
    FROM inbound_connection_agent
WHERE ((("source_ip" LIKE '192.%')
        OR ("source_ip" LIKE '10.%'))
        OR ("source_ip" LIKE '172.%'));
```

### Analise os dados de desempenho do sistema para servidores com agentes
<a name="pq-agents-server-performance"></a>

É possível usar essa consulta para analisar o desempenho do sistema e o dados de padrão de utilização para seus servidores locais que têm agentes instalados. A consulta combina as tabelas `system_performance_agent` e `os_info_agent` para identificar o nome do host de cada servidor. Essa consulta retorna os dados de utilização de séries temporais (em intervalos de 15 minutos) para todos os servidores nos quais os agentes estão em execução.

```
SELECT "OS"."os_name" "OS Name" ,
    "OS"."os_version" "OS Version" ,
    "OS"."host_name" "Host Name" ,
     "SP"."agent_id" ,
     "SP"."total_num_cores" "Number of Cores" ,
     "SP"."total_num_cpus" "Number of CPU" ,
     "SP"."total_cpu_usage_pct" "CPU Percentage" ,
     "SP"."total_disk_size_in_gb" "Total Storage (GB)" ,
     "SP"."total_disk_free_size_in_gb" "Free Storage (GB)" ,
     ("SP"."total_disk_size_in_gb" - "SP"."total_disk_free_size_in_gb") "Used Storage" ,
     "SP"."total_ram_in_mb" "Total RAM (MB)" ,
     ("SP"."total_ram_in_mb" - "SP"."free_ram_in_mb") "Used RAM (MB)" ,
     "SP"."free_ram_in_mb" "Free RAM (MB)" ,
     "SP"."total_disk_read_ops_per_sec" "Disk Read IOPS" ,
     "SP"."total_disk_bytes_written_per_sec_in_kbps" "Disk Write IOPS" ,
     "SP"."total_network_bytes_read_per_sec_in_kbps" "Network Reads (kbps)" ,
     "SP"."total_network_bytes_written_per_sec_in_kbps" "Network Write (kbps)"
FROM "sys_performance_agent" "SP" , "OS_INFO_agent" "OS"
WHERE ("SP"."agent_id" = "OS"."agent_id") limit 10;
```

### Rastreie a comunicação de saída entre servidores com base no número da porta e nos detalhes do processo
<a name="pq-analyze-outbound-connections"></a>

Esta consulta obtém os detalhes sobre o tráfego de saída para cada serviço, juntamente com o número da porta e os detalhes do processo. 

Antes de executar a consulta, caso ainda não tenha feito isso, você deve criar a tabela `iana_service_ports_import` que contém o banco de dados de registro de porta IANA baixado da IANA. Para obter informações sobre como criar essa tabela, consulte [Criando a tabela de importação do registro de portas IANA](#pq-create-iana-import-table).

Depois que a tabela `iana_service_ports_import` for criada, crie duas funções auxiliares de visualização para rastrear o tráfego de saída. Para obter informações sobre como criar uma visualização, consulte [CREATE VIEW](https://docs.aws.amazon.com/athena/latest/ug/create-view.html) no Guia do *usuário do Amazon Athena*. 

**Como criar funções auxiliares de controle de saída**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Crie a `valid_outbound_ips_helper` exibição usando a seguinte função auxiliar que lista todos os endereços IP de destino de saída distintos.

   ```
   CREATE OR REPLACE VIEW valid_outbound_ips_helper AS 
   SELECT DISTINCT "destination_ip"
   FROM outbound_connection_agent;
   ```

1. Crie a visualização `outbound_query_helper` usando a função auxiliar a seguir que determina a frequência de comunicação para o tráfego de saída.

   ```
   CREATE OR REPLACE VIEW outbound_query_helper AS
   SELECT "agent_id" ,
            "source_ip" ,
            "destination_ip" ,
            "destination_port" ,
            "agent_assigned_process_id" ,
            "count"(*) "frequency"
   FROM outbound_connection_agent
   WHERE (("ip_version" = 'IPv4')
           AND ("destination_ip" IN 
       (SELECT *
       FROM valid_outbound_ips_helper )))
   GROUP BY  "agent_id", "source_ip", "destination_ip", "destination_port", "agent_assigned_process_id";
   ```

1. Depois de criar a tabela `iana_service_ports_import` e suas duas funções auxiliares, você poderá executar a seguinte consulta para obter os detalhes do tráfego de saída de cada serviço, juntamente com o número da porta e os detalhes do processo.

   ```
   SELECT hip1.host_name "Source Host Name",
            outbound_connections_results0.source_ip "Source IP Address",
            hip2.host_name "Destination Host Name",
            outbound_connections_results0.destination_ip "Destination IP Address",
            outbound_connections_results0.frequency "Connection Frequency",
            outbound_connections_results0.destination_port "Destination Communication Port",
            outbound_connections_results0.servicename "Process Service Name",
            outbound_connections_results0.description "Process Service Description"
   FROM 
       (SELECT DISTINCT o.source_ip,
            o.destination_ip,
            o.frequency,
            o.destination_port,
            ianap.servicename,
            ianap.description
       FROM outbound_query_helper o, iana_service_ports_import ianap
       WHERE o.destination_port = TRY_CAST(ianap.portnumber AS integer)) AS outbound_connections_results0 LEFT OUTER
   JOIN hostname_ip_helper hip1
       ON outbound_connections_results0.source_ip = hip1.ip_address LEFT OUTER
   JOIN hostname_ip_helper hip2
       ON outbound_connections_results0.destination_ip = hip2.ip_address
   ```

### Rastreie a comunicação de entrada entre servidores com base no número da porta e nos detalhes do processo
<a name="pq-analyze-inbound-connections"></a>

Esta consulta obtém informações sobre o tráfego de entrada para cada serviço, juntamente com o número da porta e os detalhes do processo.

Antes de executar esta consulta, caso ainda não tenha feito isso, você deve criar a tabela `iana_service_ports_import` que contém o banco de dados de registro de porta IANA baixado da IANA. Para obter informações sobre como criar essa tabela, consulte [Criando a tabela de importação do registro de portas IANA](#pq-create-iana-import-table).

Depois que a tabela `iana_service_ports_import` for criada, crie duas funções auxiliares de visualização para rastrear o tráfego de entrada. Para obter informações sobre como criar uma visualização, consulte [CREATE VIEW](https://docs.aws.amazon.com/athena/latest/ug/create-view.html) no Guia do *usuário do Amazon Athena*. 

**Como criar funções auxiliares de controle de entrada**

1. Abra o console do Athena em [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Crie a visualização `valid_inbound_ips_helper` usando a função auxiliar a seguir que lista todos os endereços IP de origem de entrada distintos.

   ```
   CREATE OR REPLACE VIEW valid_inbound_ips_helper AS 
   SELECT DISTINCT "source_ip"
   FROM inbound_connection_agent;
   ```

1. Crie a visualização `inbound_query_helper` usando a função auxiliar a seguir que determina a frequência de comunicação do tráfego de entrada.

   ```
   CREATE OR REPLACE VIEW inbound_query_helper AS 
   SELECT "agent_id" ,
            "source_ip" ,
            "destination_ip" ,
            "destination_port" ,
            "agent_assigned_process_id" ,
            "count"(*) "frequency"
   FROM inbound_connection_agent
   WHERE (("ip_version" = 'IPv4')
           AND ("source_ip" IN 
       (SELECT *
       FROM valid_inbound_ips_helper )))
   GROUP BY  "agent_id", "source_ip", "destination_ip", "destination_port", "agent_assigned_process_id";
   ```

1. Depois de criar a tabela `iana_service_ports_import` e suas duas funções auxiliares, você poderá executar a seguinte consulta para obter os detalhes do tráfego de entrada de cada serviço, juntamente com o número da porta e os detalhes do processo.

   ```
   SELECT hip1.host_name "Source Host Name",
            inbound_connections_results0.source_ip "Source IP Address",
            hip2.host_name "Destination Host Name",
            inbound_connections_results0.destination_ip "Destination IP Address",
            inbound_connections_results0.frequency "Connection Frequency",
            inbound_connections_results0.destination_port "Destination Communication Port",
            inbound_connections_results0.servicename "Process Service Name",
            inbound_connections_results0.description "Process Service Description"
   FROM 
       (SELECT DISTINCT i.source_ip,
            i.destination_ip,
            i.frequency,
            i.destination_port,
            ianap.servicename,
            ianap.description
       FROM inbound_query_helper i, iana_service_ports_import ianap
       WHERE i.destination_port = TRY_CAST(ianap.portnumber AS integer)) AS inbound_connections_results0 LEFT OUTER
   JOIN hostname_ip_helper hip1
       ON inbound_connections_results0.source_ip = hip1.ip_address LEFT OUTER
   JOIN hostname_ip_helper hip2
       ON inbound_connections_results0.destination_ip = hip2.ip_address
   ```

### Identifique o software em execução a partir do número da porta
<a name="pq-identify-software"></a>

Esta consulta identifica o software em execução com base nos números de porta.

Antes de executar esta consulta, caso ainda não tenha feito isso, você deve criar a tabela `iana_service_ports_import` que contém o banco de dados de registro de porta IANA baixado da IANA. Para obter informações sobre como criar essa tabela, consulte [Criando a tabela de importação do registro de portas IANA](#pq-create-iana-import-table).

Execute a consulta a seguir para identificar o software em execução com base nos números de porta.

```
SELECT o.host_name "Host Name",
       ianap.servicename "Service",
       ianap.description "Description",
       con.destination_port,
       con.cnt_dest_port "Destination Port Count"
FROM   (SELECT agent_id,
               destination_ip,
               destination_port,
               Count(destination_port) cnt_dest_port
        FROM   inbound_connection_agent
        GROUP  BY agent_id,
                  destination_ip,
                  destination_port) con,
       (SELECT agent_id,
               host_name,
               Max("timestamp")
        FROM   os_info_agent
        GROUP  BY agent_id,
                  host_name) o,
       iana_service_ports_import ianap
WHERE  ianap.transportprotocol = 'tcp'
       AND con.destination_ip NOT LIKE '172%'
       AND con.destination_port = ianap.portnumber
       AND con.agent_id = o.agent_id
ORDER BY cnt_dest_port DESC;
```

## Criando a tabela de importação do registro de portas IANA
<a name="pq-create-iana-import-table"></a>

Algumas das consultas predefinidas exigem uma tabela chamada `iana_service_ports_import` que contém informações baixadas da IANA (Internet Assigned Numbers Authority).

**Como criar a tabela iana\$1service\$1ports\$1import**

1. Faça download do arquivo **CSV** do banco de dados de registro de porta IANA de [Service Name and Transport Protocol Port Number Registry](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml) em *iana.org*.

1. Faça upload do arquivo no Amazon S3. Para obter mais informações, consulte [Como faço upload de arquivos e pastas em um bucket do S3?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)

1. Crie uma nova tabela em Athena chamada. `iana_service_ports_import` Para obter instruções, consulte [Criar uma tabela](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html#step-2-create-a-table) no Guia do *usuário do Amazon Athena*. No exemplo a seguir, você precisa substituir `my_bucket_name` pelo nome do bucket do S3 para o qual você fez upload do arquivo CSV na etapa anterior.

   ```
   CREATE EXTERNAL TABLE IF NOT EXISTS iana_service_ports_import (
            ServiceName STRING,
            PortNumber INT,
            TransportProtocol STRING,
            Description STRING,
            Assignee STRING,
            Contact STRING,
            RegistrationDate STRING,
            ModificationDate STRING,
            Reference STRING,
            ServiceCode STRING,
            UnauthorizedUseReported STRING,
            AssignmentNotes STRING
   )
   ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
   WITH SERDEPROPERTIES (
     'serialization.format' = ',',
     'quoteChar' = '"',
     'field.delim' = ','
   ) LOCATION 's3://my_bucket_name/'
   TBLPROPERTIES ('has_encrypted_data'='false',"skip.header.line.count"="1");
   ```