IIS 8.5のログファイルに問題がありますが、AWstatsを使用して問題を処理したいと思います。私のIISサーバーはロードバランサーの背後にあるので、カスタムロギングフィールドX-FORWARDED-FORを追加する必要があります。ただし、これによりログファイルがやや汚れてしまいます。
2015-04-10 11:34:52 20000004f+OriginalIP+66.249.67.21+ HV-WEB-01 [etc]
2015-04-10 11:35:31 20000004f$OriginalIP+127.0.0.1,+136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 11:35:31 20000004f$OriginalIP+127.0.0.1,+136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 21:05:38 20000004f%OriginalIP+10.10.1.7,+89.221.243.229+ HV-WEB-01 [etc]
2015-04-10 21:05:38 20000004f%OriginalIP+10.10.1.7,+89.221.243.229+ HV-WEB-01 [etc]
2015-04-10 21:06:49 20000004f+OriginalIP+2.150.2.19+ HV-WEB-01 [etc]
今はロードバランサーの男性/女性が見つかりませんでした。 OriginalIP +10.20.30.40+"すべての項目を含む検索/置換を実行して、迅速で汚れた問題を解決したい。30.40"。
アップデート:最初に思ったよりも多くの変更があるようです...
答え1
これは末尾を除くすべてを処理します+
。
sed 's/ [^+ ]*+*\([0-9.]*\)[,+]*/ \1 /2' <<\IN
2015-04-10 11:35:31 20000004f$OriginalIP+127.0.0.1,+136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 11:35:31 20000004f$OriginalIP+127.0.0.1,+136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 21:05:38 20000004f%OriginalIP+10.10.1.7,+89.221.243.229+ HV-WEB-01 [etc]
2015-04-10 21:05:38 20000004f%OriginalIP+10.10.1.7,+89.221.243.229+ HV-WEB-01 [etc]
IN
印刷されます...
2015-04-10 11:35:31 127.0.0.1 136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 11:35:31 127.0.0.1 136.243.19.46+ HV-WEB-01 [etc]
2015-04-10 21:05:38 10.10.1.7 89.221.243.229+ HV-WEB-01 [etc]
2015-04-10 21:05:38 10.10.1.7 89.221.243.229+ HV-WEB-01 [etc]
これは、区切り文字として使用したい文字にフィールドが連結されているためです。正直言って、ちょっと残念です。しかし、修正するのは簡単です:
sed 's/ [^+ ]*+*\([0-9.]*\)[,+]*/ \1 /2;s/+ / /' <infile
答え2
sed 's/20000000f+OriginalIP+\([0-9.]*\)+/\1/' <yourlog >newlog
これがyourlog
変更したいログであるとします。変更されたログはに保存されますnewlog
。