Watcher email action

email アクションを使用して、メール通知を送信します。メールを送信するには、elasticsearch.yml少なくとも1つのメールアカウントを構成する 必要があります。

メール通知はプレーンテキストまたはHTMLを使用してスタイルを設定できます。 テンプレート を使用して、ウォッチ実行ペイロードからの情報を含めることができ、メッセージにウォッチペイロード全体を添付できます。

サポートされている属性については、Email action attributes を参照してください。メールアクション定義に欠けている属性は、メールアカウント構成で検索されます。必要な属性は、メールアクション定義またはアカウントの email_defaults に設定する必要があります。

Configuring email actions

actions 配列でメールアクションを構成します。アクション固有の属性は、email キーワードを使用して指定されます。

たとえば、次のメールアクションは、テンプレートを使用してウォッチペイロードからのデータをメール本文に含めます:

Js

  1. "actions" : {
  2. "send_email" : {
  3. "email" : {
  4. "to" : "[email protected]",
  5. "subject" : "Watcher Notification",
  6. "body" : "{{ctx.payload.hits.total}} error logs found"
  7. }
  8. }
  9. }
アクションのID。
アクションタイプは email に設定されています。
メールを送信するための1つ以上のアドレス。アクション定義またはメールアカウント構成で指定する必要があります。
メールの件名には静的テキストとMustache テンプレート を含めることができます。
メールの本文には静的テキストとMustache テンプレート を含めることができます。アクション定義またはメールアカウント構成で指定する必要があります。

Configuring email attachments

実行コンテキストペイロードまたは任意のHTTPサービスからのデータをメール通知に添付できます。構成できる添付ファイルの数に制限はありません。

添付ファイルを構成するには、添付ファイルの名前と添付タイプを指定します: datahttp または reportingdata 添付タイプは、実行コンテキストペイロードをメールメッセージに添付します。http 添付タイプを使用すると、HTTPリクエストを発行し、その応答をメールメッセージに添付できます。http 添付タイプを構成する際は、リクエストURLを指定する必要があります。reporting 添付タイプは、KibanaからレンダリングされたPDFダッシュボードを含めるための特別なタイプです。このタイプは、ダッシュボードのレンダリングが完了したかどうかをKibanaアプリに定期的にポーリングし、ファイアウォールやロードバランサーによって中断される可能性のある長時間のHTTP接続を防ぎます。

Js

  1. "actions" : {
  2. "email_admin" : {
  3. "email": {
  4. "to": "John Doe <[email protected]>",
  5. "attachments" : {
  6. "my_image.png" : {
  7. "http" : {
  8. "content_type" : "image/png",
  9. "request" : {
  10. "url": "http://example.org/foo/my-image.png"
  11. }
  12. }
  13. },
  14. "dashboard.pdf" : {
  15. "reporting" : {
  16. "url": "http://example.org:5601/api/reporting/generate/dashboard/Error-Monitoring"
  17. }
  18. },
  19. "data.yml" : {
  20. "data" : {
  21. "format" : "yaml"
  22. }
  23. }
  24. }
  25. }
  26. }
  27. }
添付ファイルのID。これはメール添付のファイル名として使用されます。
添付ファイルのタイプとその特定の構成。
添付ファイルを取得するためのURL。
データ添付は、フォーマットを指定しない場合、デフォルトでJSONになります。

Table 83. http 添付タイプ属性


| 名前 | 説明 |
| :— | :— |
| content_type | メール添付のコンテンツタイプを設定します。デフォルトでは、
レスポンスから抽出されます。
HTTPサービスによって送信されます。レスポンスがコンテンツタイプを指定しない場合や、誤って指定されている場合に、正しく設定されるように明示的にコンテンツタイプを指定できます。オプションです。 |
| inline | inline で送信される添付ファイルとして構成します。これにより、HTML本文に埋め込まれた画像を使用でき、特定のメールクライアントで表示されます。オプションです。デフォルトは false です。 |
| request | HTTPリクエスト属性を含みます。最低限、url 属性を指定して、サービスエンドポイントへのホストとパスを構成する必要があります。完全なHTTPリクエスト属性のリストについては、Webhook action attributes を参照してください。必須です。 |

Table 84. data 添付タイプ属性


| 名前 | 説明 |
| :— | :— |
| format | ウォッチデータを添付します。これは、ウォッチ構成で attach_data を指定することに相当します。可能な値は json または yaml です。
指定しない場合、デフォルトは json です。 |

Table 85. reporting 添付タイプ属性


| 名前 | 説明 |
| :— | :— |
| url | ダッシュボード作成をトリガーするためのURL |
| inline | inline で送信される添付ファイルとして構成します。これにより、HTML本文に埋め込まれた画像を使用でき、特定のメールクライアントで表示されます。オプションです。デフォルトは false です。 |
| retries | レポート添付タイプは、作成されたPDFを受信するために定期的にポーリングしようとします。これにより、再試行の回数が構成されます。デフォルトは 40 です。
設定 xpack.notification.reporting.retries は、デフォルトを変更するためにグローバルに構成できます。 |
| interval | 2回のポーリング試行の間に待機する時間。デフォルトは 15s です(これは、デフォルトでウォッチャーが10分間ダッシュボードをダウンロードしようとし、40回15秒間待機することを意味します)。設定 xpack.notification.reporting.interval は、デフォルトを変更するためにグローバルに構成できます。 |
| auth | リクエストの追加認証構成。詳細については、use watcher を参照してください。 |
| proxy | リクエストの追加プロキシ構成。値の構成方法については、HTTP input attributes を参照してください。 |

Attaching reports to an email

reporting 添付タイプを email アクションで使用して、Kibanaレポートを自動的に生成し、メールで配布できます。

Automating report generation を参照してください。

Email action attributes

名前 必須 デフォルト 説明
account いいえ デフォルトアカウント メールを送信するために使用する メールアカウント
from いいえ - メールが送信される アドレスfrom フィールドには、Mustache テンプレート を含めることができ、これは有効なメールアドレスに解決される必要があります。
to はい - to 受信者のメール アドレスto フィールドには、Mustache テンプレート を含めることができ、これは有効なメールアドレスに解決される必要があります。
cc いいえ - cc 受信者のメール アドレスcc フィールドには、Mustache テンプレート を含めることができ、これは有効なメールアドレスに解決される必要があります。
bcc いいえ - bcc 受信者のメール アドレスbcc フィールドには、Mustache テンプレート を含めることができ、これは有効なメールアドレスに解決される必要があります。
reply_to いいえ - メッセージの Reply-To ヘッダーに設定されるメール アドレスreply_to フィールドには、Mustache テンプレート を含めることができ、これは有効なメールアドレスに解決される必要があります。
subject いいえ - メールの件名。件名は静的テキストであるか、Mustache テンプレート を含めることができます。
body いいえ - メールの本文。このフィールドが文字列を保持している場合、メールのテキスト本文にデフォルトされます。オブジェクトとして設定して、テキストまたはHTML本文のいずれか、または両方(以下のフィールドを使用)を指定します。
body.text いいえ - メールのプレーンテキスト本文。本文は静的テキストであるか、Mustache テンプレート を含めることができます。
body.html いいえ - メールのHTML本文。本文は静的テキストであるか、Mustache テンプレート を含めることができます。この本文は、スクリプトなどの危険なコンテンツを削除するためにサニタイズされます。この動作は、xpack.notification.email.html.sanitization.enabled: false を設定することで無効にできます。
priority いいえ - このメールの優先度。有効な値は: lowestlownormalhigh および highest です。優先度には、Mustache テンプレート を含めることができ、これは有効な値の1つに解決される必要があります。
attachments いいえ - ウォッチペイロード(data 添付)またはHTTPサービスから取得したファイル(http 添付)をメールに添付します。詳細については、Configuring Email Attachments を参照してください。
attach_data いいえ false ウォッチ実行データをメールに添付する必要があるかどうかを示します。ブール値またはオブジェクトを指定できます。attach_datatrue に設定されている場合、データはYAMLファイルとして添付されます。この属性は非推奨です。attachments 属性を使用して、ウォッチペイロードを添付する data 添付を追加します。
attach_data.format いいえ yaml attach_data がオブジェクトとして指定されている場合、このフィールドは添付データのフォーマットを制御します。サポートされているフォーマットは jsonyaml です。この属性は非推奨です。attachments 属性を使用して、ウォッチペイロードを添付する data 添付を追加します。

  • Email Address
  • メールアドレスは、アドレス自体と、RFC 822 で説明されているオプションの個人名の2つの部分を含むことができます。アドレスは、[email protected] または Personal Name <[email protected]> の形式の文字列として表すことができます。メールアドレスを、name および address フィールドを含むオブジェクトとして指定することもできます。

  • Address List
  • アドレスのリストは、配列として指定できます: [ 'Personal Name <[email protected]>', '[email protected]' ].

Configuring email accounts

ウォッチャーは、任意のSMTPメールサービスを使用してメールを送信できます。メールメッセージには基本的なHTMLタグを含めることができます。許可されるタグのグループを制御するには、Configuring HTML Sanitization Options を参照してください。

ウォッチャーがメールを送信するために使用できるアカウントを、xpack.notification.email 名前空間の elasticsearch.yml で構成します。指定されたSMTPユーザーのパスワードは、Elasticsearch keystore に安全に保存されます。

メールアカウントが2段階認証を必要とするように構成されている場合、ウォッチャーからメールを送信するには、ユニークなアプリパスワードを生成して使用する必要があります。プライマリパスワードを使用すると、認証に失敗します。

ウォッチャーは、MIMEメッセージの構造を制御する3つのメールプロファイルを提供します: standard (デフォルト)、gmail、および outlook。これらのプロファイルは、さまざまなメールシステムがMIME標準を解釈する方法の違いに対応しています。GmailまたはOutlookを使用している場合は、対応するプロファイルを使用することをお勧めします。他のメールシステムを使用している場合は、standard プロファイルを使用してください。

さまざまなメールシステムでウォッチャーを構成する方法についての詳細は、次を参照してください:

複数のメールアカウントを構成する場合は、デフォルトアカウントを構成するか、email アクションでメールを送信するアカウントを指定する必要があります。

Yaml

  1. xpack.notification.email:
  2. default_account: team1
  3. account:
  4. team1:
  5. ...
  6. team2:
  7. ...

Sending email from Gmail

Gmail SMTPサービスからメールを送信するための以下のメールアカウント設定を使用してください:

Yaml

  1. xpack.notification.email.account:
  2. gmail_account:
  3. profile: gmail
  4. smtp:
  5. auth: true
  6. starttls.enable: true
  7. host: smtp.gmail.com
  8. port: 587
  9. user: <username>

アカウントSMTPパスワードを保存するには、keystoreコマンドを使用します(secure settings を参照)。

Yaml

  1. bin/elasticsearch-keystore add xpack.notification.email.account.gmail_account.smtp.secure_password

ウォッチャーがメールを送信しようとしたときに、Webブラウザからサインインプロセスを続行する必要があることを示す認証エラーが発生した場合、Gmailを構成して Allow Less Secure Apps to access your account を許可する必要があります。

アカウントに2段階認証が有効になっている場合、ウォッチャーからメールを送信するには、ユニークなアプリパスワードを生成して使用する必要があります。詳細については、Sign in using App Passwords を参照してください。

Sending email from Outlook.com

Outlook.com SMTPサービスからメールアクションを送信するための以下のメールアカウント設定を使用してください:

Yaml

  1. xpack.notification.email.account:
  2. outlook_account:
  3. profile: outlook
  4. smtp:
  5. auth: true
  6. starttls.enable: true
  7. host: smtp-mail.outlook.com
  8. port: 587
  9. user: <email.address>

アカウントSMTPパスワードを保存するには、keystoreコマンドを使用します(secure settings を参照)。

Yaml

  1. bin/elasticsearch-keystore add xpack.notification.email.account.outlook_account.smtp.secure_password

メールを送信する際には、アカウント構成のデフォルトアドレスまたはウォッチ内のメールアクションの一部として、送信元アドレスを提供する必要があります。

2段階認証が有効になっている場合は、ユニークなアプリパスワードを使用する必要があります。詳細については、App passwords and two-step verification を参照してください。

Sending email from Amazon SES (Simple Email Service)

Amazon Simple Email Service (SES) SMTPサービスからメールを送信するための以下のメールアカウント設定を使用してください:

Yaml

  1. xpack.notification.email.account:
  2. ses_account:
  3. email_defaults:
  4. from: <email address of service account>
  5. smtp:
  6. auth: true
  7. starttls.enable: true
  8. starttls.required: true
  9. host: email-smtp.us-east-1.amazonaws.com
  10. port: 587
  11. user: <username>
特定のケースでは、email_defaults.from がAmazon SESによって検証され、
有効なローカルメールアカウントであることが確認されます。
smtp.host は地域によって異なります。

アカウントSMTPパスワードを保存するには、keystoreコマンドを使用します(secure settings を参照)。

Yaml

  1. bin/elasticsearch-keystore add xpack.notification.email.account.ses_account.smtp.secure_password

Amazon SESを通じてメールを送信するには、Amazon SES SMTP資格情報を使用する必要があります。詳細については、Obtaining Your Amazon SES SMTP Credentials を参照してください。また、AWSで your email address または your whole domain を確認する必要がある場合もあります。

Sending email from Microsoft Exchange

Microsoft Exchangeからメールアクションを送信するための以下のメールアカウント設定を使用してください:

Yaml

  1. xpack.notification.email.account:
  2. exchange_account:
  3. profile: outlook
  4. email_defaults:
  5. from: <email address of service account>
  6. smtp:
  7. auth: true
  8. starttls.enable: true
  9. host: <your exchange server>
  10. port: 587
  11. user: <email address of service account>
一部の組織は、from フィールドが有効なローカルメールアカウントであることを検証するようにExchangeを構成します。
多くの組織は、ユーザー名としてメールアドレスを使用することをサポートしていますが、認証関連の失敗が発生した場合は、システム管理者に確認することをお勧めします。

アカウントSMTPパスワードを保存するには、keystoreコマンドを使用します(secure settings を参照)。

Yaml

  1. bin/elasticsearch-keystore add xpack.notification.email.account.exchange_account.smtp.secure_password

Configuring HTML sanitization options

email アクションは、HTML本文を持つメッセージの送信をサポートしています。ただし、セキュリティ上の理由から、ウォッチャーはHTMLを サニタイズ します。

xpack.notification.email.html.sanitization.allow および xpack.notification.email.html.sanitization.disallow 設定を elasticsearch.yml で構成することにより、許可または不許可のHTML機能を制御できます。個々のHTML要素や HTML機能グループ を指定できます。デフォルトでは、ウォッチャーは次の機能を許可します: bodyhead_tables_links_blocks_formatting および img:embedded

たとえば、次の設定では、HTMLにテーブルやブロック要素を含めることができますが、<h4><h5> および <h6> タグは許可されません。

Yaml

  1. xpack.notification.email.html.sanitization:
  2. allow: _tables, _blocks
  3. disallow: h4, h5, h6

サニタイズを完全に無効にするには、elasticsearch.yml に次の設定を追加します:

Yaml

  1. xpack.notification.email.html.sanitization.enabled: false