Kompira

Menu Menu

Enterprise Technical information

外部との連携 メールを送信する

サーバー監視でエラーが発生した場合は、ルーチンの処理の成否など、運用の現場では処理の結果を把握しておきたいケースが多々あります。今回の記事ではKompiraからメールを用いて通知を行う方法をご紹介します。


 

動作確認環境

ソフトウェア バージョン
Kompira 1.4.10.post10
LinuxOS CentOS6.10

または

ソフトウェア バージョン
Kompira 1.5.5.post7
LinuxOS CentOS7.8.2003

 


 

今回の記事では「簡単なWebサーバーの監視をする」ジョブフローを利用し、エラーが発生した場合には指定の担当者にメールで通知するジョブフローを作っていきます。

Kompiraよりメールを送信する際にはmailto()を使用します。ここで文字列で記載された表題、文面などで指定されたアドレスに送信されます。

 

mailto( 
to = "tantou@sample.co.jp", 
from = "operator@sample.co.jp", 
subject = "障害通知", 
body = "障害が発生しました。")

 

このように各項目に指定をすると”tantou@sample.co.jp”宛にメールが送信されます。

mailto()の引数は以下の様なものがあります。各項目の詳細はKompiraドキュメントを参照ください。

 

mailto(
to,             # 宛先
from,           # 発信元 
subject,        # 表題
body,           # 本文
### 以降はオプション
[cc,            # cc先アドレス
bcc,            # bcc先アドレス
reply_to,       # 返信先のメールアドレス
html_content,   # htmlメールを送信する際の本文
attach_files,   # 添付ファイル
parents,        # 親メッセージ(mail_parseした結果の辞書)を渡すと、そのメッセージに対する返信としてのメールを送信
headers,        # メールヘッダの追加項目
reply_to_all,   # parents でメールを返信する際にtrueを指定すると、「全員に返信」扱いで送信
inline_content, # 添付ファイルをインライン展開
as_string       # 実際に送信するかわりに、メールヘッダを含むメッセージ全体を文字列化
])

 

さて、Webサーバーの監視ジョブフローは次のようなものでした。

 

|url = "http://www.kompira.jp/"|

urlopen(url) =>
{ if $STATUS != 0 | 
  then:
    print("異常が検出されました")
  elif $RESULT.code != 200 :
    print("異常が検出されました。エラーコードは %{code}" % $RESULT)
  else:
    print("正常です")
}

 

ここでprint()での表示の代わりにmailto()で置き換えてみましょう。

 

|url = "http://www.kompira.jp/"|

urlopen(url) =>
{ if $STATUS != 0 | 
  then: 
    mailto(to = "tantou@sample.co.jp", from = "operator@sample.co.jp",
    subject = "障害通知", body = "異常が検出されました")
  elif $RESULT.code != 200 :
    mailto(to = "tantou@sample.co.jp", from = "operator@sample.co.jp", 
    subject = "障害通知", body = "異常が検出されました。エラーコードは %{code}" % $RESULT)
  else:
    mailto(to = "tantou@sample.co.jp", from = "operator@sample.co.jp", 
    subject = "正常通知", body = "特に異常は認められませんでした。")
}

 

このようにしてジョブフローの処理結果の通知などをメールで送信する事が出来ます。

mailto ジョブで送信したメールの User-Agent ヘッダは “Kompira verX.XX” となります。”X.XX” の部分は Kompira のバージョンが入ります。また、メールの送信はKompiraサーバーのpostfixを通じて行われます。Kompiraからの通知メールが迷惑メールに振り分けされるような場合には、spf認証設定などを別途行う必要があります。

スタートガイド

Kompiraジョブフローの基礎

ジョブフローの簡単な例

Kompiraの機能

外部との連携