evtctxsetvar()

イベントコンテキストにユーザー変数を設定します。変数の設定に成功した場合は true を、失敗した場合は false を返します。

構文

evtctxsetvar(TOPIC, KEY, VAR_NAME, VALUE[, HOST])

パラメーター

TOPIC
イベントコンテキストのトピック名。文字列。
KEY
イベントコンテキストのキー値。文字列。
VAR_NAME
設定する変数名。文字列。
VALUE
変数に保存する値。
HOST
(任意)イベントコンテキストが属するホスト名。省略すると、デフォルトのホストで検索します。

説明

TOPICKEY でイベントコンテキストを識別した後、VAR_NAME という名前で VALUE を保存します。成功した場合は true(ブーリアン)を返します。

TOPIC または KEYnull の場合は false を返します。VAR_NAMEnull の場合は false を返します。VALUEnull の場合は null 値として変数を設定します。

設定した変数は evtctxgetvar() 関数で照会できます。

エラーコード

エラーコード説明
invalid-evtctxsetvar-arguments引数の数が4個または5個ではありません。

使用例

  1. login_fail トピックでユーザーごとのイベントコンテキストに last_ip 変数を設定

    evtctx topic=login_fail key=src_user
    | eval ok = evtctxsetvar("login_fail", src_user, "last_ip", src_ip)
    
  2. 変数を設定した後、evtctxgetvar() で再度照会

    evtctx topic=login_fail key=src_user
    | eval ok      = evtctxsetvar("login_fail", src_user, "score", risk_score)
    | eval stored  = evtctxgetvar("login_fail", src_user, "score")
    
  3. TOPICnull の場合

    evtctx topic=login_fail key=src_user
    | eval ok = evtctxsetvar(null, src_user, "last_ip", src_ip)
    | # ok: false
    

互換性

evtctxsetvar() 関数は Sonar 4.0以前のバージョンから提供されています。