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)
値の長さ(ビット単位)
サポートされる値の型: String、Text、Log、Integer
パラメーター:
- value - チェックする値
例:
bitlength(last(/host/key))
bytelength(value)
値の長さ(バイト単位)
サポートされる値の型: String、Text、Log、Integer
パラメーター:
- value - チェックする値
例:
bytelength(last(/host/key))
char(value)
値をASCIIコードとして解釈し、文字を返します。
サポートされる値の型: Integer
パラメーター:
- 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 の結果を返します。
サポートされる値の型: String、Text、Log
パラメーター:
- value - チェックする値
- path - パス(引用符で囲む必要があります)
- default - JSONPath クエリがデータを返さない場合のオプションのフォールバック値。その他のエラーが発生した場合は、失敗が返されます(例: "unsupported construct")
例:
jsonpath(last(/host/proc.get[zabbix_agentd,,,summary]),"$..size")
left(value,count)
値の左端の文字を返します。
サポートされる値の型: String、Text、Log
パラメーター:
- value - チェックする値
- count - 返す文字数
例えば、'Zabbix'から'Zab'を返すには、左端から3文字を返します。right() も参照してください。
例:
left(last(/host/key),3) # 左端から3文字を返します
length(value)
値の長さ(文字数)
サポートされる値の型: String、Text、Log。
パラメーター:
- 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)
値内のパターンを検索し、置換文字列で置き換えます。パターンに一致するすべての箇所が置換されます。
サポートされる値の型: String、Text、*Log
パラメーター:
- value - チェックする値
- pattern - 検索するパターン
- replacement - パターンを置換する文字列
例:
replace(last(/host/key),"ibb","abb") # すべての'ibb'を'abb'に置き換えます。
right(value,count)
値の右端の文字を返します。
サポートされる値の型: String、Text、Log
パラメーター:
- value - チェックする値
- count - 返す文字数
例えば、'Zabbix'から'bix'を返すには、右端から3文字を返します。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")
サポートされているすべての関数を参照してください。