> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Conecte o ProbeDeck no iOS ou iPadOS ao ClickHouse Cloud ou a um ClickHouse auto-hospedado.

# Conectar o ProbeDeck ao ClickHouse

export const CommunityMaintainedBadge = () => {
  return <div className="CommunityMaintainedBadge">
            <div className="CommunityMaintainedIcon">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 256 256">
                <path d="M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1-7.37-4.89,8,8,0,0,1,0-6.22A8,8,0,0,1,192,112a24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.84,8,57,57,0,0,0-98.16,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z"></path>
            </svg>
        </div>
            Mantido pela comunidade
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<CommunityMaintainedBadge />

O ProbeDeck é um cliente para iOS e iPadOS que permite verificar a integridade de um servidor ClickHouse, inspecionar
as tabelas `system` e executar SQL. Ele se conecta à interface HTTP do ClickHouse pela rede do dispositivo
ou por um bastion SSH; não requer um servidor de retransmissão.

<div id="before-you-begin">
  ## Antes de começar
</div>

* Instale o [ProbeDeck pela App Store](https://apps.apple.com/app/id6791261174).
* Use iOS ou iPadOS 17.0 ou posterior.
* Permita que o dispositivo acesse o endpoint HTTP ou HTTPS do ClickHouse pela rede, por VPN ou por um
  bastion SSH.
* Crie um usuário do ClickHouse com acesso aos bancos de dados que deseja consultar.
* Conceda ao usuário acesso `SELECT` às tabelas `system` relevantes para monitoramento.

| ProbeDeck          | ClickHouse Cloud | ClickHouse auto-hospedado                | Observações                                                                                                                                      |
| ------------------ | ---------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| 1.1.7 ou posterior | Serviço atual    | Nenhuma versão mínima de servidor fixada | Usa a interface HTTP(S). Teste a conexão e verifique cada seção de monitoramento em relação à versão do seu servidor e às permissões concedidas. |

Algumas seções de monitoramento dependem de tabelas de log opcionais ou de tabelas system mais recentes. Por exemplo,
`system.server_settings`, que o ProbeDeck usa para obter o limite de memória configurado, requer o ClickHouse
23.3 ou posterior. O ProbeDeck marca uma seção afetada como limitada quando sua fonte não está disponível.

<div id="how-it-works">
  ## Como funciona
</div>

1. O ProbeDeck envia solicitações SQL ao endpoint HTTP(S) do ClickHouse.
2. Ele lê dados de monitoramento das tabelas `system` usando o usuário configurado do ClickHouse.
3. O aplicativo exibe os resultados das consultas e as visualizações de monitoramento no dispositivo. Um bastion SSH pode encaminhar a
   mesma conexão HTTP(S) quando não há uma rota direta do dispositivo até o endpoint.

<div id="connect-to-clickhouse-cloud">
  ## Conectar ao ClickHouse Cloud
</div>

<Steps>
  <Step title="Obtenha os detalhes de conexão do serviço" id="gather-cloud-details">
    No console do ClickHouse Cloud, abra seu serviço, selecione **Connect** e escolha **HTTPS**.

    Para se conectar ao ClickHouse via HTTP(S), você precisa das seguintes informações:

    | Parâmetro(s)              | Descrição                                                                                                         |
    | ------------------------- | ----------------------------------------------------------------------------------------------------------------- |
    | `HOST` and `PORT`         | Normalmente, a porta é 8443 ao usar TLS ou 8123 quando não se usa TLS.                                            |
    | `DATABASE NAME`           | Por padrão, há um banco de dados chamado `default`; use o nome do banco de dados ao qual você deseja se conectar. |
    | `USERNAME` and `PASSWORD` | Por padrão, o nome de usuário é `default`. Use o nome de usuário apropriado para o seu caso de uso.               |

    Os detalhes do seu serviço do ClickHouse Cloud estão disponíveis no console do ClickHouse Cloud.
    Selecione um serviço e clique em **Connect**:

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/EDr8ydtGBgFPOQea/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=97d6a020a443f1b365b017488b39d0c8" alt="botão Connect do serviço do ClickHouse Cloud" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
      </Frame>
    </div>

    Escolha **HTTPS**. Os detalhes de conexão são exibidos em um comando `curl` de exemplo.

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/EDr8ydtGBgFPOQea/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=80369fc90cd1ac3108fe455f2426c19a" alt="detalhes de conexão HTTPS do ClickHouse Cloud" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
      </Frame>
    </div>

    Se você estiver usando ClickHouse autogerenciado, os detalhes de conexão são definidos pelo administrador do seu ClickHouse.
  </Step>

  <Step title="Adicione a conexão no ProbeDeck" id="add-cloud-connection">
    1. Na tela **Connections**, toque em **+**.
    2. Insira um nome para a conexão e o host sem `https://`.
    3. Defina **Port** como `8443` e ative **TLS**.
    4. Insira o nome de usuário e a senha do banco de dados exibidos na caixa de diálogo **Connect**. O nome do banco de dados é
       opcional.
    5. Toque em **Test Connection**. Após uma verificação bem-sucedida, o ProbeDeck exibe a versão do servidor e o tempo de ida e volta.
    6. Toque em **Save**.

    O ProbeDeck autentica solicitações SQL ao endpoint do serviço usando essas credenciais do banco de dados.
    O ClickHouse Cloud usa chaves no nível da organização, disponíveis na página **API Keys**, para a Cloud API e os
    endpoints da Query API. O fluxo de conexão SQL do ProbeDeck não usa essas chaves.

    <Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-add-connection.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=ced2eba375eed25880131fd1be03bf23" size="sm" border alt="Formulário de conexão do ProbeDeck configurado para HTTPS na porta 8443 com um nome de usuário do ClickHouse" width="1320" height="2160" data-path="images/integrations/sql-clients/probedeck-add-connection.png" />
  </Step>
</Steps>

<div id="connect-to-self-hosted-clickhouse">
  ## Conecte-se ao ClickHouse auto-hospedado
</div>

<Steps>
  <Step title="Escolha o endpoint HTTP" id="choose-self-hosted-endpoint">
    Use a porta `8123` para a interface HTTP padrão não criptografada. Para HTTPS, ative o **TLS** e use a
    porta configurada no servidor; `8443` é uma escolha comum.

    <Note>
      As portas `9000` e `9440` pertencem ao protocolo nativo do ClickHouse. O ProbeDeck usa a interface
      HTTP(S); portanto, informe a porta HTTP do servidor.
    </Note>
  </Step>

  <Step title="Adicione e teste a conexão" id="add-self-hosted-connection">
    1. Na tela **Connections**, toque em **+**.
    2. Insira o host do servidor sem o esquema de URL.
    3. Defina a porta HTTP(S) e a opção de TLS.
    4. Insira o nome de usuário, a senha e o banco de dados opcional do ClickHouse.
    5. Toque em **Test Connection** e depois em **Save**.

    Para um servidor na rede local, o iOS pode solicitar permissão para acessar a rede local. Se o endpoint
    estiver acessível apenas por uma rede corporativa, conecte primeiro o dispositivo à VPN.
  </Step>
</Steps>

<div id="connect-through-an-ssh-bastion">
  ## Conecte-se por meio de um bastion SSH
</div>

Ative o **Túnel SSH** no formulário de conexão e informe:

1. O host do bastion e a porta SSH (`22` por padrão).
2. O nome de usuário SSH.
3. Uma senha SSH ou uma chave privada.

O ProbeDeck abre um canal SSH `direct-tcpip` do bastion para o host do ClickHouse e a porta HTTP(S) na seção **Servidor**. Na primeira conexão, compare a impressão digital SHA-256 da chave de host do bastion com um valor fornecido pelo administrador do servidor antes de aceitá-la.

<div id="configure-authentication-and-tls">
  ## Configure a autenticação e o TLS
</div>

O ProbeDeck envia o nome de usuário e a senha do banco de dados nos cabeçalhos da requisição `X-ClickHouse-User` e
`X-ClickHouse-Key`. Ele não inclui credenciais na URL.

Para usar TLS mútuo, ative **TLS Client Certificate** e importe um arquivo PKCS#12 (`.p12`) que contenha
o certificado do cliente e a chave privada. Em seguida, informe a frase secreta.

Quando um endpoint auto-hospedado apresenta um certificado autossinado ou emitido por uma CA privada,
o ProbeDeck exibe sua impressão digital SHA-256, emissor, assunto e período de validade. Compare a
impressão digital com o valor fornecido pelo administrador do servidor antes de aceitá-lo. O ProbeDeck vincula a
decisão àquela conexão; uma alteração no certificado interrompe a conexão até que você a revise.

O ProbeDeck armazena os segredos de conexão e o material de chave importado no Keychain do iOS do dispositivo.

<div id="monitor-clickhouse">
  ## Monitorar o ClickHouse
</div>

Abra a conexão salva e selecione **Monitor**. O dashboard resume as seguintes fontes:

| Área                                                           | Fonte do ClickHouse                                                       |
| -------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Consultas em execução, tempo decorrido, memória e linhas lidas | `system.processes`                                                        |
| Estado da replicação e fila                                    | `system.replicas`, `system.replication_queue`                             |
| Disks, partes e merges                                         | `system.disks`, `system.parts`, `system.merges`                           |
| Mutações                                                       | `system.mutations`                                                        |
| Métricas de memória e do servidor                              | `system.metrics`, `system.asynchronous_metrics`, `system.server_settings` |
| Taxas históricas de consultas e de disco                       | `system.metric_log`, `system.asynchronous_metric_log`                     |

<Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-dashboard.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=e139ac9115a93bbcbca9d344d8c94534" size="sm" border alt="Dashboard de monitoramento do ProbeDeck mostrando consultas em execução, replicação, disks, partes, mutações, merges, taxa de consultas e memória" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-dashboard.png" />

Clique em **consultas em execução** para ordenar as consultas ativas por tempo decorrido e verificar o uso de memória e as linhas lidas.

<Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-running-queries.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=b9e6312428cebde1a446e469a702dde4" size="sm" border alt="Lista de consultas em execução do ProbeDeck ordenada por tempo decorrido" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-running-queries.png" />

<div id="query-the-uk-property-price-dataset">
  ## Consulte o conjunto de dados de preços de imóveis do Reino Unido
</div>

Este exemplo usa o [conjunto de dados de preços de imóveis do Reino Unido](/docs/pt-BR/get-started/sample-datasets/uk-price-paid).
Carregue o conjunto de dados em `uk_price_paid` e, em seguida:

1. Abra a conexão e selecione **Data**.
2. Abra o Editor SQL.
3. Execute esta consulta limitada e somente leitura:

```sql theme={null}
SELECT
    town,
    count() AS sales,
    round(avg(price)) AS average_price
FROM uk_price_paid
GROUP BY town
ORDER BY sales DESC
LIMIT 10
```

O resultado deve conter dez cidades com suas respectivas quantidades de transações e preços médios.

<div id="known-limits">
  ## Limitações conhecidas
</div>

* O ProbeDeck é executado no iOS e no iPadOS 17.0 ou posterior.
* Usuários da versão gratuita podem salvar uma conexão por vez. Excluí-la libera a vaga; o ProbeDeck Pro permite
  salvar conexões ilimitadas.
* Compatível com a interface HTTP(S) do ClickHouse, mas não com o protocolo nativo.
* O ProbeDeck carrega resultados SQL em páginas de 200 linhas e limita cada solicitação a 10.000 linhas. Use uma
  cláusula `WHERE` seletiva e `LIMIT` para tabelas grandes.
* A visibilidade do monitoramento depende das permissões do usuário do ClickHouse e das tabelas de log opcionais.
* O dispositivo precisa ter uma rota até o endpoint pela rede, por uma VPN ou pelo túnel SSH integrado.
* monitoramento e SQL somente leitura não exigem compra no aplicativo. `KILL QUERY`, `KILL MUTATION`,
  instruções de gravação e DDL e outras ações operacionais exigem o ProbeDeck Pro.

<div id="troubleshooting">
  ## Solução de problemas
</div>

<Accordion title="Authentication failed">
  Copie novamente o nome de usuário e a senha do banco de dados. Para o endpoint do serviço ClickHouse Cloud, use as
  credenciais do banco de dados na caixa de diálogo **Connect** do serviço. Não use uma
  chave da organização na página **API Keys** do ClickHouse Cloud.
</Accordion>

<Accordion title="A conexão foi recusada ou expirou">
  Confirme se o dispositivo consegue acessar o host e a porta HTTP(S). Verifique a lista de acesso IP do Cloud, a VPN,
  o firewall e o mapeamento de portas. Não use as portas do protocolo nativo `9000` ou `9440`.
</Accordion>

<Accordion title="O monitoramento mostra permissões limitadas">
  O usuário do ClickHouse não consegue ler uma ou mais tabelas `system` necessárias. Peça ao administrador do
  servidor as permissões `SELECT` mínimas necessárias para as áreas de monitoramento que pretende usar e reconecte-se.
</Accordion>

<Accordion title="A impressão digital do TLS foi alterada">
  Peça ao administrador do servidor que confirme a rotação do certificado antes de aceitar a nova
  impressão digital. Uma alteração inesperada pode indicar um endpoint diferente ou um caminho de interceptação de TLS.
</Accordion>

<div id="next-steps">
  ## Próximas etapas
</div>

* Consulte o [site do ProbeDeck](https://probedeck.app) para ver detalhes específicos do produto.
* Consulte a [documentação da interface HTTP do ClickHouse](/docs/pt-BR/concepts/features/interfaces/http) para obter informações sobre a configuração do servidor.
