問題タブ [logfile-analysis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - Apache ログ形式: "%{c}a" とはどういう意味ですか?
私は、Apache Web ログ ファイルを解析してデータを別の形式に抽出するという任務を負っています。顧客は、ディレクティブ「%{c}a」を含むフォーマット行を提供してくれました。
「%a」(リモート IP アドレス) の定義は見つかりましたが、角かっこで囲まれた部分が何を意味するかについての参照は見つかりませんでした。
誰かがそれを認識し、それが何を表しているか教えてくれますか?
perl - Perl でファイルのインデックスを作成する
私は現在Perlを初めて使用していますが、問題に遭遇しました:
私の仕事は、Perl で大きなファイルの行にアクセスするための簡単な方法を作成することです。可能な限り最速の方法です。500 万行からなるファイルを作成し、各行に行番号を付けました。次に、特定の行の内容を印刷できるようにする必要があるメイン プログラムを作成しました。これを行うには、インターネットで見つけた 2 つの方法を使用しています。
これらのメソッドは時々機能します。異なる値のセットで 10 回の試行に 1 回値を取得しますが、ほとんどの場合、「test2.pl 行 10 で文字列の初期化されていない値 $line が使用されています」(行 566 を検索するとき) が表示されますファイル) または正しい数値ではありません。さらに、インデックス作成は最初の 200 行ほどで正常に機能しているように見えますが、その後エラーが発生します。私は本当に私が間違っていることを知りません..
各行を解析する基本的なループを使用できることはわかっていますが、ファイルの 1 行を何度も再解析せずにいつでもアクセスできる方法が本当に必要です。
編集:ここにある小さなヒントを使用してみました:非常に大きなファイルで特定の行を行番号ごとに読み取る パックの「N」テンプレートを次のように置き換えました:
128 を取得する代わりに、空白の文字列を取得する 128 行まで、プロセスがより適切に機能します。129 の場合、3 になりますが、これはあまり意味がありません..
Edit2 :基本的に必要なのは、たとえば、既に読み取られているファイルの次の 2 行を読み取ることができるメカニズムですが、読み取りの「先頭」を現在の行 (2 行後ではありません) に保ちます。
ご協力いただきありがとうございます !
hadoop - mapreduce ジョブでマッパーにカスタマイズされた入力を与えることはできますか?
テキストファイルやログファイルをmapreduceで処理したい場合はデフォルトでマッパーの入力値が改行文字まで改行するがログファイルを処理したい
ここで、私のマッパーは 11:40:04,202 から新しいタイムスタンプへの値を取得する必要があります。これは、A が値になり、B 全体が別の値になることを意味します。前もって感謝します助けてください...
parsing - ログファイルの中かっこ内を除いて、スペースで区切られている - Python
私は長年の読者で、初めての質問者です (優しくしてください)。
私は Unix Bash でかなり厄介な WHILE READ でこれを行ってきましたが、Python を学んでおり、より効果的なパーサー ルーチンを作成したいと考えています。
そのため、ほとんどがスペースで区切られているログ ファイルがたくさんありますが、スペースが含まれている可能性がある場所には角かっこが含まれています。区切り文字を探すときに中括弧内のコンテンツを無視する方法は?
(これを行うにはREライブラリが必要だと思います)
つまり、入力例:
望ましい出力:
最初と最後のフィールド (角括弧内にあったもの) にまだスペースが残っていることに気がつくかもしれません。
ボーナス ポイント 14 番目のフィールド (URL) は、常に次のいずれかの形式になります。
htp://google.com/path-data-might-be-here-and-can-contain-special-characters
google.com/path-data-might-be-here-and-can-contain-special-characters
xyz.abc.www.google.com/path-data-might-be-here-and-can-contain-special-characters
google.com:443
- Google COM
ドメイン (つまり、xyz.abc.www.google.com または google.com) だけを含むデータに追加の列を追加したいと思います。
これまで、Unix AWK と IF ステートメントを使用して解析済みの出力を取得し、このフィールドを「/」で分割して、3 番目のフィールドが空白かどうかを確認してきました。存在する場合は、最初のフィールドを返します (存在する場合は : まで)。それ以外の場合は、3 番目のフィールドを返します)。これを行うためのより良い方法があれば、できれば上記と同じルーチンで、それを聞きたいです-最終的な出力は次のようになります。
脚注: サンプルで http を htp に変更したので、気を散らすリンクがたくさん作成されません。
amazon-web-services - Amazon s3 アクセス ログ ファイルの値が正しくありません »送信バイト数«
S3 アクセス ログ ファイルの分析 S3 アクセス ログ ファイル (S3stat および独自のログ ファイル分析) の「1 か月あたりのデータ転送アウト」の値が、請求書の値と大きく異なることに気付きました。
バケットの 1 つからファイルをダウンロードするテストを行ったところ、アクセス ログ ファイルが正しくないようです。
2015 年 3 月 2 日にバケットに zip ファイルをアップロードし、2 つの異なるインターネット接続を使用して完全なファイルを正常にダウンロードしました。1 日後の 2015 年 4 月 2 日に、ログ ファイルを分析しました。残念ながら、両方のエントリの "Bytes Sent" の値は "-" です。Amazons »Server Access Log Format« ( http://docs.aws.amazon.com/AmazonS3/latest/dev/LogFormat.html ) は次のように述べています: »HTTP プロトコルのオーバーヘッドを除く、送信された応答バイト数、または「-」ゼロ。"
対応するエントリは次のようになります。
バケット所有者 バケット [2015/02/03:10:28:41 +0000] RemoteIP - RequestID REST.GET.OBJECT Download.zip "GET /Bucket/Download.zip HTTP/1.1 "200 - - 760 542 2228865159 58" - "" Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 35.0) Gecko / 20100101 Firefox / 35.0 "-
バケット所有者 バケット [2015/02/03:10:28:57+0000] RemoteIP - RequestID REST.GET.OBJECT Download.zip "GET /Bucket/Download.zip HTTP/1.1 "200 - - 860 028 2228865159 23" - "" Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 35.0) Gecko / 20100101 Firefox / 35.0 "-
ご覧のとおり、両方のログの接続時間が非常に長く、»Total Time«: 0:12:40 と 0:14:20 です。
次に、これらの調査結果に基づいて、2014 年 12 月のメイン バケットのログ ファイルを確認しました。2332 の関連エントリ (バケット上のすべての ZIP ファイル) で、860 のエントリにこのエラーが見つかりました。
したがって、Amazon S3 のアクセス ログ ファイルには欠陥があり、分析には役に立たないようです。
誰でも私を助けることができますか?間違えた場合、これらのログ ファイルを確実に評価するにはどうすればよいですか?
ありがとうピーター