RundeckからGmailを使ってメール送信する
Rundeckをジョブスケジューラとして使い始めて、メールをGmail経由で送れるようにした。 OSはCentOS7だが、他でも変わらないはず。
Rundeckのインストール
インストールは難しくない。yumで入るはず。
起動もsystemctl start rundeckd.service
でできる。
詳細は割愛
設定
※以下、rundeckの設定は/etc/rundeck配下にあるものとしています。
公式ドキュメントには一応設定はある。 http://rundeck.org/docs/administration/email-settings.html localhostにsmtpサーバーを立てている場合は
grails.mail.host=localhost grails.mail.port=25
でいいらしいが、今回はSSL認証が必要はため別の手段が必要。
rundec-config.groovy
まずはより詳細な設定ができるように設定ファイルをGroovy形式のファイルに置き換える。
rundeck-config.propertiesと同じディレクトリにrundeck-config.groovyを作成する。
デフォルトのpropertiesは使わないので適当にリネームしておく。
$ mv rundeck-config.properties rundeck-config.propertties.bak $ touch rundeck-config.groovy
基本設定はrundeck-config.propertiesと同じになるようにする。 それにメール設定を以下のように設定する。
// #### デフォルト設定 #### loglevel.default="INFO" rdeck.base="/var/lib/rundeck" rss.enabled=false dataSource { dbCreate="update" url="jdbc:h2:file:/var/lib/rundeck/data/rundeckdb;MVCC=true;TRACE_LEVEL_FILE=4" } grails { serverURL="http://localhost:4440" // #### Mail 設定 #### mail { host="smtp.gmail.com" port = 465 username="XXXXXX@gmail.com" password="XXXXXXX" props = ["mail.smtp.auth":"true", "mail.smtp.socketFactory.port":"465", "mail.smtp.socketFactory.class":"javax.net.ssl.SSLSocketFactory", "mail.smtp.socketFactory.fallback":"false"] } }
grails.mail以下に上のようにGmail用の設定を記述すればOK.
起動オプション変更
上記で作成した.groovyファイルを読み込んで起動するように、 CONFIG_DIR/profile
ファイルに以下の行を追加
# Add to load custom config RDECK_JVM="$RDECK_JVM -Drundeck.config.location=/etc/rundeck/rundeck-config.groovy"
systemctl restart rundeckd.service
でちゃんと再起動するか確認。
エラーが出る場合はgroovyファイルに間違いがないかどうか確認する。
ジョブ作成
メールは送信できるようになっているはずなので、あとはNotificationにメールを設定するだけだ。
うーん、それにしてもRundeckが相当DiskIO食ってるんだけどなんでだろう。。IO waitかなり出ている。。