
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ vol.27 テストメール環境とBOMアラートフィルター: 試用編
2024年07月15日配信
2025年04月25日更新
執筆者:山内 和朗
弊社製品「BOM for Windows」は、アラート通知や監視結果、ログの送信に電子メール(SMTP)を使用します。このブログで構築したテスト用メール環境は、BOMの動作確認や機能検証にもちろん利用可能です。今回は、BOM 8.0 SR1から製品に同梱されるようになった新ツール「アラートフィルター」を、テスト用メール環境で試用してみました。
アラートフィルターの仕様やシステム要件については、以下の製品コラムをご覧ください。
製品コラム|What’s new in BOM 8.0 SR1: #1 アラートフィルター
前回までの手順でローカルのテスト用メール環境にBOMと、BOMのアラートフィルターの試用環境を構築できました。BOMの監視設定では送受信メールサーバーとして「127.0.0.1」を使用し、メール通知の発信元として「bomadmin@mylab.test」、メール通知の宛先として「collector@mylab.test」を設定しました。そして、BOMのアラートフィルターでは、「collector@mylab.test」宛のメールをフィルターして、「guardian@mylab.test」宛に転送するように設定しました。図1は、このBOMとBOMのアラートフィルターのテスト環境の全体イメージです。1台のWindows Server 2022のローカル環境に、機能の評価やテストに必要なすべての環境が用意できていることに注目してください。
図1 出来上がったBOMとBOMアラートフィルターの評価/テスト環境
BOMのアラートフィルターを導入する前、BOMからのメール通知はすべて「collector@mylab.test」が受信するようになっています(画面1)。その環境にアラートフィルターを導入すると、JSONファイルをサーバーに登録した直後から、「collector@mylab.test」宛のメールはアラートフィルターによって処理され、「guardian@mylab.test」に転送されるようになります(画面2)。受信メールサーバー上のメールボックス「collector@mylab.test」のメールは、アラートフィルターによってダウンロードされると削除されます。
画面1 アラートフィルター導入前は、BOMからのメールは「collector@mylab.test」が受信
画面2 アラートフィルター導入後、BOMから「collector@mylab.test」へのメールは、フィルターの有無に関係なく(フィルターが存在すればフィルターを経て)、「guardian@mylab.test」に転送されるようになる
アラートフィルターに1つ以上のフィルターを作成すると、時間条件、差出人/宛先/CC/表題/本文を対象とした文字列マッチ条件、流量条件を組み合わせたフィルター条件でメールをフィルターし、フィルターに合致したメールを転送対象から除外することができます。
アラートフィルターの設定ツール(http://localhost:8888/login)にログインし、簡単なフィルターを作成して試してみましょう。例えば、現在繰り返し受信している既知のエラーがある場合は、その本文に含まれる文字列を条件にします(画面3)。
画面3 現在、繰り返し受信している既知のエラー通知をフィルター条件にしたフィルターを作成する
アラートフィルターは、受信メールサーバーからダウンロードしたメールと転送したメールをすべてEML形式でローカルに保存します。既定では「AlertFilter」フォルダーのコピー先の「data」フォルダー(ダウンロードしたメール)と「sended」フォルダー(転送したメール)を使用します。これらのフォルダーを確認すると、保存されたメールの数が徐々に変化するのがわかるでしょう。フィルター条件に合致したメールは転送されないため、「data」と「sended」フォルダーの保存メール数の差異で、一部のメールがフィルターされていることを確認できるはずです(画面4)。
画面4 フィルター作成後、ダウンロードメール数(data)と転送されたメール数(sended)の差が徐々に大きくなる
アラートフィルターはBOMのライセンスに含まれるものですが、汎用的なメールフィルターとして動作するため、BOM以外の他のシステムやサービスからのアラートメールをフィルター処理することもできます。また、広告メールや迷惑(スパム)メールも、さまざまな条件でフィルター処理することもできます(画面5、画面6)。アラート通知を受信するメールアドレスが迷惑メールの対象になるとは考えにくいですが、アラートフィルターの機能を理解してもらうのに良いデモになるのではと思いまして、いくつか例になる条件(国別トップレベルドメインの1つである.cnからのメールアドレス、よくある表題など)を定義してみました。
画面5 迷惑メールを除外するフィルターの例
画面6 アラートフィルターの作成後、多くの迷惑メールがフィルターされた(この迷惑メールは本物を再現したもの)