13.2. コンポーネント
Lookup tableは、4つのコンポーネントで構成されています。
- データアダプタ
- キャッシュ
- ルックアップテーブル
- 検索結果
13.2.1. データアダプタ
データアダプタは、値の検索を行なうためのコンポーネントです。データアダプタには、CSVファイルから情報を検索するものや、HTTP経由でCSVを取得して情報を検索するものなどが存在しています。データアダプタは、プラグインで追加が可能です。
13.2.2. キャッシュ
キャッシュは、検索のパフォーマンスを上げたり、データベースやAPIの過負荷を回避するためのコンポーネントです。
データアダプタとは別にキャッシュの設定が可能であるため、Lookup tableの設定毎にどの程度のデータをキャッシュするかを決めることができます。
Note
CSVファイルアダプタは、ファイル全体をメモリに読み込み、ファイルが変更された場合に内容を更新します。キャッシュが削除された後、CSVファイルの再読み込みが行われてるまでの間、期限切れの値を返すことがあります。
13.2.3. Lookup table
データアダプタ・キャッシュのセットがLookup tableです。Lookup table自体は、converter, decoraterなどの機能から使用できます。
13.2.4. 検索結果
Lookup tableによって返される検索結果は、シングル・マルチの2つの種類に分けられます。
シングルの場合、値は文字列や数値・ブール値などです。
マルチの場合、値はJSONのようなデータ構造です。
この2つの値の良い例として、Geolocationプラグインの機能を利用してIPアドレスの情報を検索した時の結果があります。
以下は、IPアドレス「211.5.215.228」の国情報をLookup tableのテスト機能で調べた結果の一部です。
single_value
には国コード「JP」のみが入っています。対して multi_value
には、様々な情報が登録されていることがわかります。
13.3. Lookup tableの設定
Lookup tableの設定は、次の流れで行ないます。
- データアダプタの作成
- キャッシュの作成
- Lookup tableの作成
Lookup tableの管理画面には、メニューの Lookup tables
のリンクから遷移します。
Lookup tableを作成する前に、データアダプタとキャッシュをそれぞれ作成する必要があります。
13.3.1. Data Adapters(データアダプタ)の設定
Lookup tableの管理画面の右上 Data Adapters
のリンクからデータアダプタの管理画面に遷移します。
この画面から新しいデータアダプタの作成や、データアダプタの設定変更・削除を行なうことができます。
Create data adapter
からデータアダプタの作成画面に遷移します。
ここでは、 データアダプタのタイプとして、CSV File
を選択した場合の解説を行ないます。
Note
類似のデータアダプタとして、DSV File from HTTPが存在します。このデータアダプタは、HTTP経由、つまりURLのからCSVを取得する以外は、CSV Fileデータアダプタと同じ動きをします。
入力値の説明は以下の通りです。
Title
: データアダプタの名前です。
Description
: データアダプタの説明です。
Name
: データアダプタと紐づくユニークなIDです。
Custom Error TTL
: エラーをキャッシュする時間です。デフォルトは5秒です。
File path
: CSVファイルのパスです。Graylogの実行ユーザで参照できる必要があります。
Check interval
: CSVファイルを再読み込みする間隔(秒)です。
Separator
: CSVファイルの区切り文字です。
Quote character
: データの囲い文字です。
Key column
: 検索を行なうカラムのヘッダ名を指定します。
Value column
: 検索結果となるカラムのヘッダを指定します。
Note
CSVファイルの一行目は、画像のExample1やExample2のように、ヘッダ情報になっている必要があります。
またCSVファイルの文字コードはUTF-8である必要があります。
Graylogを複数のノードで実行している場合、全てのノードでCSVファイルが参照できる必要があります。
13.3.2. Caches(キャッシュ)の設定
キャッシュの設定には、データアダプタの管理画面から遷移することができます。
デフォルトの状態では、以下の2つのキャッシュタイプを選択することができます。
- Do not cache values : キャッシュをしないためのキャッシュタイプ
- Node-local, in-memory cache : Graylogノードのメモリにキャッシュするタイプ
ここではNode-local, in-memory cacheを選択した場合の例を解説します。
入力値は以下の通りです。
Title
: キャッシュの名前です。
Description
: キャッシュの説明です。
Name
: キャッシュと紐づくユニークなIDです。
Maximum entries
: キャッシュエントリの最大数を指定します。
Expire after access
: アクセスがあってからキャッシュを削除するまでの期間を指定します
Expire after write
: キャッシュが作成されてからを削除するまでの期間を指定します
13.3.3. Lookup Tablesの設定
Lookup tableの管理画面から、新しいLookup tableを作成します。
入力値は以下の通りです。
Title
: Lookup tableの名前です。
Description
: Lookup tableの説明です。
Name
: Lookup tableと紐づくユニークなIDです。
Enable single default value
: チェックするとシングルのデフォルト値を設定できます。
Enable multi default value
: チェックするとマルチのデフォルト値を設定できます。
Data Adapter
: データアダプタを選択します。
Cache
: キャッシュを選択します。
13.3.4. Lookup Tablesの確認
Lookup table作成後、管理画面に表示されているタイトルのリンクから、Lookup tableのテスト画面に遷移できます。
この画面の Key
に値を入れて Look up
ボタンを押すことで、値の検索の確認を行なうことができます。