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

> Connecter les tableaux de bord Splunk à ClickHouse

# Connecter Splunk à 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 avec ClickHouse
        </div>;
};

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

<Tip>
  Vous cherchez à stocker les journaux d’audit ClickHouse dans Splunk ? Suivez le guide ["Stocker les journaux d’audit ClickHouse Cloud dans Splunk"](/fr/integrations/connectors/data-integrations/integrations/splunk).
</Tip>

Splunk est une technologie populaire pour la sécurité et l’observabilité. C’est aussi un puissant moteur de recherche et de création de tableaux de bord. Il existe des centaines d’applications Splunk pour répondre à différents cas d’usage.

Pour ClickHouse, nous nous appuyons plus précisément sur la [Splunk DB Connect App](https://splunkbase.splunk.com/app/2686), qui offre une intégration simple avec le très performant ClickHouse JDBC driver pour interroger directement les tables dans ClickHouse.

Cette intégration est idéale si vous utilisez ClickHouse pour des sources de données volumineuses, comme des données binaires NetFlow, Avro ou Protobuf, le DNS, les journaux de flux VPC et d’autres logs OTel, que vous pouvez partager avec votre équipe dans Splunk pour effectuer des recherches et créer des tableaux de bord. Avec cette approche, les données ne sont pas ingérées dans la couche d’indexation de Splunk : elles sont simplement interrogées directement depuis ClickHouse, comme avec d’autres intégrations de visualisation telles que [Metabase](https://www.metabase.com/) ou [Superset](https://superset.apache.org/).

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

Dans ce guide, nous utiliserons le ClickHouse JDBC driver pour connecter ClickHouse à Splunk. Nous installerons une version locale de Splunk Enterprise, mais sans indexer de données. Nous utiliserons plutôt les fonctions de recherche via le moteur de requête DB Connect.

Grâce à ce guide, vous pourrez créer un tableau de bord connecté à ClickHouse similaire à celui-ci :

<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="Tableau de bord Splunk affichant des visualisations des données des taxis de New York" width="1600" height="879" data-path="images/integrations/splunk/splunk-1.png" />

<Note>
  Ce guide utilise le [jeu de données New York City Taxi](/fr/get-started/sample-datasets/nyc-taxi). Vous pouvez également utiliser de nombreux autres jeux de données disponibles dans [notre documentation](http://localhost:3000/docs/getting-started/example-datasets).
</Note>

<div id="prerequisites">
  ## Prérequis
</div>

Avant de commencer, vous aurez besoin de :

* Splunk Enterprise pour utiliser les fonctions du search head
* Les éléments requis de [Java Runtime Environment (JRE)](https://docs.splunk.com/Documentation/DBX/3.16.0/DeployDBX/Prerequisites) installés sur votre système d’exploitation ou dans votre conteneur
* [Splunk DB Connect](https://splunkbase.splunk.com/app/2686)
* D’un accès Admin ou SSH au système d’exploitation de votre instance Splunk Enterprise
* Des informations de connexion ClickHouse (voir [ici](/fr/integrations/connectors/data-visualization/metabase-and-clickhouse#1-gather-your-connection-details) si vous utilisez ClickHouse Cloud)

<div id="install-and-configure-db-connect-on-splunk-enterprise">
  ## Installer et configurer DB Connect sur Splunk Enterprise
</div>

Vous devez d'abord installer le Java Runtime Environment sur votre instance Splunk Enterprise. Si vous utilisez Docker, vous pouvez exécuter la commande `microdnf install java-11-openjdk`.

Notez le chemin `java_home` : `java -XshowSettings:properties -version`.

Assurez-vous que DB Connect App est installé sur Splunk Enterprise. Vous pouvez le trouver dans la section Apps de l’interface Web Splunk :

* Connectez-vous à Splunk Web, puis accédez à Apps > Find More Apps
* Utilisez la zone de recherche pour trouver DB Connect
* Cliquez sur le bouton vert "Install" à côté de Splunk DB Connect
* Cliquez sur "Restart Splunk"

Si vous rencontrez des problèmes lors de l’installation de DB Connect App, veuillez consulter [ce lien](https://splunkbase.splunk.com/app/2686) pour obtenir des instructions supplémentaires.

Une fois que vous avez vérifié que DB Connect App est installé, ajoutez le chemin `java_home` à DB Connect App dans Configuration -> Settings, puis cliquez sur save, puis sur 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="Page des paramètres de Splunk DB Connect affichant la configuration de Java Home" width="1600" height="548" data-path="images/integrations/splunk/splunk-2.png" />

<div id="configure-jdbc-for-clickhouse">
  ## Configurer JDBC pour ClickHouse
</div>

Téléchargez le [fichier JAR du ClickHouse JDBC driver](https://github.com/ClickHouse/clickhouse-java/releases/) et copiez-le dans le dossier DB Connect Drivers à l’emplacement suivant :

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

Afin de vous assurer que toutes les dépendances requises sont disponibles pour l’application DB Connect App, téléchargez l’un des éléments suivants :

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

Vous devez ensuite modifier la configuration des types de connexion dans `$SPLUNK_HOME/etc/apps/splunk_app_db_connect/local/db_connection_types.conf` afin d’y ajouter les détails de la classe du ClickHouse JDBC driver. Ajoutez la section suivante à `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$
```

Redémarrez Splunk avec `$SPLUNK_HOME/bin/splunk restart`.

Revenez à l’application DB Connect App, puis accédez à Configuration > Settings > Drivers. Vous devriez voir une coche verte à côté de 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="Page des pilotes de Splunk DB Connect montrant le pilote ClickHouse correctement installé" width="1600" height="581" data-path="images/integrations/splunk/splunk-3.png" />

<div id="connect-splunk-search-to-clickhouse">
  ## Connecter la recherche Splunk à ClickHouse
</div>

Accédez à DB Connect App Configuration -> Databases -> Identities, puis créez une identité pour votre instance ClickHouse.

Créez une nouvelle connexion à ClickHouse depuis Configuration -> Databases -> Connections, puis sélectionnez "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="Bouton de nouvelle connexion de Splunk DB Connect" width="764" height="1168" data-path="images/integrations/splunk/splunk-4.png" />

<br />

Renseignez les informations de l’hôte ClickHouse et assurez-vous que "Enable SSL" est coché :

<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="Page de configuration de la connexion Splunk pour ClickHouse" width="1254" height="990" data-path="images/integrations/splunk/splunk-5.png" />

Après avoir enregistré la connexion, vous aurez correctement connecté ClickHouse à Splunk !

<Note>
  Si vous recevez une erreur, assurez-vous d’avoir ajouté l’adresse IP de votre instance Splunk à l’IP Access List de ClickHouse Cloud. Consultez [la documentation](/fr/products/cloud/guides/security/connectivity/setting-ip-filters) pour plus d’informations.
</Note>

<div id="run-a-sql-query">
  ## Exécuter une requête SQL
</div>

Nous allons maintenant exécuter une requête SQL pour vérifier que tout fonctionne correctement.

Sélectionnez vos informations de connexion dans le SQL Explorer, dans la section DataLab de DB Connect App. Nous utilisons la table `trips` pour cette démonstration :

<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 sélectionnant la connexion à ClickHouse" width="1600" height="866" data-path="images/integrations/splunk/splunk-6.png" />

Exécutez une requête SQL sur la table `trips` qui renvoie le nombre total d’enregistrements de la table :

<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="Exécution d’une requête SQL dans Splunk affichant le nombre d’enregistrements dans la table trips" width="1344" height="684" data-path="images/integrations/splunk/splunk-7.png" />

Si votre requête s’exécute correctement, vous devriez voir les résultats.

<div id="create-a-dashboard">
  ## Créer un tableau de bord
</div>

Créons un tableau de bord qui combine SQL et le puissant Splunk Processing Language (SPL).

Avant de poursuivre, vous devez d'abord [désactiver les garde-fous DPL](https://docs.splunk.com/Documentation/Splunk/9.2.1/Security/SPLsafeguards?ref=hk#Deactivate_SPL_safeguards).

Exécutez la requête suivante, qui affiche les 10 quartiers comptant le plus grand nombre de prises en charge :

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

Sélectionnez l’onglet de visualisation pour afficher le graphique en colonnes créé :

<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="Visualisation d’un graphique en colonnes Splunk montrant les 10 principaux quartiers de prise en charge" width="1600" height="789" data-path="images/integrations/splunk/splunk-8.png" />

Nous allons maintenant créer un tableau de bord en cliquant sur Save As > Save to a Dashboard.

Ajoutons une autre requête qui affiche le tarif moyen en fonction du nombre de passagers.

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

Cette fois, créons une visualisation sous forme de graphique en barres et enregistrons-la sur le tableau de bord précédent.

<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="Graphique en barres Splunk montrant le tarif moyen selon le nombre de passagers" width="1600" height="708" data-path="images/integrations/splunk/splunk-9.png" />

Enfin, ajoutons une requête supplémentaire qui montre la corrélation entre le nombre de passagers et la distance du trajet :

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

Voici à quoi devrait ressembler notre tableau de bord final :

<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="Tableau de bord Splunk final avec plusieurs visualisations des données de taxis de New York" width="1600" height="734" data-path="images/integrations/splunk/splunk-10.png" />

<div id="time-series-data">
  ## Données de séries temporelles
</div>

Splunk dispose de centaines de fonctions intégrées que les tableaux de bord peuvent utiliser pour la visualisation et la présentation de données de séries temporelles. Cet exemple combine SQL et SPL pour créer une requête capable de traiter des données de séries temporelles dans 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">
  ## En savoir plus
</div>

Si vous souhaitez en savoir plus sur Splunk DB Connect et sur la création de tableaux de bord, veuillez consulter la [documentation Splunk](https://docs.splunk.com/Documentation).
