Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Primeros pasos con Managed ClickStack

Implementa Managed ClickStack en ClickHouse Cloud, envía un evento de prueba a través de tu pipeline de ingestión y confirma que el evento esté disponible en la UI de ClickStack.

ClickHouse Cloud opera el backend de ClickHouse, mientras conservas el control sobre el pipeline de ingestión y el esquema. Managed ClickStack proporciona:

  • Escalado automático del cómputo, independiente del almacenamiento
  • Retención de bajo costo y prácticamente ilimitada basada en almacenamiento de objetos
  • Aislamiento independiente de las cargas de trabajo de lectura y escritura con warehouses
  • Autenticación integrada
  • Backups automatizados
  • Funciones de seguridad y cumplimiento normativo
  • Actualizaciones sin interrupciones

Antes de empezar

También puede enviar datos directamente a ClickHouse mediante una integración compatible y un esquema propio.

Crea un servicio de ClickHouse Cloud

Completa el paso Crear un servicio de ClickHouse de la guía de inicio rápido de ClickHouse Cloud. Antes de continuar, confirma que el servicio esté en ejecución.

Prepare su entorno de ingestión

Configurar Managed ClickStack

Elija una fuente de ingestión y configure el collector

Desde tu servicio de ClickHouse Cloud, inicia ClickStack. En la página Primeros pasos de ClickStack, selecciona Iniciar la ingestión.

Iniciar la ingestión

En la página Elegir una fuente de ingestión, selecciona OpenTelemetry.

Seleccionar OpenTelemetry como fuente de ingestión

ClickStack genera el comando del colector con las credenciales de administrador default. Recomendamos usar credenciales de ingestión específicas para mantener el acceso de ingestión separado de las tareas de administración y evitar depender de la contraseña de administrador.

Crear credenciales específicas para la ingestión (recomendado)

En ClickHouse Cloud, abre la consola SQL de tu servicio y ejecuta:

CREATE USER `clickstack-ingest` IDENTIFIED WITH sha256_password BY '<password>';
GRANT SELECT, INSERT, CREATE DATABASE, CREATE TABLE, CREATE VIEW ON default.* TO `clickstack-ingest`;

En el comando generado, reemplaza CLICKHOUSE_USER="default" por CLICKHOUSE_USER="clickstack-ingest" y establece CLICKHOUSE_PASSWORD con la contraseña del usuario específico.

Para continuar con las credenciales de administrador default, copia el comando de la pestaña Iniciar colector. ClickStack rellena previamente el endpoint del servicio. Sustituye el marcador de posición de la contraseña por la contraseña de tu servicio. Si ya no la tienes, consulta o restablece tus datos de conexión.

El comando tiene este formato:

docker run -e CLICKHOUSE_ENDPOINT="https://<host>:8443" \
    -e CLICKHOUSE_USER="default" \
    -e CLICKHOUSE_PASSWORD="<your_password_here>" \
    -p 4317:4317 -p 4318:4318 \
    clickhouse/clickstack-otel-collector:latest

Sustituye <host> y <your_password_here> por los valores de tu servicio de ClickHouse Cloud y ejecuta el comando.

El colector se ejecuta en primer plano. Mantén esta terminal abierta y usa una segunda terminal para los comandos restantes de esta guía.

Enviar datos de prueba

Envía un registro de prueba con la marca de tiempo actual:

NOW_NANO="$(date +%s)000000000"

curl -i "http://localhost:4318/v1/logs" \
  -H "Content-Type: application/json" \
  --data-binary @- <<EOF
{
  "resourceLogs": [{
    "resource": {
      "attributes": [{
        "key": "service.name",
        "value": {"stringValue": "clickstack-docs-test"}
      }]
    },
    "scopeLogs": [{
      "scope": {"name": "clickstack-docs-test"},
      "logRecords": [{
        "timeUnixNano": "${NOW_NANO}",
        "severityText": "INFO",
        "body": {"stringValue": "ClickStack ingestion test"}
      }]
    }]
  }]
}
EOF

Si utiliza un collector existente, sustituya http://localhost:4318 por su endpoint HTTP de OTLP. Si el receiver requiere autenticación, añada el header necesario al comando curl.

Una request correcta devuelve HTTP/1.1 200 OK.

Comience a explorar y confirme la ingestión

Cuando ClickStack detecte las fuentes de datos de OpenTelemetry, selecciona Empezar a explorar para abrir la vista de Búsqueda. Busca ClickStack ingestion test.

El resultado debería incluir el evento de prueba con el nombre de servicio clickstack-docs-test.

Vista de logs de ClickStack que muestra el evento de prueba de ingestión de ClickStack

Prepare su entorno de ingestión

Comience con un pipeline de Vector existente que pueda enviar datos a ClickHouse.

Configurar Managed ClickStack

Elija Vector y configure la ingestión

Desde su servicio de ClickHouse Cloud, inicie ClickStack. En la página Getting Started de ClickStack, seleccione Start ingestion.

Iniciar la ingestión

En la página Choose an ingestion source, seleccione Vector.

Seleccione Vector como fuente de ingesta

Vector es un pipeline de datos de observabilidad de alto rendimiento e independiente del proveedor, especialmente popular para la ingestión de logs por su flexibilidad y su bajo consumo de recursos.

Al usar Vector con ClickStack, es usted quien define el esquema, el cual puede seguir las convenciones de OpenTelemetry o emplear campos propios de sus eventos.

Crear una base de datos y una tabla

Cree una base de datos y una tabla antes de configurar el sink de Vector.

En ClickHouse Cloud, abra la consola SQL de su servicio y cree una base de datos:

Por ejemplo, cree una base de datos para los registros:

CREATE DATABASE IF NOT EXISTS logs

A continuación, cree una tabla cuyo esquema coincida con la estructura de los datos de sus logs. El siguiente ejemplo asume un formato clásico de log de acceso de Nginx:

CREATE TABLE logs.nginx_logs
(
    `time_local` DateTime,
    `remote_addr` IPv4,
    `remote_user` LowCardinality(String),
    `request` String,
    `status` UInt16,
    `body_bytes_sent` UInt64,
    `http_referer` String,
    `http_user_agent` String,
    `http_x_forwarded_for` LowCardinality(String),
    `request_time` Float32,
    `upstream_response_time` Float32,
    `http_host` String
)
ENGINE = MergeTree
ORDER BY (toStartOfMinute(time_local), status, remote_addr);

Su table debe coincidir con el schema de salida que genera Vector. Ajuste el schema según sea necesario para sus datos, siguiendo las buenas prácticas de schema recomendadas.

Recomendamos encarecidamente comprender cómo funcionan las primary keys en ClickHouse y elegir una ordering key acorde con sus access patterns. Consulte la guía específica de ClickStack sobre cómo elegir una primary key.

Configurar el sink de ClickHouse

Una vez creada la tabla, añada un sink de ClickHouse a su configuración de Vector:

sinks:
  clickhouse:
    type: clickhouse
    inputs:
      - your_input
    endpoint: "https://<host>:8443"
    database: logs
    table: nginx_logs
    format: json_each_row
    skip_unknown_fields: true
    auth:
      strategy: basic
      user: default
      password: "<your_password_here>"

Sustituya your_input por la entrada de su pipeline existente. Sustituya <host> y <your_password_here> por los valores de su servicio de ClickHouse Cloud. Si es necesario, cambie la base de datos o la tabla de destino.

Utilice credenciales específicas para la ingestión (recomendado)

Para el entorno de producción, cree un usuario específico y concédale acceso a la tabla de destino de Vector. En ClickHouse Cloud, abra la consola SQL de su servicio y ejecute:

CREATE USER `clickstack-ingest` IDENTIFIED WITH sha256_password BY '<password>';
GRANT SELECT, INSERT ON logs.nginx_logs TO `clickstack-ingest`;

Sustituya default por clickstack-ingest en el sink de Vector y establezca password con la contraseña del usuario dedicado.

Guarde la configuración actualizada y, a continuación, recargue o reinicie Vector con su proceso de despliegue habitual.

Para más ejemplos de cómo ingestar datos con Vector, consulte Ingestar con Vector o la documentación del sink de ClickHouse de Vector para ver las opciones avanzadas.

Crear una fuente de datos en ClickStack

Cree un data source para la tabla que su pipeline de Vector puebla. ClickStack le pedirá crear uno la primera vez que inicie sesión.

El formulario rellena previamente las expresiones correspondientes al esquema predeterminado de OpenTelemetry. Para la tabla de Nginx creada en esta guía, configure la fuente con estos valores:

Configuración Valor
Nombre Logs de Nginx
Tipo de datos de origen Log
Conexión del servidor Default
Base de datos logs
Tabla nginx_logs
Columna de marca de tiempo time_local
SELECT predeterminado time_local, remote_addr, status, request
Expresión del nombre del servicio 'nginx'
Expresión de nivel de registro multiIf(status >= 500, 'ERROR', status >= 400, 'WARN', 'INFO')
Expresión de atributos de registro map('http.remote_addr', toString(remote_addr), 'http.status_code', toString(status), 'http.request', request)
Expresión de atributos de recurso map('service.name', 'nginx')
Columna de marca de tiempo que se muestra time_local
Expresión de ID de trace ''
Expresión de ID de span ''
Expresión de columna implícita request

La tabla de Nginx no contiene una columna Body. Establezca Body Expression en:

concat(
  remote_addr, ' ',
  remote_user, ' ',
  '[', formatDateTime(time_local, '%d/%b/%Y:%H:%i:%S %z'), '] ',
  '"', request, '" ',
  toString(status), ' ',
  toString(body_bytes_sent), ' ',
  '"', http_referer, '" ',
  '"', http_user_agent, '" ',
  '"', http_x_forwarded_for, '" ',
  toString(request_time), ' ',
  toString(upstream_response_time), ' ',
  '"', http_host, '"'
)

Para conocer otros ajustes de la source, consulte la referencia de configuración de ClickStack.

Enviar datos de prueba

Envíe un evento representativo a la entrada de su pipeline de Vector existente.

Para ver más ejemplos de fuentes y transformaciones de Vector, consulte Ingesta con Vector.

Empiece a explorar y confirme la ingestión

Después de crear la fuente de datos, selecciona Comenzar a explorar para abrir la vista Búsqueda. Selecciona la fuente de datos correspondiente a tu tabla y confirma que contiene el evento que enviaste.

Registros en la UI de ClickStack

Ahora tienes un servicio de Managed ClickStack, una ruta de ingestión operativa y un evento de prueba que puedes inspeccionar en ClickStack.

Próximos pasos

Si otra guía requiere el endpoint o la contraseña de ClickHouse Cloud, obtenga o restablezca los datos de conexión antes de continuar.

Envíe datos de aplicaciones y de infraestructura

Elija una guía según los datos que desee enviar a ClickStack:

Explorar datos de muestra

Use un conjunto de datos de muestra para explorar ClickStack con telemetría más completa:

Generar datos sintéticos

Use un generador para probar la ingestión sin necesidad de contar con una aplicación o un conjunto de datos existentes:

Consulte todos los datos de ejemplo y demos de ClickStack.

Preparación para producción

Revise las recomendaciones de producción y dimensionamiento antes de utilizar ClickStack para cargas de trabajo continuas:

Para tareas de implementación, consulte la guía de implementación de Managed ClickStack.

Navigation