7) 日々の更新記録/DailyUpdates このエントリーをはてなブックマークに追加

bounceHammerによって解析されたデータの記録数

bounceHammerは解析したバウンスメールを構造化したデータとして出力し、databasectlコマンドがデータベースへの書き出しを行い、バウンス記録として蓄積します。

bounceHammer 2.5.0から登場した新機能DailyUpdates(日々の更新記録)は、databasectlコマンドが処理したバウンスの数を、それぞれ処理結果に基づいてデータベース(t_dailyupdatesテーブル)に記録します。 記録された数値は、summarizer --dailyupdatesで参照したり、表計算ソフトで分析・加工するためにCSV形式で出力したり、WebUI(ブラウザベースの管理画面)で参照する事が出来ます。

WebUI(管理画面)用CGIを設置している場合は、ブラウザで見たほうが見やすいでしょう。InternetExplorer以外のブラウザで見た場合はページ上部にグラフが表示されます。

記録される数値と各項目

thedate - 日付

thedateは、バウンスが発生した日の日付をYYYY-MM-DDの形式で文字列として保持しています。

inserted - 新規登録数

insertedは、その日に発生したバウンスのうち、データベースに新規登録した数として記録されます。bounceHammerのデータベースは、発信者アドレスと宛先アドレスの組み合わせを基準として記録します。データベース上にまだ記録されていない宛先アドレスがバウンスした場合、あるいはデータベース上に存在する宛先アドレスと別の発信者アドレス(複数のFromアドレスを使用している場合)の組み合わせでバウンスした場合、このinsertedの数値として記録されます。

宛先アドレスと発信者アドレスの組み合わせについてはデータ構造のページ最下部、tokenの項目を確認してください。

updated - 既存更新数

updatedは、その日に発生したバウンスのうち、データベースに存在する同じ宛先アドレスと発信者アドレスの組み合わせを更新した数として記録されます。前述通り、bounceHammerのデータベースは、発信者アドレスと宛先アドレスの組み合わせを基準として記録します。

同じ組み合わせがある場合は

その日に発生したバウンスのうち、既にデータベース上に同じ宛先アドレスと発信者アドレスの組み合わせであるバウンス記録が存在する場合、bounceHammerのdatabasectlコマンドは、Frequency(差戻回数)を1増やし、bounced(バウンスした日時)やエラー理由等を新しいデータで上書きします。updatedはその上書きをした数として記録されます。

Frequency(差戻回数)やbounced(バウンス日時)についてはデータ構造のページのfrequency,bouncedの項目を確認してください。

skipped - 処理省略数

skippedは、その日に発生したバウンスのうち、データベースに存在する同じ宛先アドレスと発信者アドレスの組み合わせを更新しなかったとして記録されます。つまり前述のupdatedの対象となりながらもデータベースの記録を更新しなかった数です。

更新しない理由

bounceHammerがデータベース上に存在する同じ宛先アドレスと発信者アドレスの組み合わせのバウンス記録を更新しない理由はいつくかありますが、

  1. databasectlコマンドが処理をするバウンス記録が、データベース上にあるものよりも古い場合(古いデータで上書きしない為)
  2. バウンスした発信者アドレスのドメイン部分が、データベースの発信者ドメイン(senderdomains)テーブルに存在しない(管理下にないドメインのバウンス記録は書き込まない)

の2点が更新をしない主な理由です。skippedはこれらに該当した場合の更新しなかった数として記録されます。

failed - 処理失敗数

failedは、その日に発生したバウンスをデータベースに記録する過程で、databasectlコマンドが処理に失敗した数を記録します。通常はこの項目の数値が0以上になることはありません。この項目に0以上の数値が記録されている場合、なんらかのエラーが発生した事を意味します。

executed - コマンド実行回数

executedは、databasectlコマンドを実行した回数を記録します。後述の推定バウンス数を算出するためだけに使用されます。

estimated - 推定バウンス数

estimatedは、その日に発生したバウンスの推定値を表します。この項目はデータベース上にはカラムとして存在しません。summarizer --dailyupdatesが出力する結果、またはWebUI(管理画面)を出力する段階で数式: 新規登録数(inserted) + 既存更新数(updated) + 処理省略数(skipped) / コマンド実行回数(executed) によって算出されます。

推定値?

推定とあるのは、databasectlコマンドが、同じバウンス記録のログファイル(YAML)を複数回処理した場合に、処理省略数(skipped)が実行回数分だけ増大しする為です。運用段階で同じバウンス記録のログファイルを複数回処理をしないようにしていれば、この数値はほぼ正確なその日のバウンス数を表します。

modified - 最終更新日

modifiedは、その日のバウンス記録を最後に更新した日を表します。例えば古いバウンスメールを解析して、その解析結果が2005/04/29のものであった場合、そのバウンス記録を2010/08/31にdatabasectlコマンドで処理すると、処理された数は thedateが2005-04-29になっている各カラムに記録され、その行のmodifiedは2010/08/31の処理時間(UNIX時間)となります。

コマンドラインツールでは

bin/databasectlコマンドに-vをたくさん、あるいは-B(--batch)オプションを付けて実行すると、inserted(新規登録数)・updated(既存更新数)・skipped(処理省略数)・failed(処理失敗数)が表示されます。databasectlコマンドを実行しても記録がデータベースに入らない・更新されない場合は-B, -vオプションを付けてその場で確認するとよいでしょう。

No TrackBacks

TrackBack URL: http://bouncehammer.jp/cgi-bin/mt/mt-tb.cgi/11

Leave a comment







Pages