EQL — イベントクエリ言語ヘルプ
目次
- 概要
- EQLの利用場所
- 基本構文
- イベントストリーム (14種 + 内部用3種)
- ウィンドウ
- WHERE条件
- 集計関数
- グループ化・ソート
- JOIN — ストリーム結合
- パターンマッチング
- 時間・状態関数
- 変数とコンテキスト
- 実践例12選
- パフォーマンスガイド
- よくある質問
- 関連画面
概要
主な利用場所 左側メニュー 自動化 > EQLクエリ(
/query/index) で直接実行し、高度なアラーム ・ トリガー・ステートメント ・ フロー の条件式でも同一構文を使用します。
EQL (Event Query Language) は、PlantPulse PlatformがリアルタイムストリーミングデータをSQL構文のように質疑・集計・パターンマッチングできるように設計した独自クエリ言語です。一般的なSQLが静的テーブルを対象に動作するのに対し、EQLは継続的に流入するイベントストリーム上で動作し、毎瞬の結果をemitします。
オペレーターはEQL一行で以下を実現できます。
- リアルタイムモニタリング — タグ値が閾値を超えた瞬間に即座に結果をemit
- 資産単位の集計 — 5分ごとの平均/最大/最小を自動計算
- パターンマッチング — 「イベントAの後、30秒以内にイベントBが来なければアラーム」
- 時系列ジョイン — 2つのタグの時間的整合性を比較
EQLはSQLとほぼ同一の構文を使用しますが、ウィンドウ(Window) の概念が追加されており、「直近N秒 / N件」といった時間または長さの範囲を指定します。
このページではコンソールで実行されるすべてのEQLを扱います。ただし、CEPは起動時にバックエンドを1つ選択し、バックエンドごとにサポートされる構成が異なります。ジョイン・変数・コンテキストなど、一方にしか存在しない機能があります。
何がどこで動作するかは CEP — バックエンド の表に記載されており、言語自体の仕様は CEP — EQL言語、拒否トークンについては 限界と拒否トークン を参照してください。
拒否される場合は登録時点で名前が提示されるため、静かにエラーになることはありません。
EQLの利用場所
Platform内でのEQL利用場所は以下の通りです。
EQLクエリ・ステートメントは左側メニュー 자동화 グループに並んで配置されています。 「CEP」という名前のメニューはありません。
| メニュー ・ 画面 | 内部URL | 用途 |
|---|---|---|
| 自動化 > EQLクエリ — 文書 | /query/index | オペレーターが即席でEQLを実行して結果を確認 (探索・デバッグ) |
| トリガー (左側メニューなし) — 文書 | /trigger/index | EQLマッチング結果をMQトピックまたはストレージに自動発行 |
| 自動化 > ステートメント — 文書 | /statement/index | 資産単位で登録されたルール (状態/集計/イベント/コマンド)。種類別の 必須出力項目 を入力することで保存されます |
| アラーム → EQLアラーム | — | EQLルールによる任意条件のアラーム発行 |
| フロー → スクリプト | — | flow_script_filter / flow_script_transform / flow_switch のEQL表現式モード |
| タグ様式 — 人工知能タブ | — | 予測・異常検知ルールの入力条件 |
EQLは読み取り専用です。データを変更しません。マッチング結果でアラームを発行したり、フロー のアクションノードを呼び出したりするには、CEP → トリガー または EQLアラーム を介して結果を接続してください。
基本構文
EQLの基本構造はSQLとほぼ同一です。
SELECT <column-or-function>
FROM <stream>.<window>
WHERE <condition>
GROUP BY <field>
HAVING <aggregation-condition>
ORDER BY <field> [ASC|DESC]
最も単純なEQL:
SELECT * FROM Point.win:time(1 sec)
直近 1秒間 に流入したすべてのタグポイントを1秒ごとにemit。
ワイルドカードとカラム選択
| 構文 | 意味 |
|---|---|
SELECT * | すべてのカラムを含める |
SELECT tag_id, value | 特定のカラムのみ |
SELECT value AS v, tag_id AS id | 別名(alias)を付与 |
SELECT value * 9 / 5 + 32 AS fahrenheit | 算術式の結果 |
SELECT CASE WHEN value > 80 THEN 'HIGH' ELSE 'OK' END AS level | 条件式 |
注釈
-- 한 줄 주석
/* 여러 줄
주석 */
SELECT * FROM Point.win:time(1 sec)
イベントストリーム (14種 + 内部用3종)
EQLの FROM 句に指定できるストリーム(イベントソース)は以下の通りです。すべてのストリームはPlatformが自動的に発生させ、別途登録することなく即時に使用可能です。
ここにない名前を
FROMに記述すると、ルールが配信されません。 登録済みのイベントタイプのみがストリームとして利用可能です (plantpulse.core.engine.eql.EventTypes)。
タグドメイン (3種)
| ストリーム | 発生時点 | 主要フィールド |
|---|---|---|
| Point | タグ値が受信されるたび | tag_id, value, quality, ts, site_id, asset_id, unit, java_type |
| PointMap | 同様だが tag('<id>') 関数と共に使用し、複数タグをキー-値として照会 | (PointMap専用ヘルパー) |
| Alarm | タグアラームが発生したとき | tag_id, alarm_band, value, threshold, priority, band_message |
資産ドメイン (6種)
| ストリーム | 発生時点 | 主要フィールド |
|---|---|---|
| AssetData | 資産単位の時系列データ (集計結果) | asset_id, values(key-value), ts |
| AssetEvent | 資産イベント発生 (開始・停止・整備など) | asset_id, event_type, details, ts |
| AssetAlarm | 資産アラーム発生 | asset_id, alarm_band, priority, message |
| AssetCommand | 資産にコマンドが発行されたとき | asset_id, command, args |
| AssetAggregation | 1分/5分/1時間 資産集計結果 | asset_id, window, agg_type, values |
| AssetContext | 資産コンテキスト(メタ)変更 | asset_id, context_key, before, after |
旧文書にこれらが資産ドメインストリームとして記載されていましたが、登録済みイベントタイプではありません。
FROM AssetHealthStatus... と記述してもルールは配信されません。
ヘルス・接続状態の評価はストリームではなく、周期実行ジョブとして動作します
(AssetHealthStatusDeployer / AssetConnectionStatusDeployer)。その結果は画面とAPIで報告されます。EQLで状態変化を検知したい場合は、ソースである AssetEvent ・ AssetAlarm や
Point の未受信を not パターン で検知してください。
生産ドメイン (3種)
| ストリーム | 発生時点 | 主要フィールド |
|---|---|---|
| Calendar | シフト開始/終了/変更 | shift_id, calendar_id, event, start_time, end_time |
| WorkOrder | ワークオーダーライフサイクル遷移 | order_id, status, prev_status, asset_id, product_id |
| OEE | OEE評価結果更新 | order_id, asset_id, oee, availability, performance, quality |
システムドメイン (2종)
| ストリーム | 発生時点 | 主要フィールド |
|---|---|---|
| Log | システム診断メッセージ | module, level, code, summary, ts |
| OSPerformance | サーバーOSリソース指標 (周期) | CPU・メモリ・ディスクなど |
Status という名前のイベントタイプは登録されていません。OPC・Edgeの接続状態変化を
EQLで検知しようとした場合、そのストリームでは不可能です。Point の未受信を
not パターン で検知する方法を使用してください。
内部用ストリーム (3종)
登録はされていますが、ルール作成用ではありません。診断・ヘルスチェックに使用されます。
| ストリーム | 用途 |
|---|---|
| DateTime | 周期的に発生する時刻イベント (時間基準ルールのトリガー) |
| Ping | エンジン生存確認 |
| Test | ルール検証用 |
すべてのストリームは使用前に必ずウィンドウと結合しなければなりません (
Point.win:time(1 sec)のように)。ウィンドウなしでFROM Pointのみを記述すると、結果が即座に消失するため見えなくなります。
ウィンドウ
ウィンドウは「ストリーム上から切り出した時間または長さの区間」です。EQLは2種類のウィンドウをサポートしています。
時間ウィンドウ (Time Window)
| 構文 | 意味 |
|---|---|
Point.win:time(1 sec) | 直近 1秒 間に流入したすべてのイベント (sliding) |
Point.win:time(10 sec) | 直近 10秒 |
Point.win:time(5 min) | 直近 5分 |
Point.win:time(1 hour) | 直近 1時間 |
サポートされる時間単位: sec(秒) ・ min(分) ・ hour(時間) ・ day(日)。
長さウィンドウ (Length Window)
| 構文 | 意味 |
|---|---|
Point.win:length(100) | 直近 100件 のイベント |
Point.win:length(1000) | 直近 1,000件 |
バッチウィンドウ (Batch Window)
win:time_batch / win:length_batch — ウィンドウが満杯になったか、時間が満了した 瞬間にのみ 一度だけemit。リソース消費を削減します。
-- 매 1분마다 한 번씩 그 1분간 평균을 emit
SELECT avg(value) FROM Point.win:time_batch(1 min) WHERE tag_id = 'MOTOR-001.TEMP'
ウィンドウ選択ガイド
| 状況 | 推奨ウィンドウ |
|---|---|
| リアルタイムモニタリング (値そのものを確認) | win:time(1 sec) |
| 短期平均/最大 (5分平均など) | win:time(5 min) |
| 時間単位の集計 | win:time_batch(1 hour) |
| 直近N件の比較 | win:length(N) |
| 変量追跡 | win:length(2) + prev() 関数 |
WHERE条件
SQLと同様の比較演算子を使用します。
| 演算子 | 例 | 意味 |
|---|---|---|
= != <> | tag_id = 'MOTOR-001' | 一致/不一致 |
< <= > >= | value > 80 | 比較 |
BETWEEN | value BETWEEN 70 AND 90 | 範囲 |
IN | tag_id IN ('A','B','C') | リスト含有 |
LIKE | tag_id LIKE 'MOTOR-%' | パターンマッチング (% ワイルドカード) |
IS NULL / IS NOT NULL | quality IS NOT NULL | null判定 |
AND OR NOT | value > 80 AND quality = 'GOOD' | 論理結合 |
正規表現
SELECT * FROM Point.win:time(1 sec)
WHERE tag_id REGEXP '.*\\.TEMP$'
末尾が
.TEMPであるタグのみにマッチ。バックスラッシュは2回 (\\.) 入力してください。
動的サイト/資産フィルタ
SELECT * FROM Point.win:time(1 sec)
WHERE site_id = 'SITE-A'
AND asset_id LIKE 'LINE-1.%'
AND value > 75
集計関数
ウィンドウ内のイベントを集計します。
基本集計
| 関数 | 意味 | 例 |
|---|---|---|
count(*) | イベント件数 | SELECT count(*) FROM Point.win:time(10 sec) |
sum(field) | 合計 | sum(value) |
avg(field) | 平均 | avg(value) |
min(field) | 最小値 | min(value) |
max(field) | 最大値 | max(value) |
median(field) | 中央値 | median(value) |
stddev(field) | 標準偏差 | stddev(value) |
variance(field) | 分散 | variance(value) |
first(field) | ウィンドウ最初値 | first(value) |
last(field) | ウィンドウ最終値 | last(value) |
DISTINCT集計
SELECT count(distinct tag_id) AS unique_tags
FROM Point.win:time(1 min)
CASE との結合
SELECT
count(CASE WHEN value > 80 THEN 1 END) AS high_count,
count(CASE WHEN value <= 80 THEN 1 END) AS ok_count
FROM Point.win:time(1 min)
WHERE tag_id = 'MOTOR-001.TEMP'
時系列関数
| 関数 | 意味 | 例 |
|---|---|---|
prev(N, field) | N段階前後の値 | value - prev(1, value) (直前値との差) |
prevwindow(field) | ウィンドウ内すべての過去値配列 | prevwindow(value) |
rate(field) | 単位時間あたりの変化率 | rate(value) |
グループ化・ソート
GROUP BY
-- 자산별 최근 1분 평균 온도
SELECT asset_id, avg(value) AS avg_temp
FROM Point.win:time(1 min)
WHERE tag_id LIKE '%.TEMP'
GROUP BY asset_id
HAVING — 集計後フィルタ
-- 평균 > 80 인 자산만
SELECT asset_id, avg(value) AS avg_temp
FROM Point.win:time(1 min)
WHERE tag_id LIKE '%.TEMP'
GROUP BY asset_id
HAVING avg(value) > 80
ORDER BY · LIMIT
-- 가장 뜨거운 5개 자산
SELECT asset_id, max(value) AS peak
FROM Point.win:time(5 min)
WHERE tag_id LIKE '%.TEMP'
GROUP BY asset_id
ORDER BY peak DESC
LIMIT 5
LIMITは結果emit時点の最上位N件のみを含めます。
JOIN — ストリーム結合
2つ以上のストリームを時間的に整列させてジョインできます。
-- 같은 자산에서 같은 시간대의 온도와 압력을 한 행으로
SELECT p1.value AS temp, p2.value AS pressure, p1.asset_id
FROM Point.win:time(1 sec) AS p1,
Point.win:time(1 sec) AS p2
WHERE p1.tag_id LIKE '%.TEMP'
AND p2.tag_id LIKE '%.PRESSURE'
AND p1.asset_id = p2.asset_id
資産イベント + ワークオーダー ジョイン
SELECT e.asset_id, e.event_type, w.order_id, w.status
FROM AssetEvent.win:time(5 min) AS e,
WorkOrder.win:time(5 min) AS w
WHERE e.asset_id = w.asset_id
AND e.event_type = 'STARTUP'
AND w.status = 'START'
2つのストリームの時間ウィンドウが重複している間のみジョイン結果が発生します。時間単位が異なるデータを比較する場合は
win:time_batchで近似周期に合わせてください。
パターンマッチング
EQLの強力な機能 — 「イベントAの後、N秒以内にBが(不)発生」といったシーケンスを定義できます。
every — 毎回マッチング
SELECT * FROM pattern [
every a = AssetEvent(event_type = 'STARTUP')
-> b = AssetEvent(event_type = 'SHUTDOWN', asset_id = a.asset_id)
where timer:within(60 sec)
]
開始イベント → 60秒以内に停止イベント のペアを毎回マッチング。短時間稼働後に即座に停止する異常パターンを検知。
not — N時間の間発生しない
SELECT * FROM pattern [
every a = AssetEvent(event_type = 'STARTUP')
-> ( timer:interval(30 min)
and not AssetData(asset_id = a.asset_id) )
]
開始後30分間データが流入しない場合にマッチング (応答のない資産を検知)。
and / or — 同時またはいずれか
SELECT * FROM pattern [
( every AssetAlarm(priority = 'ERROR') )
and
( every WorkOrder(status = 'START') )
]
パターンマッチングの核となるキーワード
| キーワード | 意味 |
|---|---|
every <e> | e が発生するたびにマッチング |
e1 -> e2 | e1 の次に e2 が発生 (順序マッチング) |
e1 and e2 | 2つのイベントがともに発生 (順序不問) |
e1 or e2 | いずれか一方が発生 |
not e | e が発生しない |
timer:within(<duration>) | 指定時間内にのみマッチング |
timer:interval(<duration>) | 指定時間分待機 |
時間・状態関数
時間関数
| 関数 | 意味 |
|---|---|
current_timestamp | 現在時刻 (ms) |
current_date() | 本日の日付 (yyyy-MM-dd) |
timestamp(field) | イベントのtimestamp抽出 |
hour_of_day(ts) | 0~23時 |
day_of_week(ts) | 1(日)~7(土) |
minute_of_hour(ts) | 0~59分 |
dayofmonth(ts) | 1~31日 |
-- 야간 (22시~6시) 발생 알람만
SELECT * FROM Alarm.win:time(1 hour)
WHERE hour_of_day(ts) >= 22 OR hour_of_day(ts) < 6
状態関数
| 関数 | 意味 |
|---|---|
tag('<tag_id>') | そのタグの最新値 (PointMapコンテキスト) |
prev_status(asset_id) | 資産の直前状態 |
health(asset_id) | 資産ヘルス状態 (OK/WARN/ERROR/UNKNOWN) |
is_in_shift(asset_id) | 資産がシフト内にあるか |
算術・文字列関数
| 関数 | 意味 |
|---|---|
abs(x) / round(x, n) / floor(x) / ceil(x) | 数学 |
pow(x, y) | xのy乗 |
sqrt(x) | 平方根 |
length(s) | 文字列長 |
upper(s) / lower(s) | 大小文字変換 |
substring(s, start, len) | 部分文字列 |
concat(a, b, ...) | 結合 |
変数とコンテキスト
変数 — 動的閾値
-- 변수 정의 (운영자가 화면에서 조정 가능)
create variable double max_temp = 80;
-- 변수 사용
SELECT * FROM Point.win:time(1 sec)
WHERE tag_id LIKE '%.TEMP' AND value > max_temp
変数の値は運用中に変更でき、すべてのEQLルールが即座に新値を適用します。
コンテキスト — 時間/条件ベースの有効化
Platformには頻用されるコンテキストがあらかじめ定義されており、そのまま利用可能です。
| コンテキスト | 有効条件 |
|---|---|
EVERY_1_MINUTES | 1分ごと |
EVERY_5_MINUTES | 5分ごと |
EVERY_10_MINUTES | 10分ごと |
EVERY_30_MINUTES | 30分ごと |
EVERY_1_HOURS | 1時間ごと |
EVERY_3_HOURS | 3時間ごと |
EVERY_6_HOURS | 6時間ごと |
EVERY_12_HOURS | 12時間ごと |
DAY_WORK_TIME | 平日 09:00~18:00 |
-- 5분마다 한 번씩 평균 온도 emit (그 사이에는 결과가 안 옴)
context EVERY_5_MINUTES
SELECT avg(value) AS avg_temp
FROM Point.win:time(5 min)
WHERE tag_id = 'MOTOR-001.TEMP'
-- 주간 근무시간에만 평가
context DAY_WORK_TIME
SELECT * FROM AssetAlarm.win:time(1 sec)
WHERE priority = 'ERROR'
実践例12選
例 1 — リアルタイムのシングルタグモニタリング
SELECT value, ts, quality
FROM Point.win:time(1 sec)
WHERE tag_id = 'MOTOR-001.SPEED'
例 2 — 閾値超過の即時検知
SELECT tag_id, value, ts
FROM Point.win:time(1 sec)
WHERE tag_id LIKE '%.TEMP' AND value > 90
例 3 — 資産別5分平均 (5分ごとにemit)
context EVERY_5_MINUTES
SELECT asset_id, avg(value) AS avg_temp, max(value) AS peak
FROM Point.win:time(5 min)
WHERE tag_id LIKE '%.TEMP'
GROUP BY asset_id
例 4 — 変量 (直前値比)
SELECT tag_id, value, value - prev(1, value) AS delta
FROM Point.win:length(2)
WHERE tag_id = 'TANK-001.LEVEL'
例 5 — 夜間シフトのERRORアラームのみ
SELECT tag_id, priority, band_message, ts
FROM Alarm.win:time(1 sec)
WHERE priority = 'ERROR'
AND hour_of_day(ts) >= 22 OR hour_of_day(ts) < 6
例 6 — 資産ヘルス遷移 (OK → WARN)
SELECT asset_id, status, prev_status, ts
FROM AssetHealthStatus.win:time(1 sec)
WHERE prev_status = 'OK' AND status = 'WARN'
例 7 — ワークオーダーOEE低調
SELECT order_id, asset_id, oee, availability, performance, quality
FROM OEE.win:time(1 sec)
WHERE oee < 0.6
例 8 — 30分間応答のない資産検知
SELECT * FROM pattern [
every a = AssetData()
-> ( timer:interval(30 min)
and not AssetData(asset_id = a.asset_id) )
]
例 9 — 開始直後の停止 (不安定稼働)
SELECT * FROM pattern [
every a = AssetEvent(event_type = 'STARTUP')
-> b = AssetEvent(event_type = 'SHUTDOWN', asset_id = a.asset_id)
where timer:within(60 sec)
]
例 10 — 複数タグの同時比較 (PointMap)
SELECT
tag('MOTOR-001.TEMP') AS temp,
tag('MOTOR-001.PRESSURE') AS pressure,
tag('MOTOR-001.VIBRATION') AS vibration
FROM PointMap.win:time(1 sec)
例 11 — ライン単位の時間あたり累積生産量
context EVERY_1_HOURS
SELECT asset_id, sum(value) AS hourly_count
FROM AssetAggregation.win:time(1 hour)
WHERE agg_type = 'PRODUCED' AND asset_id LIKE 'LINE-%'
GROUP BY asset_id
例 12 — アラーム発生上位10資産
context EVERY_10_MINUTES
SELECT asset_id, count(*) AS alarm_count
FROM AssetAlarm.win:time(10 min)
GROUP BY asset_id
ORDER BY alarm_count DESC
LIMIT 10
パフォーマンスガイド
1. ウィンドウサイズを意図的に小さく
-- ❌ 나쁜 예 — 24시간을 메모리에 유지
SELECT avg(value) FROM Point.win:time(24 hour)
-- ✅ 좋은 예 — 1시간만 메모리에 유지 + context 로 emit 주기 분리
context EVERY_1_HOURS
SELECT avg(value) FROM Point.win:time(1 hour)
2. WHERE句をトリガーに近づける
タグID・資産ID・サイトIDなどの静的フィルタは WHERE句の最前面 に配置してください。後続の GROUP BY/HAVING より先に評価されます。
3. LIKE '%...%' 両面ワイルドカードはコスト高
-- ❌ 나쁜 예
WHERE tag_id LIKE '%TEMP%'
-- ✅ 좋은 예
WHERE tag_id LIKE '%.TEMP' -- 접미사 매칭만
4. パターンマッチングは短いウィンドウと共に
pattern [ ... timer:within(<n-minutes>) ] の時間限定子を省略しないでください。無限パターンはメモリを占有し続けます。
5. 結果emit頻度の調整
context EVERY_N_MINUTES コンテキストでEQL自体の評価は1秒単位で行い、emitのみをN分ごと に行うよう分離することで、ダウンストリームの負荷を軽減できます。
よくある質問
Q. EQLクエリを入力しましたが、結果画面に何も表示されません。
A. 以下を確認してください。① FROM Point のみを記述していないか — ウィンドウが必要です (Point.win:time(1 sec))。② WHERE条件が狭すぎてマッチングされていないか。③ 右上の ▶ 開始ボタンを押したか。④ 結果パネルが ⏸ 中止状態になっていないか。
Q. SQLと何が違いますか?
A. 最大の違いは ウィンドウ の概念です。EQLは無限ストリーム上で動作するため、「どの範囲」を指定する必要があります。その他 pattern [ ... ] シーケンスマッチングと context 時間コンテキストはSQLにない機能です。
Q. win:time(1 sec) と win:time_batch(1 sec) の違いは?
A. win:time(1 sec) は sliding — イベントが流入するたびに結果を更新。win:time_batch(1 sec) は tumbling — 1秒単位でまとめ、1秒が満了した瞬間にのみ一度だけemit。正確に1秒ごとの結果が必要な場合はbatchを使用してください。
Q. pattern [ ... ] と一般的な SELECT ... WHERE ... の違いは?
A. SELECT は単一のイベント(またはウィンドウ)を見て評価しますが、pattern は イベントシーケンス (Aの次にB、AがなくBなど) を評価します。時間的順序・因果関係が重要な場合はpatternを使用してください。
Q. 登録した変数は即座に反映されますか?
A. はい。create variable で定義した変数の値を画面で変更すると、すでに配信済みのすべてのEQLルールが次回の評価から新値を使用します。
Q. EQLマッチング結果をアラームで送信するには? A. CEP → トリガー にEQLを登録し「MQストリーミング」または「ストレージ保存」オプションを有効にするか、アラーム → EQLアラーム にEQLを登録することで、マッチング時にアラームが自動発行されます。
Q. 資産単位のルールをすべての資産に一括適用できますか? A. CEP → ステートメント で資産単位のEQLルールを定義し、モデル/オントロジーでそのルールを資産カテゴリにマッピングすれば、同じカテゴリの全資産に自動配信されます。資産が追加されるたびに自動的に適用されます。
Q. EQL一行で2つのストリームを同時に扱えますか?
A. はい。上記の JOIN セクションの例のように、2つのストリームを FROM 句にカンマ区切りで列挙し、WHERE でジョイン条件を記述してください。
Q. 結果が多く出過ぎます。
A. LIMIT N で上位N件のみにするか、context EVERY_N_MINUTES でemit周期を延ばすか、win:time_batch を使用してバッチウィンドウでまとめてください。WHERE句をより厳格に設定することも効果的です。
Q. EQLの作成練習はどこで行えますか? A. CEP → クエリ 画面がEQLの実習ツールです。一行入力して ▶ 実行すれば即座に結果を確認できます。上記の 実践例12選 からコピーして試してください。
関連画面
- CEP — EQLクエリ/トリガー/ステートメント作成画面
- アラーム → EQLアラーム — EQLによる任意条件のアラーム発行
- フロー —
flow_script_filter/flow_script_transform/flow_switchのEQLモード - タグ様式 — 人工知能タブ — 予測・異常検知ルールのEQL条件
- ドメインID統合検索 — EQLに使用するタグ/資産IDのクイック照会 (Ctrl+K)