table
ログプレッソテーブルに保存されたデータを照会します。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | ドライバクエリ |
| 必要な権限 | テーブル読み取り権限(raw=t 使用時はクラスター管理者権限が追加で必要) |
| ライセンス使用量 | カウントあり |
| 並列実行 | 対応 |
| 分散実行 | データノードで実行(mapper) |
構文
過去データを照会する場合
リアルタイムデータを受信する場合
オプション
order={desc|asc}- テーブル照会の順序(デフォルト:
desc)。
desc: 最新データから照会asc: 古いデータから照会
offset=LONG- スキップするレコード数。0 以上の値を指定します。
limit=LONG- 取得する最大レコード数
duration=INT{s|m|h|d|mon}- 現在時刻から指定した時間範囲以内のデータに限定します。
s(秒)、m(分)、h(時)、d(日)、mon(月)単位を使用します。例:10mは現在時刻から 10 分前までの範囲です。windowと同時に使用できません。 from=DATE- 照会範囲の開始時刻。
yyyyMMddHHmmss形式で入力します。末尾の桁を省略すると 0 で補完されます。windowと同時に使用できません。 to=DATE- 照会範囲の終了時刻。
yyyyMMddHHmmss形式で入力します。末尾の桁を省略すると 0 で補完されます。windowと同時に使用できません。 window=INT{s|m|h|d|mon}- クエリ開始時点から指定した時間の間、テーブルに新たに入力されるデータをリアルタイムで受信します。
s(秒)、m(分)、h(時)、d(日)、mon(月)単位を使用します。from、to、durationと同時に使用できません。 parser=STR- レコードパースに使用するログパーサー名
parallel=BOOLtを指定すると並列スキャンを有効にします。limitを指定しない場合は自動的に昇順照会に切り替わります。eachtable=BOOLtを指定するとoffset、limitを全体結果ではなくテーブル単位で適用します。raw=BOOLtを指定するとログパーサーを適用せず、生データを照会します。クラスター管理者権限が必要です。lazy=BOOLtを指定すると lazy loading を有効にします。初期はメタデータのみ読み込み、実際のデータは必要時に読み込みます。fields=STR- 読み込むフィールド名をカンマ区切りで指定します。指定するとそのフィールドのみ読み込むため、パフォーマンスが向上します。
ターゲット
TABLE- 照会するテーブル名。
[NODE:][[NAMESPACE\]]TABLE[?]形式で指定します。スペースで区切って複数のテーブルを指定でき、*ワイルドカードを使用できます。
NODE:— データノード名(省略時は全ノード対象)NAMESPACE\— テーブルの名前空間(省略可)TABLE— テーブル名?— 名前の末尾に付けるとテーブルが存在しなくてもエラーなくスキップします
出力フィールド
| フィールド | タイプ | 説明 |
|---|---|---|
| _table | string | テーブル名。リモートノードのテーブルは NODE:TABLE 形式 |
| _time | timestamp | レコード記録時刻 |
| _sk | long | ストレージキー |
| _era | integer | エポック番号 |
| _id | long | パーティション内レコードのシリアル番号 |
テーブルにログパーサーが設定されている場合、パーサーが返すフィールドが追加されます。
エラーコード
解析エラー
| エラーコード | メッセージ | 説明 |
|---|---|---|
| 10600 | 저장소가 닫혀 있습니다. | ストレージが閉じている場合 |
| 10601 | offset 값은 0보다 크거나 같아야 합니다: 입력값=[offset]. | offset 値が 0 未満の場合 |
| 10602 | 입력값이 허용 범위를 벗어났습니다: limit=[offset]. | limit 値が許容範囲外の場合 |
| 10603 | [options]에서 [exp] 잘못된 옵션입니다. | 不正なテーブル指定子が使用された場合 |
| 10604 | 테이블이 없습니다. | テーブルが指定されていない場合 |
| 10605 | 테이블 [table]이(가) 존재하지 않습니다. | 指定したローカルテーブルが存在しない場合 |
| 10606 | 테이블 [table] 읽기 권한이 없습니다. | ローカルテーブルの読み取り権限がない場合 |
| 10607 | 테이블 [table]이(가) 존재하지 않습니다. | 指定したリモートテーブルが存在しない場合 |
| 10608 | 테이블 [table] 읽기 권한이 없습니다. | リモートテーブルの読み取り権限がない場合 |
| no-raw-permission | — | raw=t 使用時にクラスター管理者権限がない場合 |
ランタイムエラー
該当なし
説明
table コマンドは、ログプレッソテーブルに保存されたデータを照会します。ドライバクエリのため、クエリパイプラインの最初のコマンドとしてのみ使用します。
window オプションを指定すると過去データスキャンの代わりにリアルタイム受信モードで動作します。クエリ開始時点から指定した時間が経過するか、クエリがキャンセルされるまでテーブルに新たに入力されるデータを受信します。from、to、duration オプションと同時に使用できません。
分散環境では、テーブルが保存されている各データノードでスキャンが実行されます。
使用例
-
Web サーバーログの全データを照会する
table WEB_APACHEWEB_APACHE テーブルのすべての Web アクセス記録を照会します。
-
特定期間のファイアウォール遮断イベントを照会する
table from=20250315 to=20250319 FW_BLOCK_LOG2025 年 3 月 15 日から 3 月 19 日までのファイアウォールで遮断されたイベントを照会します。
-
直近 1 時間のセキュリティイベント上位 100 件を照会する
table duration=1h order=desc limit=100 SECURITY_EVENT_LOG直近 1 時間以内のセキュリティイベントのうち、最新の 100 件を時系列の逆順で照会します。
-
複数のセキュリティログを一度に照会する
table duration=1d WEB_APACHE FW_BLOCK_LOG NET_DNS_QUERY_LOG直近 1 日以内の Web アクセスログ、ファイアウォール遮断ログ、DNS クエリログをまとめて照会します。
-
ワイルドカードを使用して Web サーバーログを照会する
table duration=1d WEB_APACHE*WEB_APACHEで始まるすべてのテーブルから直近 1 日以内の Web サーバーログを照会します。 -
リアルタイムセキュリティイベントを監視する
table window=60s SECURITY_EVENT_LOGクエリ開始時点から 60 秒間、SECURITY_EVENT_LOG テーブルに入力される新しいセキュリティイベントをリアルタイムで受信します。
-
パラメーターを使用した動的期間照会
set from = string(dateadd(now(), "day", -7), "yyyyMMdd") | set to = string(now(), "yyyyMMdd") | table from=$("from") to=$("to") WEB_APACHE直近 7 日間の Web アクセスログを照会します。set コマンドで動的に計算した日付範囲をパラメーターとして使用します。