9 文字列関数

ここに挙げたすべての関数は、以下でサポートされています。

関数は追加情報なしでリストされています。関数をクリックすると詳細が表示されます。

関数 説明
ascii 値の左端の文字のASCIIコード
bitlength 値のビット数
bytelength 値のバイト数
char 値をASCIIコードとして解釈し、その文字を返します。
concat 参照されている項目値または定数値を連結した文字列
insert 文字列内の指定された位置から、指定された文字またはスペースを文字列に挿入します。
jsonpath JSONPathの結果を返します。
left 値の左端の文字を返します。
length 値の長さ(文字数)
ltrim 文字列の先頭から指定された文字を削除します。
mid 'start'で指定された文字位置からN文字の部分文字列を返します。
repeat 文字列を繰り返します。
replace 値内のパターンを検索し、置換文字列で置き換えます。
right 値の右端の文字を返します。
rtrim 文字列の末尾から指定された文字を削除します。
trim 文字列の先頭と末尾から指定された文字を削除します。
xmlxpath XML XPath の結果を返します。

関数の詳細

関数のパラメータに関する一般的な注意事項:

  • 関数のパラメータはカンマで区切ります。
  • 式もパラメータとして使用できます。
  • 文字列パラメータは二重引用符で囲む必要があります。そうでないと、誤って解釈される可能性があります。
  • オプションの関数パラメータ(またはパラメータ部分)は、< > で示されます。
ascii(value)

値の左端の文字のASCIIコード
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値

例えば、'Abc'のような値は '65'('A'のASCIIコード)を返します。

例:

ascii(last(/host/key))
bitlength(value)

値の長さ(ビット単位)
サポートされる値の型: StringTextLogInteger

パラメーター:

  • value - チェックする値

例:

bitlength(last(/host/key))
bytelength(value)

値の長さ(バイト単位)
サポートされる値の型: StringTextLogInteger

パラメーター:

  • value - チェックする値

例:

bytelength(last(/host/key))
char(value)

値をASCIIコードとして解釈し、文字を返します。
サポートされる値の型: Integer

パラメーター:

  • value - チェックする値

値は0-255の範囲でなければなりません。例えば、'65'(ASCIIコードとして解釈)のような値は'A'を返します。

例:

char(last(/host/key))
concat(<value1>,<value2>,...)

参照されている項目の値または定数値を連結した文字列
サポートされる値の型: StringTextLogFloatInteger

パラメーター:

  • valueX - 履歴関数のいずれかによって返される値、または定数値(文字列、整数、または浮動小数点数)。少なくとも2つのパラメーターを含める必要があります。

例えば、'Zab'という値を'bix'(定数文字列)と連結すると、'Zabbix'が返されます。

例:

concat(last(/host/key),"bix")
       concat("1 min: ",last(/host/system.cpu.load[all,avg1]),", 15 min: ",last(/host/system.cpu.load[all,avg15]))
insert(value,start,length,replacement)

文字列内の指定された位置から、指定された文字またはスペースを挿入します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • start - 開始位置
  • length - 置換する位置
  • replacement - 置換文字列

例えば、'Zabbbix'という値は、'bb'(開始位置3、置換位置2)を'b'に置き換えると、'Zabbix'に置き換えられます。

例:

insert(last(/host/key),3,2,"b")
jsonpath(value,path,<default>)

JSONPath の結果を返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • path - パス(引用符で囲む必要があります)
  • default - JSONPath クエリがデータを返さない場合のオプションのフォールバック値。その他のエラーが発生した場合は、失敗が返されます(例: "unsupported construct")

例:

jsonpath(last(/host/proc.get[zabbix_agentd,,,summary]),"$..size")
left(value,count)

値の左端の文字を返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • count - 返す文字数

例えば、'Zabbix'から'Zab'を返すには、左端から3文字を返します。right() も参照してください。

例:

left(last(/host/key),3) # 左端から3文字を返します
length(value)

値の長さ(文字数)
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値

例:

length(last(/host/key)) #最新の値の長さ
       length(last(/host/key,#3)) #3番目に新しい値の長さ
       length(last(/host/key,#1:now-1d)) #1日前の最新の値の長さ
ltrim(value,<chars>)

文字列の先頭から指定された文字を削除します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • chars (オプション) - 削除する文字を指定します。

空白文字は、オプションの文字が指定されていない場合、デフォルトで左側から切り捨てられます。rtrim()trim() も参照してください。

例:

ltrim(last(/host/key)) #文字列の先頭から空白文字を削除します。
       ltrim(last(/host/key),"Z") #文字列の先頭からすべての'Z'を削除します。
       ltrim(last(/host/key),"Z") #文字列の先頭からすべてのスペースと'Z'を削除します。
mid(value,start,length)

'start' で指定された文字位置から始まる N 文字の部分文字列を返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • start - 部分文字列の開始位置
  • length - 部分文字列内で返す位置

例えば、開始位置が 2 で、返す位置が 4 の場合、'Zabbix' という値から 'abbi' を返すことができます。

例:

mid(last(/host/key),2,4)="abbi"
repeat(value,count)

文字列を繰り返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • count - 繰り返し回数

例:

repeat(last(/host/key),2) # 値を2回繰り返します。
replace(value,pattern,replacement)

値内のパターンを検索し、置換文字列で置き換えます。パターンに一致するすべての箇所が置換されます。
サポートされる値の型: StringText、*Log

パラメーター:

  • value - チェックする値
  • pattern - 検索するパターン
  • replacement - パターンを置換する文字列

例:

replace(last(/host/key),"ibb","abb") # すべての'ibb'を'abb'に置き換えます。

値の右端の文字を返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • count - 返す文字数

例えば、'Zabbix'から'bix'を返すには、右端から3文字を返します。left() も参照してください。

例:

right(last(/host/key),3) # 右端から3文字を返します。
rtrim(value,<chars>)

文字列の末尾から指定された文字を削除します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • chars (オプション) - 削除する文字を指定します。

空白はデフォルトで右側から切り取られます(オプションの文字が指定されていない場合)。ltrim()trim() も参照してください。

例:

rtrim(last(/host/key)) #文字列の末尾から空白を削除します。
       rtrim(last(/host/key),"x") #文字列の末尾からすべての 'x' を削除します。
       rtrim(last(/host/key),"x ") #文字列の末尾からすべての 'x' とスペースを削除します。
trim(value,<chars>)

文字列の先頭と末尾から指定された文字を削除します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • chars (オプション) - 削除する文字を指定

デフォルトでは、両端の空白が削除されます (オプションの文字が指定されていない場合)。ltrim()rtrim() も参照してください。

例:

trim(last(/host/key)) #文字列の先頭と末尾から空白を削除します。
       trim(last(/host/key),"_") #文字列の先頭と末尾から '_' を削除します。
xmlxpath(value,path,<default>)

XML XPath の結果を返します。
サポートされる値の型: StringTextLog

パラメーター:

  • value - チェックする値
  • path - パス(引用符で囲む必要があります)
  • default - XML XPath クエリが空のノードセットを返す場合のオプションのフォールバック値。空の結果がノードセットでない場合(つまり、空文字列の場合)、この値は返されません。その他のエラーの場合は、失敗が返されます(例: "invalid expression")

例:

xmlxpath(last(/host/xml_result),"/response/error/status")

サポートされているすべての関数を参照してください。