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コード。
サポートされている値の型: 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")

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