Evalコマンド
式の値を計算し、その値を新しいフィールドに表示するには、eval
コマンドを使用します。
構文
コマンドで使用できる演算子と関数
ノート:
stats
コマンドは既存のフィールドに基づいて統計を計算しますが、eval
コマンドは既存のフィールドと任意の式を使用して新しいフィールドを作成します。
*|eval <new_field_name>=<expression>
次の表に、eval
コマンドで使用できる演算子を示します。
カテゴリ | 例 |
---|---|
算術演算子 |
+ , - , * , / , % |
比較演算子 |
= , != , < , > , <= , >= |
論理演算子 |
and , or , not |
条件付き演算子 |
if(<expression>,<expression>,<expression>) |
複数の比較演算子 |
in , not in |
次の表に、eval
コマンドで使用可能な機能を示します。
カテゴリ | 例 |
---|---|
文字列関数 |
|
数値関数 |
|
日付関数 |
|
ネットワーク関数 |
|
ノート:
-
concat()
関数では、integer、float、longなどの数値データ型を入力できます。 数値フィールドは自動的に対応する文字列値に変換されます。 -
||
を使用して、nの入力数を連結することができます。 ここでも、数値データ型を入力することができます。数値データ型は、対応する文字列値に自動的に変換されます。
パラメータ
次の表に、このコマンドで使用されるパラメータを示して説明します。
パラメータ | 説明 |
---|---|
|
式の計算値が表示されるフィールドの名前を指定します。 |
|
値を計算する必要がある式を指定します。 |
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')
一般的なシナリオでのこのコマンドの使用例は、次を参照してください:
- 「Oracle Log Analyticsの使用」の「問合せの編集によるフィールド名の変更」
- 「Oracle Log Analyticsの使用」の「ヒストグラム・チャート・オプション」
- 「Oracle Log Analyticsの使用」の「リンク・トレンド機能を使用した時系列データのビジュアル化」
- 「Oracle Log Analyticsの使用」の「仮想フィールドでチャートを生成」
- 「Oracle Log Analyticsの使用」の「分析のフィールドとしてSQL文を使用したリンク」
- 「Oracle Log Analyticsの使用」の「トランザクション内のステップ間にかかる時間の分析」
- 「Oracle Log Analyticsの使用」の「リンク・ナビゲーション関数を使用したデータベース内のイベントの識別」
- 「Oracle Log Analyticsの使用」の「ログ分析での通貨記号の使用」
次に、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)
次の例では、フィールドdate
をStart 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 Time
とStart 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)