Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Conectar ProbeDeck a ClickHouse

Mantenido por la comunidad

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.

Antes de empezar

  • Instala ProbeDeck desde la App Store.
  • 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.

Cómo funciona

  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.

Conectarse a ClickHouse Cloud

Obtenga los datos de conexión del servicio

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:

Botón Connect del servicio de ClickHouse Cloud

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

Detalles de conexión HTTPS de ClickHouse Cloud

Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.

Añada la conexión en ProbeDeck

  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.

Formulario de conexión de ProbeDeck configurado para HTTPS en el puerto 8443 con un nombre de usuario de ClickHouse

Conectarse a ClickHouse autohospedado

Elija el endpoint HTTP

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.

Agregue y pruebe la conexión

  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.

Conéctese mediante un bastión SSH

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.

Configure la autenticación y TLS

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.

Supervisar ClickHouse

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
Panel de monitorización de ProbeDeck que muestra consultas en ejecución, replicación, discos, partes, mutaciones, fusiones, tasa de consultas y memoria

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

Lista de consultas en ejecución de ProbeDeck ordenada por tiempo transcurrido

Consultar el conjunto de datos de precios de propiedades del Reino Unido

Este ejemplo utiliza el conjunto de datos de precios de propiedades del Reino Unido. 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:
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.

Limitaciones conocidas

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

Solución de problemas

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.

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.

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.

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.

Próximos pasos

Navigation