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

SplunkをClickHouseに接続する

Splunkは、セキュリティおよび可観測性に関する人気のある技術です。また、強力な検索およびダッシュボードエンジンでもあります。さまざまなユースケースに対応する数百のSplunkアプリが利用可能です。

ClickHouseに関しては、Splunk DB Connect Appを活用しており、高性能なClickHouse JDBCドライバーとのシンプルな統合を提供しており、ClickHouseのテーブルに直接クエリを実行できます。

この統合の理想的なユースケースは、ClickHouseをNetFlow、AvroまたはProtobufバイナリデータ、DNS、VPCフローログ、その他のOTELログなどの大規模データソースに使用している場合です。これにより、データがSplunkのインデックス層に取り込まれることはなく、ClickHouseから直接クエリが実行され、MetabaseSupersetなどの他の可視化統合と同様になります。

目標​

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

このガイドを使用することで、次のようなClickHouseに接続されたダッシュボードを作成できるようになります。

Splunk
注記

このガイドでは、New York City Taxi datasetを使用しています。他にも当社のドキュメントから使用できるデータセットが多数あります。

前提条件

始める前に、次のものが必要です:

  • 検索ヘッド機能を使用するためのSplunk Enterprise
  • OSまたはコンテナにJAVAランタイム環境 (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の隣にある緑の「Install」ボタンをクリック
  • 「Restart Splunk」をクリック

DB Connect Appのインストールで問題が発生した場合は、こちらのリンクを参照して追加の指示を確認してください。

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

Splunk 2

ClickHouseのためにJDBCを構成する

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

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

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

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

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

Splunk 3

Splunk検索をClickHouseに接続する

DB Connect AppのConfiguration -> Databases -> Identitiesに移動し、ClickHouseのためのIdentityを作成します。

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


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

Splunk 5

接続を保存すると、ClickHouseとSplunkが正常に接続されます!

注記

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

SQLクエリを実行する

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

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

Splunk 6

tripsテーブルに対して、テーブル内のすべてのレコードのカウントを返すSQLクエリを実行します:

Splunk 7

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

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

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

続行する前に、最初にDPLのセーフガードを無効にする必要があります。

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

視覚化タブを選択して作成されたカラムチャートを表示します:

Splunk 8

「Save As > Save to a Dashboard」をクリックしてダッシュボードを作成します。

乗客数に基づく平均運賃を示す別のクエリを追加しましょう。

今回は、棒グラフの視覚化を作成して以前のダッシュボードに保存します。

Splunk 9

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

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

Splunk 10

時系列データ

Splunkには、時系列データの視覚化や表示に使用できる数百の組み込み関数があります。この例では、SQL + SPLを組み合わせて、Splunkの時系列データに対応できるクエリを作成します。

さらに学ぶ

Splunk DB Connectやダッシュボードの作成方法についての詳細情報を知りたい場合は、Splunkのドキュメントを訪れてください。