diaryこの広告は、90日以上更新していないブログに表示しています。logwatch-5.xそして、ログの種類によって、出力されるメッセージのスタイル、段落の切れ目などもけっこうバラバラなので、うまくparseできる文法をyacc(bison)のスタイルで書くのはかなりしんどそう。みたいな「空白のみを含む行」まで存在する始末。そこで、考えを改めて、既知の「ALERTを出すほどではない」情報のパラグラフのスタイルを定義してみようと考えた。ssh関係のログのsummaryはこんなパラグラフになることが多い。ことはすぐできそうだ。いうのをマーカーにできそうだと考える。あとは、その中身をどう分類するか、なのだが、これがぜんぜん統一感が無い。いくつかの出力結果を見比べて、分かったことはログのグループ分けは空行で行われるらしい各グループの最初の行は、ログのグループの説明か、そのグループで典型的なログでいきなり始まるパラグラフの最初のマーカーの直後に空行があるとは限らないパラグラフの最後のマーカーの前に空行があるとは限らない実際、頼れるのはこれだけのようだった。foundendとりあえず、このスタイルで「見知ったログのパラグラフとそのサブパラグラフ」はだいたい認識できるようになった。あとはregepsのHashをどうやって構成するかだが、JSONで設定ファイルを作って、読み込んでみることにしてみた。上記のSSHDの場合は、こんな感じ↓ところで、マーカーの構造が常に同じなら、start_markerとend_markerの項目は冗長なのだが、実はそうではなかったりするところがミソである。#######"を使うことになったりした。(以下略)}これを読み込むコードは、Rubyだとこんな感じか。Goodiesで紹介されていたものを利用させていただきました。summary(メールで送られてくる)を入力として、自動生成することなのだ。HashからJSONのファイルを作成するJsonBuilderクラスはjsonp.rbに用意されているので、あとはstart/end_markerの例外処理の検出subparagraph_titles_arrayの配列の採取ができれば良い。printed\)/とかいうパラメトリックな形式のものがあるので、自動判別はかなり難しい。たくさんの入力データから得られたパターンを見比べて、最長一致をとるとかするしかないかもしれない。そんな苦労をするくらいなら、ベイジアンフィルタを考えようよ、というのが、数日前の呻きだったのだ。Kindleで読書メモ作ってみた。モーメントにしてみた。本ブログの内容にご注意ください。TLの教育系ベンチャーの存在が自分を勇気付けてくれたRealtimeとは月別アーカイブはてなブログをはじめよう!kgbuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。