https://www.splunk.com
  • Splunkサイト
    • Splunk Answers
    • ブログ
    • Community
    • .conf
    • Developers
    • Documentation
    • Splunk.com
    • Splunkbase
    • サポート
    • トレーニング
    • User Groups
    • ビデオ
https://www.splunk.com
  • ブログ
  • カテゴリー
    カテゴリー
    • .conf & SplunkLive!
    • DevOps
    • 業種・業界
    • IT
    • 経営陣
    • Learn
    • パートナー
    • データプラットフォーム
    • セキュリティ
    • Splunk Life
    • Tips
    Category Spot Image
    電子書籍
    外形監視のベストプラクティス Synthetic Monitoringの紹介

    Webサイトのパフォーマンスが広告収入、ユーザーエンゲージメント、SEOランキングに与える影響、外形監視を使ったソリューションを紹介

    詳細はこちら
  • ライター
    ライター
    • Splunk
    • Guest
    • 江藤 愛
    • 大谷 和紀
    • 甲斐 逸郎
    • 加藤 教克
    • 塚本 政彦
    • 仲間 力
    • 野村 健
    • 村田 達宣
    • 矢崎 誠二
    • 山内 一洋
    • 山村 悟史
    • 横田 聡
    • Gary Steele
    • Spiros Xanthos
    • Garth Fort
    • Simon Davies
    • Ryan Kovar
    • Jane Wong
    • ライター一覧
    Author Spot Image
    電子書籍
    SIEM導入ガイド

    適切なSIEMソリューションがどのように役立つかを解説した最新版

    電子書籍を読む
  • メール配信
  • 無料トライアル
https://www.splunk.com 無料トライアル
ブログ
カテゴリー
  • .conf & SplunkLive!
  • DevOps
  • 業種・業界
  • IT
  • 経営陣
  • Learn
  • パートナー
  • データプラットフォーム
  • セキュリティ
  • Splunk Life
  • Tips
ライター
  • Splunk
  • Guest
  • 江藤 愛
  • 大谷 和紀
  • 甲斐 逸郎
  • 加藤 教克
  • 塚本 政彦
  • 仲間 力
  • 野村 健
  • 村田 達宣
  • 矢崎 誠二
  • 山内 一洋
  • 山村 悟史
  • 横田 聡
  • Gary Steele
  • Spiros Xanthos
  • Garth Fort
  • Simon Davies
  • Ryan Kovar
  • Jane Wong
  • ライター一覧
メール配信
Splunkサイト
  • Splunk Answers
  • ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunk.com
  • Splunkbase
  • サポート
  • トレーニング
  • User Groups
  • ビデオ
TIPS & TRICKS

Splunkで演算子を使って効率アップ | evalコマンドおよびwhereコマンドでINを使う

Share:

Splunkからのグッドニュースです。同じフィールド内の異なる値をサーチするのが簡単になりました。

仮に「error_code」というフィールドがあり、その中でコード400、402、404、406だけを見つけるとしましょう。 

同じフィールド内の値のリストをサーチするのに、フィールドと値のペアを何度も入力しなければならないのは、本当に面倒です。しかし、Splunkのバージョン6.6.0より前では、別々のOR条件としてフィールドと値のペアを1つ1つ指定しなければなりませんでした。 

    ...error_code=400 OR error_code=402 OR error_code=404 OR error_code=406...


searchコマンドでINを使う

searchコマンドには大きな改善がいくつか加えられましたが、そのうちの1つがIN演算子です。  IN演算子を使用すれば、フィールドに対して値のリストを指定できます。次の例をご覧ください。

    ... error_code IN (400, 402, 404, 406) | ...


サーチ文字列の最初でsearchコマンドが暗示されているため、指定する必要があるのはフィールド名と値のリストのみです。構文は以下のようにシンプルです。 

    field IN (value1, value2, ...)

注意:IN演算子は大文字で記述する必要があります。

ワイルドカードを値のリストで使用して、似ている値をサーチすることもできます。次の例をご覧ください。 

    ... error_code IN (40*) | ...


このサーチは、イベント内のerror_codeフィールドを調べて、40で始まるコードを持つすべてのイベントを返します。

便利ですね!

searchコマンドでは、この機能は「IN演算子」と呼ばれます。一方、evalコマンドとwhereコマンドでは「IN関数」として実装されます。

evalコマンドおよびwhereコマンドでINを使う

evalコマンドとwhereコマンドでINを使用するには、INをeval関数として使用する必要があります。Splunkのドキュメントでは、「IN関数」と呼ばれています。

また、searchコマンドの場合とは、構文と使い方が若干異なります。

  • IN関数は、リスト内のいずれかの値が、指定されたフィールド内の値と一致したときにTRUEを返します。
  • 文字列値は引用符で囲む必要があります。 
  • ワイルドカード文字を指定して同様の値(HTTPエラーコード、CIDR IPアドレス範囲など)をサーチすることはできません。


サポートされている構文オプションは以下のとおりです。

    ...| eval new_field=if(IN(field,"value1","value2", ...), "value_if_true","value_if_false")
    ...| where field IN("value1","value2", ...)
    ...| where IN(field,"value1","value2", ...)


注意:IN関数は、IN演算子とは異なり、大文字と小文字のどちらでも指定できます。このブログの構文と例では、IN関数をわかりやすく大文字で書いています。

では、比較的単純なwhereコマンドから説明しましょう。

次の例では、whereコマンドを使用して、statusフィールドのいずれかの値がリスト内のいずれかの値と一致した場合にIN=TRUEが返されるようにしています。statusフィールドの値はHTTPステータスコードです。このコードは数値ではなく文字列値であるため、各値を引用符で囲む必要があります。  

    ... | where status IN("400", "401", "403", "404", "406")


この例は、次のようにも記述できます。

    ... | where IN(status,"400", "401", "403", "404", "406")


evalコマンドでのIN関数の使い方は、whereコマンドでの使い方とは異なります。evalコマンドはブール値を受け取れないため、IN関数によって戻されるブール値を処理できる別の関数の中でIN関数を使用する必要があります。

IF関数の最初のパラメーターとしてIN関数を使用する例を見てみましょう。  サーチチュートリアルのデータに含まれているaccess.logファイルを使用します。

次の例では、IN関数をIF関数と一緒に使用してactionフィールドを評価し、続いてstatsコマンドを使用して計算を実行しています。 

    sourcetype=access_combined_wcookie 
    | eval activity=if(IN(action, "addtocart","purchase"),"Purchase Related","Other") 
    | stats count by activity


このサーチでは次のことを行っています。

  • evalコマンドで、activityという名前の新しいフィールドを作成。
  • イベント内のactionフィールドが値addtocartまたはpurchaseを含んでいる場合は、値Purchase Relatedをactivityフィールドに入力。
  • イベント内のactionフィールドにそれ以外の値が含まれている場合は、値Otherをactivityフィールドに入力。
  • statsコマンドが、activityフィールド内の値Purchase RelatedとOtherの数をカウント。 


結果は[Statistics (統計)]タブに表示され、Purchase Relatedアクティビティが発生したイベントの数と、Otherに分類されるアクティビティが発生したイベントの数がわかります。 

結果テーブルができました。これをグラフで表示することもできます。[Visualization (可視化)]タブに切り替えて、グラフの種類を[Pie Chart (円グラフ)]に変更してみましょう。

 

このサーチをダッシュボードパネルやレポートとして保存することもできます。
 


リソース

詳細については、以下のSplunkのドキュメントをご覧ください。

  • サーチチュートリアルのデータファイル
  • searchコマンド
  • IN関数とIF関数(eval関数セットの一部) 
  • evalコマンド
  • whereコマンド

このブログはこちらの英語ブログの翻訳、庄司 大助によるレビューです。

April 06, 2021
Laura Stewart
Posted by

Laura Stewart

Laura unravels the SPL maze, bringing clarity to the murky. She has been a software instructor, wrote books on Excel, PowerPoint, and Project, and spent some very interesting time working at the Defense Intelligence Agency in DC. Laura is a Principal Technical Writer at Splunk, with a focus on the Splunk SPL documentation.

Related Posts

SPLUNK ON TWITTER
  • @Splunk
  • @splunkanswers
  • @SplunkforGood
  • @SplunkDocs
  • @splunkdev
  • @splunkgov
SPLUNK ON FACEBOOK
  • @Facebook
SPLUNK ON INSTAGRAM
  • Follow us on Instagram
SPLUNK ON LINKEDIN
  • Follow us on LinkedIn
SPLUNK ON YOUTUBE
  • Subscribe to our Channel
SPLUNK ON SLIDESHARE
  • Follow us on SlideShare
Splunk製品
  • Splunk Cloud Platform
  • Splunk Enterprise
  • Splunk IT Service Intelligence
  • Splunk On-Call
  • Splunk Enterprise Security
  • Splunk SOAR
  • Splunk Infrastructure Monitoring
  • Splunk APM
ソリューション
  • オブザーバビリティ
  • セキュリティ
  • プラットフォーム
お客様事例
リソース
  • 電子書籍
  • アナリストレポート
  • ホワイトペーパー
  • ウェビナー
  • ビデオ
お問い合わせ
  • サポート
  • 営業へのお問い合わせ
Splunk Sites
  • Splunk Answers
  • 日本語ブログ
  • Community
  • .conf
  • Developers
  • Documentation
  • Splunkbase
  • SplunkLive!
  • T-shirt Store
  • トレーニング
  • User Groups
Splunk
Sitemap | Privacy
© 2005-2023 Splunk Inc. All rights reserved.
Splunk、Splunk>およびTurn Data Into Doingは、米国およびその他の国におけるSplunk Inc.の商標または登録商標です。他のすべてのブランド名、製品名、または商標は、それぞれの所有者に帰属します。