cephでHDDが飛んだらメールが届く
基本的にはceph manager(mgr)のアラート機能を使います
非常にシンプルです。cephのconfig値を変更するだけで行けるみたい。
[root@ceph-mgr ~]# ceph mgr module enable alertsと有効にして「ceph config」の項目を設定しします
変更箇所は
[root@ceph-mgr ~]# ceph config ls | grep "mgr/alerts/smtp"
mgr/alerts/smtp_destination
mgr/alerts/smtp_from_name
mgr/alerts/smtp_host
mgr/alerts/smtp_password
mgr/alerts/smtp_port
mgr/alerts/smtp_sender
mgr/alerts/smtp_ssl
mgr/alerts/smtp_user
[root@ceph-mgr ~]#の8項目。
Gmailを使うなら
ceph config set mgr mgr/alerts/smtp_host smtp.gmail.com
ceph config set mgr mgr/alerts/smtp_port 465
ceph config set mgr mgr/alerts/smtp_ssl trueとして smtp.gmail.com の 465 でsslを有効にする必要がある。
「smtp_password」は、Gamilの「アプリパスワード」という物で下記手順で得られます
1.Googleアカウントに入って
2.「セキュリティーとログイン」ページに行って
3.「Googleにログインする方法」欄の「2段階認証プロセス」をクリックします
4.「アプリパスワード」欄がでますので、そこで「>」をクリックして、例えば msmtp とアプリ固有名を付けて「作成」ボタンを押下すると文字列がでます。それが「アプリパスワード」です。
「アプリパスワード」はその「作成」ボタンを押下した瞬間しか表示されないです。閉じると2度と見れません。見落とした、忘れたなら再度作成して作ってください。
下記のように設定を施します。
smtp_destination、smtp_sender、smtp_user、smtp_from_nameは同一のGmailアカウントとしてます
ceph config set mgr mgr/alerts/smtp_host smtp.gmail.com
ceph config set mgr mgr/alerts/smtp_port 465
ceph config set mgr mgr/alerts/smtp_ssl true
ceph config set mgr mgr/alerts/smtp_destination xxxxxxxxxxxxxxxxxxxxxxxxxx@gmail.com
ceph config set mgr mgr/alerts/smtp_sender xxxxxxxxxxxxxxxxxxxxxxxxxx@gmail.com
ceph config set mgr mgr/alerts/smtp_user xxxxxxxxxxxxxxxxxxxxxxxxxx@gmail.com
ceph config set mgr mgr/alerts/smtp_password aaaabbbbccccdddd
ceph config set mgr mgr/alerts/smtp_from_name xxxxxxxxxxxxxxxxxxxxxxxxxx@gmail.comっでテストメールを送信
[root@ceph-mgr ~]# ceph alerts sendだがこの方法はパスワードがだれでも読めてしまします。なのでpostfixとかでSMTPリレーサーバを用意した方が安全かな。
あと、「とりあえずOSD落ちたらメール欲しい」の類。より細かい通知条件、OSD以外の問題での通知をするならPrometheus/Alertmanagerでメール通知がいいかもCeph/Prometheus