> ## 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.

> Conecta ProbeDeck en iOS o iPadOS a ClickHouse Cloud o a un servidor de ClickHouse autohospedado.

# Conectar ProbeDeck a 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>
            Mantenido por la comunidad
        </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 />

ProbeDeck es un cliente para iOS y iPadOS que permite comprobar el estado de un servidor de ClickHouse, inspeccionar
las tablas `system` y ejecutar SQL. Se conecta a la interfaz HTTP de ClickHouse a través de la red del dispositivo
o mediante un bastión SSH; no requiere un servidor de retransmisión.

<div id="before-you-begin">
  ## Antes de empezar
</div>

* Instala [ProbeDeck desde la App Store](https://apps.apple.com/app/id6791261174).
* Usa iOS o iPadOS 17.0 o una versión posterior.
* Permite que el dispositivo alcance el endpoint HTTP o HTTPS de ClickHouse a través de su red, una VPN o un
  bastión SSH.
* Crea un usuario de ClickHouse con acceso a las bases de datos que quieras consultar.
* Concede al usuario acceso `SELECT` a las tablas `system` pertinentes para la monitorización.

| ProbeDeck         | ClickHouse Cloud | ClickHouse autohospedado              | Notas                                                                                                                                          |
| ----------------- | ---------------- | ------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| 1.1.7 o posterior | Servicio actual  | Sin versión mínima de servidor fijada | Usa la interfaz HTTP(S). Prueba la conexión y verifica cada sección de monitorización con la versión de tu servidor y los permisos concedidos. |

Algunas secciones de monitorización dependen de tablas de registros opcionales o de tablas del sistema más recientes. Por ejemplo,
`system.server_settings`, que ProbeDeck utiliza para obtener el límite de memoria configurado, requiere ClickHouse
23.3 o posterior. ProbeDeck marca como limitada una sección afectada cuando su fuente no está disponible.

<div id="how-it-works">
  ## Cómo funciona
</div>

1. ProbeDeck envía solicitudes SQL al endpoint HTTP(S) de ClickHouse.
2. Lee datos de monitorización de las tablas `system` con el usuario de ClickHouse configurado.
3. La aplicación muestra los resultados de las consultas y las vistas de monitorización en el dispositivo. Un bastión SSH puede establecer la
   misma conexión HTTP(S) cuando no hay una ruta directa al endpoint desde el dispositivo.

<div id="connect-to-clickhouse-cloud">
  ## Conectarse a ClickHouse Cloud
</div>

<Steps>
  <Step title="Obtenga los datos de conexión del servicio" id="gather-cloud-details">
    En la consola de ClickHouse Cloud, abra su servicio, seleccione **Conectar** y elija **HTTPS**.

    Para conectarse a ClickHouse con HTTP(S), necesita esta información:

    | Parámetro(s)              | Descripción                                                                                                                       |
    | ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
    | `HOST` and `PORT`         | Normalmente, el puerto es 8443 cuando se usa TLS o 8123 cuando no se usa TLS.                                                     |
    | `DATABASE NAME`           | De forma predeterminada, existe una base de datos llamada `default`; use el nombre de la base de datos a la que desea conectarse. |
    | `USERNAME` and `PASSWORD` | De forma predeterminada, el nombre de usuario es `default`. Use el nombre de usuario adecuado para su caso de uso.                |

    Los detalles de su servicio de ClickHouse Cloud están disponibles en la consola de ClickHouse Cloud.
    Seleccione un servicio y haga clic en **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ón Connect del servicio de ClickHouse Cloud" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
      </Frame>
    </div>

    Elija **HTTPS**. Los detalles de conexión se muestran en un comando `curl` de ejemplo.

    <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="Detalles de conexión HTTPS de ClickHouse Cloud" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
      </Frame>
    </div>

    Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.
  </Step>

  <Step title="Añada la conexión en ProbeDeck" id="add-cloud-connection">
    1. En la pantalla **Connections**, toque **+**.
    2. Introduzca un nombre para la conexión y el host sin `https://`.
    3. Configure **Port** como `8443` y active **TLS**.
    4. Introduzca el nombre de usuario y la contraseña de la base de datos del cuadro de diálogo **Conectar**. El nombre de la base de datos es
       opcional.
    5. Toque **Probar conexión**. Tras una comprobación correcta, ProbeDeck muestra la versión del servidor y el tiempo de ida y vuelta.
    6. Toque **Guardar**.

    ProbeDeck autentica las solicitudes SQL al endpoint del servicio con estas credenciales de base de datos.
    ClickHouse Cloud usa claves de nivel de organización de la página **API Keys** para Cloud API y los
    endpoints de Query API. El flujo de conexión SQL de ProbeDeck no usa esas claves.

    <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="Formulario de conexión de ProbeDeck configurado para HTTPS en el puerto 8443 con un nombre de usuario de ClickHouse" width="1320" height="2160" data-path="images/integrations/sql-clients/probedeck-add-connection.png" />
  </Step>
</Steps>

<div id="connect-to-self-hosted-clickhouse">
  ## Conectarse a ClickHouse autohospedado
</div>

<Steps>
  <Step title="Elija el endpoint HTTP" id="choose-self-hosted-endpoint">
    Use el puerto `8123` para la interfaz HTTP predeterminada sin cifrado. Para HTTPS, habilite **TLS** y use el
    puerto configurado en el servidor; `8443` es una opción habitual.

    <Note>
      Los puertos `9000` y `9440` pertenecen al protocolo nativo de ClickHouse. ProbeDeck usa la interfaz HTTP(S),
      por lo que debe introducir el puerto HTTP del servidor.
    </Note>
  </Step>

  <Step title="Agregue y pruebe la conexión" id="add-self-hosted-connection">
    1. En la pantalla **Connections**, toque **+**.
    2. Introduzca el host del servidor sin el esquema de URL.
    3. Configure el puerto HTTP(S) y la opción TLS.
    4. Introduzca el nombre de usuario y la contraseña de ClickHouse, así como la base de datos opcional.
    5. Toque **Probar conexión** y, luego, **Guardar**.

    Para un servidor en la red local, iOS puede solicitar permiso para acceder a la red local. Conecte primero el dispositivo a
    la VPN si el endpoint solo es accesible desde una red corporativa.
  </Step>
</Steps>

<div id="connect-through-an-ssh-bastion">
  ## Conéctese mediante un bastión SSH
</div>

Active **SSH Tunnel** en el formulario de conexión e introduzca:

1. El host del bastión y el puerto SSH (`22` de forma predeterminada).
2. El nombre de usuario SSH.
3. Una contraseña SSH o una clave privada.

ProbeDeck abre un canal SSH `direct-tcpip` desde el bastión hasta el host de ClickHouse y el
puerto HTTP(S) de la sección **Server**. En la primera conexión, compare la huella digital
SHA-256 de la clave de host del bastión con el valor proporcionado por el administrador del servidor antes de aceptarla.

<div id="configure-authentication-and-tls">
  ## Configure la autenticación y TLS
</div>

ProbeDeck envía el nombre de usuario y la contraseña de la base de datos en los encabezados de solicitud
`X-ClickHouse-User` y `X-ClickHouse-Key`. No incluye credenciales en la URL.

Para TLS mutuo, active **TLS Client Certificate** e importe un archivo PKCS#12 (`.p12`) que contenga
el certificado de cliente y la clave privada; a continuación, introduzca la frase de contraseña.

Cuando un endpoint autohospedado presenta un certificado autofirmado o emitido por una
CA privada, ProbeDeck muestra su huella digital SHA-256, emisor, sujeto y período de validez. Compare la
huella digital con el valor proporcionado por el administrador del servidor antes de aceptarlo. ProbeDeck vincula la
decisión a esa conexión; si el certificado cambia, la conexión se detiene hasta que lo revise.

ProbeDeck almacena los secretos de conexión y el material de claves importado en el llavero de iOS del dispositivo.

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

Abra la conexión guardada y seleccione **Monitor**. El panel resume estas fuentes:

| Área                                                                | Fuente de ClickHouse                                                      |
| ------------------------------------------------------------------- | ------------------------------------------------------------------------- |
| Consultas en ejecución, tiempo transcurrido, memoria y filas leídas | `system.processes`                                                        |
| Estado de replicación y cola                                        | `system.replicas`, `system.replication_queue`                             |
| Discos, partes y fusiones                                           | `system.disks`, `system.parts`, `system.merges`                           |
| Mutaciones                                                          | `system.mutations`                                                        |
| Métricas de memoria y del servidor                                  | `system.metrics`, `system.asynchronous_metrics`, `system.server_settings` |
| Tasas históricas de consultas y 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="Panel de monitorización de ProbeDeck que muestra consultas en ejecución, replicación, discos, partes, mutaciones, fusiones, tasa de consultas y memoria" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-dashboard.png" />

Pulse **Consultas en ejecución** para ordenar las consultas activas por tiempo transcurrido e inspeccionar el uso de memoria y las filas leídas.

<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 en ejecución de ProbeDeck ordenada por tiempo transcurrido" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-running-queries.png" />

<div id="query-the-uk-property-price-dataset">
  ## Consultar el conjunto de datos de precios de propiedades del Reino Unido
</div>

Este ejemplo utiliza el [conjunto de datos de precios de propiedades del Reino Unido](/docs/es/get-started/sample-datasets/uk-price-paid).
Carga el conjunto de datos en `uk_price_paid` y, a continuación:

1. Abre la conexión y selecciona **Data**.
2. Abre el editor de SQL.
3. Ejecuta esta consulta de solo lectura con límites:

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

El resultado debe contener diez localidades con sus recuentos de transacciones y precios medios.

<div id="known-limits">
  ## Limitaciones conocidas
</div>

* ProbeDeck funciona con iOS y iPadOS 17.0 o versiones posteriores.
* Los usuarios gratuitos pueden guardar una conexión a la vez. Al eliminarla, se libera el espacio; ProbeDeck Pro permite
  guardar un número ilimitado de conexiones.
* Admite la interfaz HTTP(S) de ClickHouse, no el protocolo nativo.
* ProbeDeck carga los resultados de SQL en páginas de 200 filas y limita cada solicitud a 10.000 filas. Use una
  cláusula `WHERE` selectiva y `LIMIT` para tablas grandes.
* La visibilidad de Monitoring depende de los permisos del usuario de ClickHouse y de las tablas de registros opcionales.
* El dispositivo necesita una ruta al endpoint a través de su red, una VPN o el túnel SSH integrado.
* Monitoring y las consultas SQL de solo lectura no requieren compras dentro de la aplicación. `KILL QUERY`, `KILL MUTATION`,
  las sentencias de escritura y DDL, y otras acciones operativas requieren ProbeDeck Pro.

<div id="troubleshooting">
  ## Solución de problemas
</div>

<Accordion title="Error de autenticación">
  Vuelva a copiar el nombre de usuario y la contraseña de la base de datos. Para el endpoint del servicio ClickHouse Cloud, use las
  credenciales de base de datos del cuadro de diálogo **Conectar** del servicio. No sustituya estas credenciales por una
  clave de nivel de organización de la página **API Keys** de ClickHouse Cloud.
</Accordion>

<Accordion title="La conexión fue rechazada o agotó el tiempo de espera">
  Compruebe que el dispositivo pueda acceder al host y al puerto HTTP(S). Revise la lista de acceso IP de Cloud, la VPN,
  el firewall y la asignación de puertos. No use los puertos del protocolo nativo `9000` ni `9440`.
</Accordion>

<Accordion title="Monitoring muestra permisos limitados">
  El usuario de ClickHouse no puede leer una o más tablas `system` necesarias. Solicite al administrador del servidor
  los permisos `SELECT` mínimos necesarios para las áreas de monitorización que pretenda usar y, a continuación, vuelva a conectarse.
</Accordion>

<Accordion title="La huella digital de TLS cambió">
  Solicite al administrador del servidor que confirme la rotación de certificados antes de aceptar la nueva
  huella digital. Un cambio inesperado puede indicar un endpoint distinto o una ruta de interceptación de TLS.
</Accordion>

<div id="next-steps">
  ## Próximos pasos
</div>

* Consulta el [sitio web de ProbeDeck](https://probedeck.app) para obtener información específica sobre el producto.
* Consulta la [documentación de la interfaz HTTP de ClickHouse](/docs/es/concepts/features/interfaces/http) para configurar el servidor.
