機械翻訳について

Evalコマンド

式の値を計算し、その値を新しいフィールドに表示するには、evalコマンドを使用します。

構文

コマンドで使用できる演算子と関数

ノート:

statsコマンドは既存のフィールドに基づいて統計を計算しますが、evalコマンドは既存のフィールドと任意の式を使用して新しいフィールドを作成します。
*|eval <new_field_name>=<expression>

次の表に、evalコマンドで使用できる演算子を示します。

カテゴリ

算術演算子

+, -, *, /, %

比較演算子

=, !=, <, >, <=, >=

論理演算子

and, or, not

条件付き演算子

if(<expression>,<expression>,<expression>)

複数の比較演算子

in, not in

次の表に、evalコマンドで使用可能な機能を示します。

カテゴリ

文字列関数

  • concat(String, String)

  • indexof (String, String [,int])

  • length(String)

  • literal(String)

  • lower(String)

  • ltrim(String, Character)

  • replace(String, String, String)

  • rtrim(String, Character)

  • substr(String, int [, int])

  • todate(String [, format])

  • toduration(String)

  • tonumber(String)

  • trim(String)

  • trim(String, Character)

  • upper(String)

  • urldecode(String)

  • url(String [, Name [, Parameter]])

    「URL機能詳細」を参照してください。

数値関数

日付関数

  • dateadd(date, property, amount)

  • dateset(date, property, value [, property, value])

  • formatdate(date [,format])

  • now()

ネットワーク関数

cidrmatch(String, String)

ノート:

  • concat()関数では、integer、float、longなどの数値データ型を入力できます。 数値フィールドは自動的に対応する文字列値に変換されます。

  • ||を使用して、nの入力数を連結することができます。 ここでも、数値データ型を入力することができます。数値データ型は、対応する文字列値に自動的に変換されます。

パラメータ

次の表に、このコマンドで使用されるパラメータを示して説明します。

パラメータ 説明

new_field_name

式の計算値が表示されるフィールドの名前を指定します。

expression

値を計算する必要がある式を指定します。

unitファンクションでサポートされているタイプ

ユニット名:

  • BYTE
  • KILOBYTE | KB
  • MEGABYTE | MB
  • GIGABYTE | GB
  • TERABYTE | TB
  • PETABYTE | PB
  • EXABYTE | EB
  • MICRO | µs
  • MILLISECOND | MS
  • S | SEC | SECS | SECOND | SECONDS
  • M | MIN | MINS | MINUTE | MINUTES
  • H | HR | HRS | HOUR | HOURS
  • D | DAY | DAYS
  • W | WEEK | WEEKS
  • MON | MONTH | MONTHS
  • Y | YR | YRS | YEAR | YEARS
  • PERCENT | PCT

unit機能でサポートされる通貨タイプ

次のフォーマットを使用して、通貨単位を指定します:

eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_k)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_m)
eval <New Field> = unit(<Field>, currency_<ISO-4217 Code>_b)

サフィクス_k_mおよび_bは、それぞれ千、百万または十億の通貨を示すために使用されます。 通貨コードの完全なリストについては、ISO規格を参照してください。

NLS_Territory 通貨
AFGHANISTAN AFN
ALBANIA ALL
ALGERIA DZD
AMERICA USD
ANGOLA AOA
ANTIGUA AND BARBUDA XCD
ARGENTINA ARS
ARMENIA AMD
ARUBA AWG
AUSTRALIA AUD
AUSTRIA EUR
AZERBAIJAN AZN
BAHAMAS BSD
BAHRAIN BHD
BANGLADESH BDT
BARBADOS BBD
BELARUS BYN
BELGIUM EUR
BELIZE BZD
BERMUDA BMD
BOLIVIA ボリビア・ボリビアー
BOSNIA AND HERZEGOVINA BAM
BOTSWANA BWP
BRAZIL BRL
BULGARIA BGN
CAMBODIA KHR
CAMEROON XAF
CANADA CAD
CAYMAN ISLANDS KYD
CHILE CLP
CHINA CNY
COLOMBIA COP
CONGO BRAZZAVILLE XAF
CONGO KINSHASA CDF
COSTA RICA CRC
CROATIA HRK
CURACAO ANG
CYPRUS EUR
CZECH REPUBLIC CZK
DENMARK DKK
DJIBOUTI DJF
DOMINICA XCD
DOMINICAN REPUBLIC DOP
ECUADOR USD
EGYPT EGP
EL SALVADOR SVC
ESTONIA EUR
ETHIOPIA ETB
FINLAND EUR
FRANCE EUR
FYR MACEDONIA MKD
GABON XAF
GEORGIA GEL
GERMANY EUR
GHANA GHS
GREECE EUR
GRENADA XCD
GUATEMALA GTQ
GUYANA GYD
HAITI HTG
HONDURAS HNL
HONG KONG HKD
HUNGARY HUF
ICELAND ISK
INDIA INR
INDONESIA IDR
IRAN IRR
IRAQ IQD
IRELAND EUR
ISRAEL ILS
ITALY EUR
IVORY COAST XOF
JAMAICA JMD
JAPAN JPY
JORDAN JOD
KAZAKHSTAN KZT
KENYA KES
KOREA KRW
KUWAIT KWD
KYRGYZSTAN KGS
LAOS LAK
LATVIA EUR
LEBANON LBP
LIBYA LYD
LIECHTENSTEIN CHF
LITHUANIA EUR
LUXEMBOURG EUR
MACAO MOP
MALAWI MWK
MALAYSIA MYR
MALDIVES MVR
MALTA EUR
MAURITANIA MRU
MAURITIUS MUR
MEXICO MXN
MOLDOVA MDL
MONTENEGRO EUR
MOROCCO MAD
MOZAMBIQUE MZN
MYANMAR MMK
NAMIBIA NAD
NEPAL NPR
NEW ZEALAND NZD
NICARAGUA NIO
NIGERIA NGN
NORWAY NOK
OMAN OMR
PAKISTAN PKR
PANAMA PAB
PARAGUAY PYG
PERU PEN
PHILIPPINES PHP
POLAND PLN
PORTUGAL EUR
PUERTO RICO USD
QATAR QAR
ROMANIA RON
RUSSIA RUB
SAINT KITTS AND NEVIS XCD
SAINT LUCIA XCD
SAUDI ARABIA SAR
SENEGAL XOF
SERBIA RSD
SIERRA LEONE SLL
SINGAPORE SGD
SLOVAKIA EUR
SLOVENIA EUR
SOMALIA SOS
SOUTH AFRICA ZAR
SOUTH SUDAN スタンドアロン販売価格
SPAIN EUR
SRI LANKA LKR
SUDAN SDG
SURINAME SRD
SWAZILAND SZL
SWEDEN SEK
SWITZERLAND CHF
SYRIA SYP
TAIWAN TWD
TANZANIA TZS
THAILAND THB
THE NETHERLANDS EUR
TRINIDAD AND TOBAGO TTD
TUNISIA TND
TURKEY TRY
TURKMENISTAN TMT
UGANDA UGX
UKRAINE UAH
UNITED ARAB EMIRATES AED
UNITED KINGDOM GBP
URUGUAY UYU
UZBEKISTAN UZS
VENEZUELA VES
VIETNAM VND
YEMEN YER
ZAMBIA ZMW
ZIMBABWE ZWL

urlファンクション詳細

url関数の構文は次のとおりです:

url(String, Name, Parameter)

「名前」および「パラメータ」の値はオプションです。

  • 文字列: URLまたは事前定義済短縮名のいずれかにできます。 例:
    eval Link = url('https://www.oracle.com')
  • 名前: URLのオプションの名前。 例:
    eval Link = url('https://www.oracle.com', 'Oracle Home Page')
  • パラメータ: 文字列にショートカットを使用する場合のオプション・パラメータ。 例:
    eval Link = url('tech', 'Search Oracle', 'ORA-600')

一般的なシナリオでのこのコマンドの使用例は、次を参照してください:

次に、evalコマンドの例をいくつか示します。

*|eval newField = 'foo'
*|eval newField = 123
*|eval newField = upper(Target)
*|eval newField = length('hello world')
*|eval newField = replace('aabbcc', 'bb', 'xx')
*|eval newField = concat(host, concat (':', port))
*|eval newField = host || ':'|| port
*|eval newField = url('Destination URL')
*|eval newField = substr('aabbcc', 2, 4)
*|eval newField = round(123.4)
*|eval newField = unit('Content Size', KB)
eval 'File Size (bytes)' = unit('File Size', 'byte')
eval 'File Size (KB)' = unit('File Size'/1024, 'kb')
eval 'File Size (MB)' = unit('File Size'/(1024*1024), 'mb')
eval 'Time Taken (Sec)' = unit('Time Taken (ms)'/1000, 'SEC')
*|eval newField = floor(4096/1024)+Length
*|eval newField = if (max(Length)(Target), length(Severity)) <= 20, 'OK', 'ERROR')
*|eval newField = urldecode('http%3A%2F%2Fexample.com%3A893%2Fsolr%2FCORE_0_0%2Fquery')
*|eval newField = 'Host Name (Destination)' in (host1, host2)

次の例では、フィールドsrvrhostipのIPアドレスをサブネット範囲と比較します。

*|eval newField = if (cidrmatch(srvrhostip, '192.0.2.254/25') = 1, 'local', 'not local')

次の例では、文字列"Target"を返します。

*|eval newField = literal(Target)

次の例では、スペースとタブを両端から削除します。

*|eval newField = trim(Label)

次の例では、一致する文字を両端から削除します。

*|eval newField = trim('User Name',h)

次の例では、一致する文字を左端から削除します。

*|eval newField = ltrim('Error ID',0)

次の例では、一致する文字を右端から削除します。

*|eval newField = rtrim('OS Process ID',2)

次の例では、フィールドdateStart Dateに設定し、日付のフォーマットをMM/dd/yyyy HH:mmとして定義します。

*|eval date = toDate('Start Date', 'MM/dd/yyyy HH:mm')

次の例では、フィールドdurationの値を1.30に設定します。

*|eval duration = toduration("1.30")

次の例では、フィールドdurationの値を、End TimeStart Timeの差である数値に設定します。

*|eval duration = formatDuration('End Time' - 'Start Time')

次の例は、日付関数の使用方法を示しています。

*| eval lastHour = dateAdd(now(), hour, -1)
*| eval midnight = dateSet(now(), hour, 0, minute, 0, sec, 0, msec, 0)
*| eval timeOnly = formatDate(now(), 'HH:mm:ss')
*| eval now = now()

次の例では、フィールドnewFieldの値に、uri文字列内での.comの位置を設定します。

*|eval newField = indexOf(uri, '.com')

md5、sha1およびsha256ハッシュ関数をevalコマンドとともに使用して、ログ・データをフィルタ処理できます。 次の例では、userのフィールド値にsha1("jane")を設定します。

*|eval user = sha1("jane")

サイズまたは期間タイプがunitのフィールドは、リンク分析チャート、addfieldsヒストグラムおよびリンク表の値の書式設定に使用されます:

'Log Source' = 'FMW WebLogic Server Access Logs'
| link span = 5minute Time, Server
| stats avg('Duration')     as 'Raw Avg. Duration'
        avg('Content Size') as 'Raw Avg. Transfer Size'
| eval 'Average Duration'      = unit('Raw Avg. Duration', ms)
| eval 'Average Transfer Size' = unit('Raw Avg. Transfer Size', byte)
| classify 'Start Time', 'Average Duration', 
          'Average Transfer Size' as 'Response Time vs. Download Sizes'

フィールドには、USドル、数千米ドル、数百万ドルまたは数十億USドルが含まれているマークを付けます:

| eval 'Amount in USD' = unit('Sales Price', usd)
| eval 'Amount in Thousands (USD)' = usd('Quarterly Sales', usd_thousand)
| eval 'Amount in Millions (USD)' = usd('Annual Profit', usd_million)
| eval 'Amount in Billions (USD)' = usd('Annual Sales', usd_billion)