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

> Conecte os dashboards do Splunk ao ClickHouse

# Conectando o Splunk ao 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>
            Suportado pelo ClickHouse
        </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>;
};

<Tip>
  Quer armazenar audit logs do ClickHouse Cloud no Splunk? Siga o guia ["Storing ClickHouse Cloud Audit logs into Splunk"](/pt-BR/integrations/connectors/data-integrations/integrations/splunk).
</Tip>

O Splunk é uma plataforma popular para segurança e observabilidade. Também é um poderoso mecanismo de busca e criação de dashboards. Há centenas de aplicativos do Splunk disponíveis para atender a diferentes casos de uso.

Para o ClickHouse especificamente, usamos o [Splunk DB Connect App](https://splunkbase.splunk.com/app/2686), que oferece uma integração simples com o ClickHouse JDBC driver de alto desempenho para consultar tabelas diretamente no ClickHouse.

O caso de uso ideal para essa integração é quando você usa o ClickHouse com grandes fontes de dados, como dados binários de NetFlow, Avro ou Protobuf, DNS, logs de fluxo de VPC e outros logs do OTel, que podem ser compartilhados com sua equipe no Splunk para pesquisa e criação de dashboards. Com essa abordagem, os dados não são ingeridos na camada de índice do Splunk; em vez disso, são consultados diretamente no ClickHouse, de forma semelhante a outras integrações de visualização, como [Metabase](https://www.metabase.com/) ou [Superset](https://superset.apache.org/).

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

Neste guia, usaremos o ClickHouse JDBC driver para conectar o ClickHouse ao Splunk. Vamos instalar uma versão local do Splunk Enterprise, mas sem indexar nenhum dado. Em vez disso, usaremos as funções de busca por meio do mecanismo de consulta do DB Connect.

Com este guia, você poderá criar um dashboard conectado ao ClickHouse semelhante a este:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-1.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=fcd55b98dedb374c2d89402310fa3d3f" size="lg" border alt="Dashboard do Splunk mostrando visualizações de dados de táxis de NYC" width="1600" height="879" data-path="images/integrations/splunk/splunk-1.webp" />

<Note>
  Este guia usa o [conjunto de dados de táxis da cidade de Nova York](/pt-BR/get-started/sample-datasets/nyc-taxi). Há muitos outros conjuntos de dados que você pode usar na [nossa documentação](http://localhost:3000/docs/getting-started/example-datasets).
</Note>

<div id="prerequisites">
  ## Pré-requisitos
</div>

Antes de começar, você precisará de:

* Splunk Enterprise para usar as funções do search head
* requisitos do [Java Runtime Environment (JRE)](https://docs.splunk.com/Documentation/DBX/3.16.0/DeployDBX/Prerequisites) instalados no seu sistema operacional ou contêiner
* [Splunk DB Connect](https://splunkbase.splunk.com/app/2686)
* acesso de Admin ou SSH à instância do sistema operacional do Splunk Enterprise
* detalhes de conexão do ClickHouse (veja [aqui](/pt-BR/integrations/connectors/data-visualization/metabase-and-clickhouse#1-gather-your-connection-details) se você estiver usando o ClickHouse Cloud)

<div id="install-and-configure-db-connect-on-splunk-enterprise">
  ## Instale e configure o DB Connect no Splunk Enterprise
</div>

Primeiro, você precisa instalar o Java Runtime Environment na sua instância do Splunk Enterprise. Se estiver usando Docker, pode usar o comando `microdnf install java-11-openjdk`.

Anote o caminho de `java_home`: `java -XshowSettings:properties -version`.

Verifique se o DB Connect App está instalado no Splunk Enterprise. Você pode encontrá-lo na seção Apps da interface web do Splunk:

* Faça login no Splunk Web e acesse Apps > Find More Apps
* Use a caixa de busca para localizar o DB Connect
* Clique no botão verde "Install" ao lado de Splunk DB Connect
* Clique em "Restart Splunk"

Se estiver com problemas para instalar o DB Connect App, consulte [este link](https://splunkbase.splunk.com/app/2686) para obter instruções adicionais.

Depois de confirmar que o DB Connect App está instalado, adicione o caminho `java_home` ao DB Connect App em Configuration -> Settings e clique em save e depois em reset.

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-2.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=36fab306d5e8cea2a99737c8eaacd8f6" size="md" border alt="Página de configurações do Splunk DB Connect mostrando a configuração do Java Home" width="1600" height="548" data-path="images/integrations/splunk/splunk-2.webp" />

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

Baixe o [arquivo JAR do driver JDBC do ClickHouse](https://github.com/ClickHouse/clickhouse-java/releases/) e copie-o para a pasta DB Connect Drivers em:

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

Para garantir que todas as dependências necessárias estejam disponíveis para o DB Connect App, baixe uma das seguintes opções:

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

Em seguida, você deve editar a configuração dos tipos de conexão em `$SPLUNK_HOME/etc/apps/splunk_app_db_connect/local/db_connection_types.conf` para adicionar os detalhes da classe do driver JDBC do ClickHouse. Adicione a seguinte seção 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 o Splunk usando `$SPLUNK_HOME/bin/splunk restart`.

Volte ao DB Connect App e acesse Configuration > Settings > Drivers. Você deverá ver um ícone de confirmação verde ao lado de ClickHouse:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-3.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=cb99d83f290f3e27519e0be6c1aac305" size="lg" border alt="Página de drivers do Splunk DB Connect mostrando o driver do ClickHouse instalado com sucesso" width="1600" height="581" data-path="images/integrations/splunk/splunk-3.webp" />

<div id="connect-splunk-search-to-clickhouse">
  ## Conecte a busca do Splunk ao ClickHouse
</div>

Navegue até DB Connect App Configuration -> Databases -> Identities e crie uma identidade para o seu ClickHouse.

Crie uma nova conexão com o ClickHouse em Configuration -> Databases -> Connections e selecione "New Connection".

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-4.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=360e0c9665eff54034820bace90da683" size="sm" border alt="Botão de nova conexão do Splunk DB Connect" width="764" height="1168" data-path="images/integrations/splunk/splunk-4.webp" />

<br />

Adicione os detalhes do host do ClickHouse e verifique se "Enable SSL" está marcado:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-5.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=c1e220a888fb2e560bbb3acf6d17a6b5" size="md" border alt="Página de configuração de conexão do Splunk para ClickHouse" width="1254" height="990" data-path="images/integrations/splunk/splunk-5.webp" />

Depois de salvar a conexão, você terá conectado com sucesso o Splunk ao ClickHouse!

<Note>
  Se você receber um erro, certifique-se de ter adicionado o endereço IP da sua instância do Splunk à IP Access List do ClickHouse Cloud. Consulte [a documentação](/pt-BR/products/cloud/guides/security/connectivity/setting-ip-filters) para mais informações.
</Note>

<div id="run-a-sql-query">
  ## Execute uma consulta SQL
</div>

Agora vamos executar uma consulta SQL para testar se tudo está funcionando.

Selecione os detalhes da conexão no SQL Explorer, na seção DataLab do DB Connect App. Estamos usando a tabela `trips` nesta demonstração:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-6.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=3eabd0f168f329af1e868f84ef529387" size="md" border alt="SQL Explorer do Splunk selecionando a conexão com o ClickHouse" width="1600" height="866" data-path="images/integrations/splunk/splunk-6.webp" />

Execute uma consulta SQL na tabela `trips` que retorne a contagem de todos os registros da tabela:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-7.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=60858f230e816c11bd827d4dbb78a3c0" size="md" border alt="Execução de consulta SQL no Splunk mostrando a contagem de registros na tabela trips" width="1344" height="684" data-path="images/integrations/splunk/splunk-7.webp" />

Se a consulta for bem-sucedida, você verá os resultados.

<div id="create-a-dashboard">
  ## Criar um dashboard
</div>

Vamos criar um dashboard que usa uma combinação de SQL com a poderosa Splunk Processing Language (SPL).

Antes de prosseguir, primeiro você precisa [desativar as proteções do DPL](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/SPLsafeguards?ref=hk#Deactivate_SPL_safeguards).

Execute a seguinte consulta, que mostra os 10 bairros com maior frequência de coletas:

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

Selecione a aba de visualização para ver o gráfico de colunas criado:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-8.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=2b709678272cc3cbf5332fce10f6969f" size="lg" border alt="Visualização do gráfico de colunas do Splunk mostrando os 10 principais bairros de embarque" width="1600" height="789" data-path="images/integrations/splunk/splunk-8.webp" />

Agora, vamos criar um dashboard clicando em Save As > Save to a Dashboard.

Vamos adicionar outra consulta que mostra a tarifa média com base no número de passageiros.

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

Desta vez, vamos criar uma visualização em gráfico de barras e salvá-la no dashboard anterior.

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-9.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=337a8c8d23bdd154a3ea92b7260dc06b" size="lg" border alt="Gráfico de barras no Splunk mostrando a tarifa média por número de passageiros" width="1600" height="708" data-path="images/integrations/splunk/splunk-9.webp" />

Por fim, vamos adicionar mais uma consulta que mostra a correlação entre o número de passageiros e a distância da corrida:

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

Nosso dashboard final deve ficar assim:

<Image img="https://mintcdn.com/private-7c7dfe99-postgresql-tls-support/LZf1zoV79myFHYZi/images/integrations/splunk/splunk-10.webp?fit=max&auto=format&n=LZf1zoV79myFHYZi&q=85&s=274c6fcb09d11eb412d895c05cfd0622" size="lg" border alt="Dashboard final do Splunk com várias visualizações de dados de táxi de Nova York" width="1600" height="734" data-path="images/integrations/splunk/splunk-10.webp" />

<div id="time-series-data">
  ## Dados de séries temporais
</div>

O Splunk tem centenas de funções integradas que os dashboards podem usar para visualizar e apresentar dados de séries temporais. Este exemplo combina SQL + SPL para criar uma consulta que funcione com dados de séries temporais no 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">
  ## Saiba mais
</div>

Se quiser saber mais sobre o Splunk DB Connect e como criar dashboards, consulte a [documentação do Splunk](https://docs.splunk.com/Documentation).
