メインコンテンツまでスキップ
メインコンテンツまでスキップ

SplunkをClickHouseに接続する

ClickHouse Supported

Splunkは、セキュリティとオブザーバビリティのための人気のある技術です。また、強力な検索とダッシュボードエンジンでもあります。さまざまなユースケースに対応する数百のSplunkアプリがあります。

特にClickHouseの場合、非常に高性能なClickHouse JDBCドライバを使用して、ClickHouse内のテーブルを直接クエリできるシンプルな統合を提供するSplunk DB Connect Appを活用しています。

この統合の理想的なユースケースは、NetFlow、AvroまたはProtobufバイナリデータ、DNS、VPCフローログ、その他のOTELログといった大規模なデータソースにClickHouseを使用している時です。データはSplunkのインデックス層には取り込まれず、MetabaseSupersetなどの他のビジュアライゼーション統合と同様に、ClickHouseから直接クエリされます。

目的​

このガイドでは、ClickHouse JDBCドライバを使用してClickHouseをSplunkに接続します。ローカルのSplunk Enterpriseをインストールしますが、データはインデックスしません。代わりに、DB Connectクエリエンジンを介して検索機能を使用しています。

このガイドを使えば、次のようなClickHouseに接続したダッシュボードを作成できるようになります:

注記

このガイドではニューヨーク市のタクシーデータセットを使用しています。他にも私たちのドキュメントから使用できるデータセットがたくさんあります。

前提条件

始める前に、以下が必要です:

  • 検索ヘッド機能を使用するためのSplunk Enterprise
  • OSまたはコンテナにインストールされたJava Runtime Environment (JRE)要件
  • Splunk DB Connect
  • Splunk Enterprise OSインスタンスへの管理者またはSSHアクセス
  • ClickHouse接続詳細(ClickHouse Cloudを使用している場合はこちらを参照)

Splunk EnterpriseにDB Connectをインストールして構成する

まず、Splunk EnterpriseインスタンスにJava Runtime Environmentをインストールする必要があります。Dockerを使用している場合は、microdnf install java-11-openjdkコマンドを使用できます。

java_homeパスをメモしてください:java -XshowSettings:properties -version

DB Connect AppがSplunk Enterpriseにインストールされていることを確認してください。Splunk Web UIのアプリセクションで見つけることができます:

  • Splunk Webにログインし、Apps > Find More Appsに移動
  • 検索ボックスを使用してDB Connectを検索
  • Splunk DB Connectの横にある緑の「インストール」ボタンをクリック
  • 「Splunkを再起動」をクリック

DB Connect Appのインストールに問題がある場合は、追加の手順についてこちらのリンクを参照してください。

DB Connect Appがインストールされていることを確認したら、DB Connect AppのConfiguration -> Settingsにjava_homeパスを追加し、保存してリセットをクリックします。

ClickHouse用にJDBCを構成する

ClickHouse JDBCドライバをDB Connect Driversフォルダにダウンロードします。例えば:

次に、接続タイプ構成を編集し、ClickHouse JDBCドライバクラスの詳細を$SPLUNK_HOME/etc/apps/splunk_app_db_connect/default/db_connection_types.confに追加します。

次のスタンザをファイルに追加します:

$SPLUNK_HOME/bin/splunk restartを使用してSplunkを再起動します。

再度DB Connect Appに移動し、Configuration > Settings > Driversに移動します。ClickHouseの横に緑のチェックマークが表示されるはずです:

Splunk検索をClickHouseに接続する

DB Connect App Configuration -> Databases -> Identitiesに移動し、ClickHouse用のアイデンティティを作成します。

Configuration -> Databases -> ConnectionsからClickHouseへの新しい接続を作成し、「新しい接続」を選択します。


ClickHouseホストの詳細を追加し、「SSLを有効にする」がチェックされていることを確認します:

接続を保存した後、ClickHouseにSplunkを接続できたことになります!

注記

エラーが発生した場合は、SplunkインスタンスのIPアドレスをClickHouse Cloud IPアクセスリストに追加したことを確認してください。詳細についてはドキュメントを参照してください。

SQLクエリを実行する

すべてが正常に機能するか確認するために、SQLクエリを実行します。

DB Connect AppのDataLabセクションから接続詳細をSQLエクスプローラーで選択します。このデモではtripsテーブルを使用しています:

tripsテーブルのすべてのレコードの数を返すSQLクエリを実行します:

クエリが成功すれば、結果が表示されるはずです。

ダッシュボードを作成する

SQLと強力なSplunk Processing Language (SPL)を組み合わせたダッシュボードを作成しましょう。

続行する前に、最初にSPL保護を無効にする必要があります。

最も頻繁にピックアップされる上位10の地域を示す以下のクエリを実行します:

ビジュアライゼーションタブを選択して作成されたカラムチャートを表示します:

「名前を付けて保存」>「ダッシュボードに保存」をクリックしてダッシュボードを作成します。

乗客数に基づいて平均料金を示す別のクエリを追加します。

今回はバー チャートビジュアライゼーションを作成し、以前のダッシュボードに保存します。

最後に、乗客数と移動距離の相関関係を示すもう1つのクエリを追加します:

最終的なダッシュボードは次のようになります:

時系列データ

Splunkには、ダッシュボードが時系列データの視覚化とプレゼンテーションに使用できる数百の組み込み関数があります。この例では、SQL + SPLを組み合わせて、Splunkの時系列データで機能するクエリを作成します。

詳細を学ぶ

Splunk DB Connectとダッシュボードを作成する方法について詳しく知りたい場合は、Splunkドキュメントを訪問してください。