私はこの形式のsyslogファイルを持っています。syslogのPython正規表現解析
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: Application Version: 8.44.0
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: Run on system: host
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: Running as user: SYSTEM
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: User has admin rights: yes
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: Start Time: 2016-03-07 13:44:55
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: IP Address: 10.10.10.10
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: CPU Count: 1
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: System Type: Server
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Info: MODULE: Startup MESSAGE: System Uptime: 18.10 days
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: MODULE: InitHead MESSAGE: => Reading signature and hash files ...
Mar 7 13:44:55 host.domain.example.net/10.10.10.10 Application: Notice: MODULE: Init MESSAGE: file-type-signatures.cfg initialized with 80 values.
Mar 7 13:44:56 host.domain.example.net/10.10.10.10 Application: Notice: MODULE: Init MESSAGE: signatures/filename-characteristics.dat initialized with 2778 values.
Mar 7 13:44:56 host.domain.example.net/10.10.10.10 Application: Notice: MODULE: Init MESSAGE: signatures/keywords.dat initialized with 63 values.
Some logs ...
Mar 7 17:42:08 host.domain.example.net/10.10.10.10 Application: Results: MODULE: Report MESSAGE: Results: 0 Alarms, 0 Warnings, 131 Notices, 2 Errors
Mar 7 17:42:08 host.domain.example.net/10.10.10.10 Application: End: MODULE: Report MESSAGE: Begin Time: 2016-03-07 13:44:55
Mar 7 17:42:08 host.domain.example.net/10.10.10.10 Application: End: MODULE: Report MESSAGE: End Time: 2016-03-07 17:42:07
Mar 7 17:42:08 host.domain.example.net/10.10.10.10 Application: End: MODULE: Report MESSAGE: Scan took 3 hours 57 mins 11 secs
「アプリケーションのバージョン」、「ユーザーが管理者権限を持っている」「システム上で実行」を抽出する方法を、「開始時間」、「IPアドレス」、「CPU数」、「システムの種類」、「 「システム稼働時間」、「終了時間」、および「アラーム」、「警告」、「通知」、「エラー」の数はPythonを使用していますか?
実際、私はPythonを初めて使っていますので、実際にどのように行うのか分かりません。私は
def finder(fname,str):
with open(fname, "r") as hand:
for line in hand:
line = line.rstrip()
if re.search(str, line):
return line
)ファインダー(という名前の関数を作るために管理し、私はこれがフルラインを出力します
finder("file path","MESSAGE: IP Address")
でそれを呼び出しますIPアドレスを持つラインを取得するために、私は取得する助けが必要そのipaddress部分、 と他の情報の残りの部分も同様です。
(あなたのタイトルが示すように)場合は、正規表現を使用していますが、どのパターンを試しましたか? –
あなたのコードとエラーがあれば教えてください –
実際には私はPythonを初めて使っていますので、どうやってそれを行うのか分かりません。手でラインの :手としてオープン(fnameは、 "R")と :私はファインダー デフファインダー(fnameは、STR)という名前の関数を作るために管理 ライン= line.rstrip() 再場合。検索(文字列、行): 戻りライン と私は ファインダーでそれを呼び出しますIPアドレスを持つラインを取得する(ファイルパスを、「MESSAGE:IPアドレス」)これは、すべての行を出力します 、私は助けを必要とそのipaddress部分だけを取得し、その他の情報も他の行に含めます。 – Opera