9 文字列関数

ここに記載されているすべての関数は、以下でサポートされています。

関数は追加情報なしで一覧表示されています。詳細については、関数をクリックしてください。

Function Description
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コード。
サポートされている値の型: String, Text, Log

パラメータ:

  • value - チェックする値

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

例:

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

valueのビット長。
サポートされている値の型: String, Text, Log, Integer

パラメータ:

  • value - チェックする値

例:

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

値のバイト長。
サポートされている値の型: String, Text, Log, Integer

パラメータ:

  • value - チェックする値

例:

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

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

パラメータ:

  • value - チェックする値

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

例:

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

参照されたアイテムの値または定数値を連結した結果の文字列。
サポートされている値の型: String, Text, Log, Float, Integer

パラメータ:

  • 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)

指定した位置から文字列に指定した文字またはスペースを挿入します。
サポートされている値の型: String, Text, Log

パラメータ:

  • 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)

値の左端の文字を返します。
サポートされている値の型: String, Text, Log

パラメータ:

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

たとえば、返す左端の文字数を3に指定することで、'Zabbix'から'Zab'を返すことができます。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>)

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

パラメータ:

  • 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文字の部分文字列を返します。
サポートされている値の型: String, Text, Log

パラメータ:

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

たとえば、開始位置が2、返す文字数が4の場合、'Zabbix'のような値から'abbi'を返すことができます。

例:

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

文字列を繰り返します。
サポートされている値の型: String, Text, Log

パラメータ:

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

例:

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

値の中からパターンを見つけて、replacementで置き換えます。パターンに一致するすべての箇所が置き換えられます。
サポートされている値の型: String, Text, Log

パラメータ:

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

例:

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

値の右端の文字を返します。
サポートされている値の型: String, Text, Log

パラメータ:

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

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

例:

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

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

パラメータ:

  • value - チェックする値
  • chars (省略可能) - 削除する文字を指定

省略可能な文字が指定されていない場合は、デフォルトで空白が右側から削除されます。詳細は ltrim()trim() も参照してください。

例:

rtrim(last(/host/key)) #文字列の末尾から空白を削除
rtrim(last(/host/key),"x") #文字列の末尾から'x'を削除
rtrim(last(/host/key),"x ") #文字列の末尾から'x'と空白を削除
trim(value,<chars>)

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

パラメータ:

  • value - チェックする値;
  • chars (省略可能) - 削除する文字を指定します。

デフォルトでは、(省略可能な文字が指定されていない場合)両端の空白がトリミングされます。関連項目: ltrim(), rtrim()

例:

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

XML XPathの結果を返します。
サポートされている値の型: String, Text, Log

パラメータ:

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

例:

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

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