> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Conecta los dashboards de Splunk con ClickHouse

# Conectar Splunk con ClickHouse

export const ClickHouseSupportedBadge = () => {
  return <div className="ClickHouseSupportedBadge">
            <div className="ClickHouseSupportedIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <path d="M1.30762 1.39073C1.30762 1.3103 1.37465 1.22986 1.46849 1.22986H2.64824C2.72868 1.22986 2.80912 1.29689 2.80912 1.39073V14.4886C2.80912 14.5691 2.74209 14.6495 2.64824 14.6495H1.46849C1.38805 14.6495 1.30762 14.5825 1.30762 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M4.2832 1.39073C4.2832 1.3103 4.35023 1.22986 4.44408 1.22986H5.62383C5.70427 1.22986 5.7847 1.29689 5.7847 1.39073V14.4886C5.7847 14.5691 5.71767 14.6495 5.62383 14.6495H4.44408C4.36364 14.6495 4.2832 14.5825 4.2832 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M7.25977 1.39073C7.25977 1.3103 7.3268 1.22986 7.42064 1.22986H8.60039C8.68083 1.22986 8.76127 1.29689 8.76127 1.39073V14.4886C8.76127 14.5691 8.69423 14.6495 8.60039 14.6495H7.42064C7.3402 14.6495 7.25977 14.5825 7.25977 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M10.2354 1.39073C10.2354 1.3103 10.3024 1.22986 10.3962 1.22986H11.576C11.6564 1.22986 11.7369 1.29689 11.7369 1.39073V14.4886C11.7369 14.5691 11.6698 14.6495 11.576 14.6495H10.3962C10.3158 14.6495 10.2354 14.5825 10.2354 14.4886V1.39073Z" fill="currentColor" />
                    <path d="M13.2256 6.6057C13.2256 6.52526 13.2926 6.44482 13.3865 6.44482H14.5662C14.6466 6.44482 14.7271 6.51186 14.7271 6.6057V9.27354C14.7271 9.35398 14.6601 9.43442 14.5662 9.43442H13.3865C13.306 9.43442 13.2256 9.36739 13.2256 9.27354V6.6057Z" fill="currentColor" />
                </svg>
            </div>
            Compatible con ClickHouse
        </div>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<Tip>
  ¿Quieres almacenar los logs de auditoría de ClickHouse en Splunk? Sigue la guía ["Almacenar los logs de auditoría de ClickHouse Cloud en Splunk"](/es/integrations/connectors/data-integrations/integrations/splunk).
</Tip>

Splunk es una tecnología popular para la seguridad y la observabilidad. También es un potente motor de búsqueda y creación de dashboards. Hay cientos de aplicaciones de Splunk disponibles para distintos casos de uso.

En el caso concreto de ClickHouse, utilizamos la [Splunk DB Connect App](https://splunkbase.splunk.com/app/2686), que ofrece una integración sencilla con el driver JDBC de ClickHouse de alto rendimiento para consultar tablas de ClickHouse directamente.

El caso de uso ideal para esta integración es cuando utilizas ClickHouse con grandes fuentes de datos como NetFlow, datos binarios Avro o Protobuf, DNS, logs de flujo de VPC y otros logs de OTel que pueden compartirse con tu equipo en Splunk para realizar búsquedas y crear dashboards. Con este enfoque, los datos no se ingieren en la capa de índices de Splunk, sino que se consultan directamente desde ClickHouse, de forma similar a otras integraciones de visualización como [Metabase](https://www.metabase.com/) o [Superset](https://superset.apache.org/).

<div id="goal">
  ## Objetivo​
</div>

En esta guía, usaremos el driver JDBC de ClickHouse para conectar ClickHouse con Splunk. Instalaremos una versión local de Splunk Enterprise, pero no indexaremos datos. En su lugar, usaremos las funciones de búsqueda a través del motor de consultas de DB Connect.

Con esta guía, podrá crear un dashboard conectado a ClickHouse similar a este:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-1.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=cf043796679473ddc60b4c6761da8e12" size="lg" border alt="Dashboard de Splunk que muestra visualizaciones de datos de taxis de Nueva York" width="1600" height="879" data-path="images/integrations/splunk/splunk-1.png" />

<Note>
  Esta guía utiliza el [conjunto de datos New York City Taxi](/es/get-started/sample-datasets/nyc-taxi). Puede usar muchos otros conjuntos de datos de [nuestra documentación](http://localhost:3000/docs/getting-started/example-datasets).
</Note>

<div id="prerequisites">
  ## Prerrequisitos
</div>

Antes de comenzar, necesitará lo siguiente:

* Splunk Enterprise para usar las funciones del search head
* Los requisitos de [Java Runtime Environment (JRE)](https://docs.splunk.com/Documentation/DBX/3.16.0/DeployDBX/Prerequisites) instalados en su sistema operativo o contenedor
* [Splunk DB Connect](https://splunkbase.splunk.com/app/2686)
* Acceso Admin o SSH a la instancia del sistema operativo de Splunk Enterprise
* Los datos de conexión de ClickHouse (consulte [aquí](/es/integrations/connectors/data-visualization/metabase-and-clickhouse#1-gather-your-connection-details) si usa ClickHouse Cloud)

<div id="install-and-configure-db-connect-on-splunk-enterprise">
  ## Instalar y configurar DB Connect en Splunk Enterprise
</div>

Primero debe instalar el entorno de ejecución de Java en su instancia de Splunk Enterprise. Si usa Docker, puede utilizar el comando `microdnf install java-11-openjdk`.

Anote la ruta de `java_home`: `java -XshowSettings:properties -version`.

Asegúrese de que la DB Connect App esté instalada en Splunk Enterprise. Puede encontrarla en la sección Apps de la UI web de Splunk:

* Inicie sesión en Splunk Web y vaya a Apps > Find More Apps
* Use el cuadro de búsqueda para encontrar DB Connect
* Haga clic en el botón verde "Install" junto a Splunk DB Connect
* Haga clic en "Restart Splunk"

Si tiene problemas para instalar la DB Connect App, consulte [este enlace](https://splunkbase.splunk.com/app/2686) para obtener instrucciones adicionales.

Una vez que haya verificado que la DB Connect App está instalada, añada la ruta de `java_home` a la DB Connect App en Configuration -> Settings y haga clic en save; luego, en reset.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-2.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=a410aebac7ae10316d65da6978a20b7d" size="md" border alt="Página de configuración de Splunk DB Connect que muestra la configuración de Java Home" width="1600" height="548" data-path="images/integrations/splunk/splunk-2.png" />

<div id="configure-jdbc-for-clickhouse">
  ## Configurar JDBC para ClickHouse
</div>

Descargue el [archivo JAR del driver JDBC de ClickHouse](https://github.com/ClickHouse/clickhouse-java/releases/) y cópielo en la carpeta DB Connect Drivers ubicada en:

```bash theme={null}
$SPLUNK_HOME/etc/apps/splunk_app_db_connect/drivers
```

Para garantizar que la DB Connect App tenga disponibles todas las dependencias necesarias, descargue una de las siguientes opciones:

```text theme={null}
- clickhouse-jdbc-<VERSION>-shaded-all.jar (if VERSION < 0.9.0)
- clickhouse-jdbc-<VERSION>-all-dependencies.jar (if VERSION >= 0.9.0)
```

Luego, debe editar la configuración de los tipos de conexión en `$SPLUNK_HOME/etc/apps/splunk_app_db_connect/local/db_connection_types.conf` para añadir los detalles de la clase del driver JDBC de ClickHouse. Añada la siguiente sección a `db_connection_types.conf`:

```text theme={null}
[ClickHouse]
displayName = ClickHouse
serviceClass = com.splunk.dbx2.DefaultDBX2JDBC
jdbcUrlFormat = jdbc:ch://<host>:<port>/<database>
jdbcUrlSSLFormat = jdbc:ch://<host>:<port>/<database>?ssl=true
jdbcDriverClass = com.clickhouse.jdbc.ClickHouseDriver
ui_default_catalog = $database$
```

Reinicie Splunk con `$SPLUNK_HOME/bin/splunk restart`.

Vuelva a la DB Connect App y vaya a Configuration > Settings > Drivers. Debería ver una marca de verificación verde junto a ClickHouse:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-3.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=9a8c87d2912b16866e1d90fa1a590928" size="lg" border alt="Página de drivers de Splunk DB Connect que muestra el driver de ClickHouse instalado correctamente" width="1600" height="581" data-path="images/integrations/splunk/splunk-3.png" />

<div id="connect-splunk-search-to-clickhouse">
  ## Conectar la búsqueda de Splunk a ClickHouse
</div>

Vaya a DB Connect App Configuration -> Databases -> Identities y cree una identidad para su instancia de ClickHouse.

Cree una nueva conexión a ClickHouse desde Configuration -> Databases -> Connections y seleccione "New Connection".

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-4.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=137bdc35ade41a616ee76a5ea4d5ae14" size="sm" border alt="Botón de nueva conexión de Splunk DB Connect" width="764" height="1168" data-path="images/integrations/splunk/splunk-4.png" />

<br />

Agregue los datos del host de ClickHouse y asegúrese de que "Enable SSL" esté marcado:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-5.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=e81b8e8ce196e4f15193de14fdf04645" size="md" border alt="Página de configuración de la conexión de Splunk para ClickHouse" width="1254" height="990" data-path="images/integrations/splunk/splunk-5.png" />

Después de guardar la conexión, habrá conectado correctamente ClickHouse a Splunk.

<Note>
  Si recibe un error, asegúrese de haber agregado la dirección IP de su instancia de Splunk a la IP Access List de ClickHouse Cloud. Consulte [la documentación](/es/products/cloud/guides/security/connectivity/setting-ip-filters) para obtener más información.
</Note>

<div id="run-a-sql-query">
  ## Ejecuta una consulta SQL
</div>

Ahora ejecutaremos una consulta SQL para comprobar que todo funciona.

Selecciona los datos de tu conexión en SQL Explorer desde la sección DataLab de la DB Connect App. Estamos usando la tabla `trips` para esta demostración:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-6.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=bd2059ea0bd59ecc878c5fc222359895" size="md" border alt="SQL Explorer de Splunk seleccionando la conexión a ClickHouse" width="1600" height="866" data-path="images/integrations/splunk/splunk-6.png" />

Ejecuta una consulta SQL en la tabla `trips` que devuelva el recuento de todos los registros de la tabla:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-7.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=042f016c0ca7d29e4e323242f6e5ef4b" size="md" border alt="Ejecución de una consulta SQL en Splunk que muestra el recuento de registros en la tabla trips" width="1344" height="684" data-path="images/integrations/splunk/splunk-7.png" />

Si la consulta se ejecuta correctamente, deberías ver los resultados.

<div id="create-a-dashboard">
  ## Crear un dashboard
</div>

Vamos a crear un dashboard que aproveche una combinación de SQL y el potente Splunk Processing Language (SPL).

Antes de continuar, primero debes [desactivar las salvaguardas de SPL](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/SPLsafeguards?ref=hk#Deactivate_SPL_safeguards).

Ejecuta la siguiente consulta, que muestra los 10 barrios con más recogidas:

```sql theme={null}
dbxquery query="SELECT pickup_ntaname, count(*) AS count
FROM default.trips GROUP BY pickup_ntaname
ORDER BY count DESC LIMIT 10;" connection="chc"
```

Selecciona la pestaña de visualización para ver el gráfico de columnas creado:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-8.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=96c1088a2d468440608966436b75c79c" size="lg" border alt="Visualización del gráfico de columnas de Splunk que muestra los 10 principales barrios de recogida" width="1600" height="789" data-path="images/integrations/splunk/splunk-8.png" />

Ahora crearemos un dashboard haciendo clic en Save As > Save to a Dashboard.

Agreguemos otra consulta que muestre la tarifa media en función del número de pasajeros.

```sql theme={null}
dbxquery query="SELECT passenger_count,avg(total_amount)
FROM default.trips GROUP BY passenger_count;" connection="chc"
```

Esta vez, creemos una visualización de tipo gráfico de barras y guardémosla en el dashboard anterior.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-9.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=e6d58efe62f076c9d38d1eb1685cf3d8" size="lg" border alt="Gráfico de barras de Splunk que muestra la tarifa media por número de pasajeros" width="1600" height="708" data-path="images/integrations/splunk/splunk-9.png" />

Por último, agreguemos una consulta más que muestre la correlación entre el número de pasajeros y la distancia del viaje:

```sql theme={null}
dbxquery query="SELECT passenger_count, toYear(pickup_datetime) AS year,
round(trip_distance) AS distance, count(* FROM default.trips)
GROUP BY passenger_count, year, distance
ORDER BY year, count(*) DESC; " connection="chc"
```

Nuestro dashboard final debería verse así:

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/amY-JDMREAaO7mx6/images/integrations/splunk/splunk-10.png?fit=max&auto=format&n=amY-JDMREAaO7mx6&q=85&s=c7566ed866d15a2a2017b1befb44fa2e" size="lg" border alt="Dashboard final de Splunk con varias visualizaciones de datos de taxis de NYC" width="1600" height="734" data-path="images/integrations/splunk/splunk-10.png" />

<div id="time-series-data">
  ## Datos de series temporales
</div>

Splunk tiene cientos de funciones integradas que los dashboards pueden usar para visualizar y presentar datos de series temporales. Este ejemplo combina SQL + SPL para crear una consulta que pueda trabajar con datos de series temporales en Splunk

```sql theme={null}
dbxquery query="SELECT time, orig_h, duration
FROM "demo"."conn" WHERE time >= now() - interval 1 HOURS" connection="chc"
| eval time = strptime(time, "%Y-%m-%d %H:%M:%S.%3Q")
| eval _time=time
| timechart avg(duration) as duration by orig_h
| eval duration=round(duration/60)
| sort - duration:
```

<div id="learn-more">
  ## Más información
</div>

Si desea obtener más información sobre Splunk DB Connect y cómo crear dashboards, visite la [documentación de Splunk](https://docs.splunk.com/Documentation).
