Ruby_PHP チュートリアルのターミナル コマンド ラインでの grok 式のデバッグ

WBOY
リリース: 2016-07-13 10:16:11
オリジナル
923 人が閲覧しました

Ruby のターミナル コマンド ラインで grok 式をデバッグする

logstash を使用する人なら誰でも、http://grokdebug.herokuapp.com で grok 正規表現をデバッグできることを知っています。ここで疑問が生じます: どの企業が最も優れた回避技術を持っていますか? このページは Google ドメイン名の js ファイルを使用しているため、アクセスが頻繁に失敗します。したがって、ターミナル上のコマンド ラインを使用した迅速なデバッグが必要になりました。

実際、logstash がまだ 1.1 だったとき、公式 wiki には、irb を通じて grok 式を対話的にテストする方法をみんなに教えたグループがありました。しかし、なぜこの Wiki ページが後で消えたのかはわかりません...幸いなことに、コード自体は複雑ではなく、数行のスクリプトを記述するだけで目的を達成できます。

コードは次のとおりです#!/usr/bin/env ルビー

测试一下:

「rubygems」が必要です
gem 'jls-grok', '=0.11.0'
「grok-pure」が必要です
「optparse」が必要です
「ap」が必要です
オプション = {}
ARGV.push('-h') ARGV.size === 0の場合
OptionParser.new は |opts|
を実行します opts.banner = '端末で grokdebug を実行します。'
options[:dirs] = %w(パターン)
options[:named] = false
opts.on('-d DIR1,DIR2', '--dirs DIR1,DIR2', Array, 'grok パターン ディレクトリを設定します。デフォルト: "./patterns"') do |value|
options[:dirs] = 値
終了
opts.on('-m メッセージ', '--msg メッセージ', '一致する生のメッセージ') do |value|
オプション[:メッセージ] = 値
終了
opts.on('-p PATTERN', '--pattern PATTERN', 'コンパイルされる grok パターン') do |value|
オプション[:パターン] = 値
終了
opts.on('-n', '--named', '名前付きキャプチャのみ') do
options[:named] = true
終了
終了.解析!
grok = Grok.new
options[:dirs].each は |dir|
を実行します if File.directory?(dir)
dir = File.join(dir, "*")
終わり
Dir.glob(dir).each は |file|
を実行します Grok.add_patterns_from_file(ファイル)
終わり
終わり
grok.compile(オプション[:パターン], オプション[:名前付き])
ap grok.match(options[:message]).captures()
代码如下
$ sudo gem install jls-grok awesome_print
$ ルビー grokdebug.rb
ターミナルで grokdebug を実行します。
    -d, --dirs DIR1,DIR2 grok パターンのディレクトリを設定します。デフォルト: 「./パターン」
    -m, --msg メッセージ 一致する生のメッセージ
    -p, --pattern PATTERN コンパイルされる grok パターン
    -n, --named 名前付きキャプチャのみ
$ Ruby grokdebug.rb -m 'abc123' -p '%{NUMBER:test}'
{
         "テスト" => [
        [0]「123」
    ]、
    "BASE10NUM" => [
        [0]「123」
    】
}
$ Ruby grokdebug.rb -m 'abc123' -p '%{NUMBER:test:float}' -n
{
    "テスト" => [
        [0] 123.0
    】
}

問題はありませんが、これは grokdebug ウェブサイトよりも多くのタイプ変換の機能を備えています。その使用する jls-grok は 0.10.10 バージョンですが、私が使用するのは最新の 0.11.0 バージョンです。

http://www.bkjia.com/PHPjc/898888.html

tru​​ehttp://www.bkjia.com/PHPjc/898888.html技術記事 Ruby では、logstash を使用して、http://grokdebug.herokuapp.com 上で grok 正表表示式を終端コマンド実行上で調整しています。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート