Configuring Health Monitor notifications
Page last updated:
This topic describes how to configure notifications from the Health Monitor (HM), which monitors the health of the virtual machines in a Cloud Foundry (CF) deployment.
The HM is a BOSH component that continuously monitors all BOSH-deployed virtual machines (VMs) in a deployment. Each BOSH-deployed VM produces a heartbeat every minute and sends it to the HM, along with status and lifecycle events.
Operators can configure the HM to send an alert through notification plug-ins by editing the BOSH manifest and redeploying.
Step 1: Set up BOSH Director credentials
To enable HM notifications, you must provide the HM with credentials to access the BOSH Director. Perform the procedures below to give the HM the correct credentials.
Open your BOSH manifest and locate
hm: director_account
underproperties
:hm: director_account: ca_cert: "CA-CERT" client_id: UAA-CLIENT-ID client_secret: UAA-CLIENT-SECRET password: PASSWORD user: USERNAME
To enable the HM to access the BOSH Director, do one of the following:
- Provide the
user
andpassword
for a user that can access the BOSH Director, and remove the other lines underdirector_account
. - Provide a UAA client ID for
client_id
, a UAA client secret forclient_secret
, and a certificate to verify the UAA endpoint forca_cert
. Remove the other lines underdirector_account
.
- Provide the
Step 2: Configure notifications
Perform the procedures below to set the logging level of the HM and to configure how you receive notifications.
Locate the
loglevel
property in your BOSH manifest.hm: loglevel: info
This property sets the logging level of the HM. You can set
loglevel
tofatal
,error
,warn
,info
, ordebug
.You can enable notifications by e-mail, PagerDuty, AWS CloudWatch, DataDog, OpenTSDB, and Graphite. Follow the instructions below for the appropriate plug-in.
Configure email
Replace the placeholders with the values appropriate for your deployment.
hm:
email_notifications: true
email_recipients: RECIPIENT1@EXAMPLE.COM, RECIPIENT2@EXAMPLE.COM
smtp:
from: SENDER-ADDRESS
host: SENDER-SMTP-HOST
port: SENDER-SMTP-PORT
domain: SENDER-SMTP-DOMAIN
tls: TRUE-OR-FALSE
auth: SMTP-AUTH-TYPE
user: SMTP-USER
password: SMTP-PASSWORD
email_notifications
: Set totrue
.email_recipients
: Provide a comma-delimited list of recipient addresses.smtp.from
: Provide the email address of the sender of the notifications. For example,notifications@example.com
.smtp.host
: Provide the address of the SMTP server. For example,smtp.example.com
.smtp.port
: Provide the port of the SMTP server. For example,25
,465
, or587
.smtp.domain
: Provide the SMTP EHLO domain. This is typically the server’s FQDN, such ascloudfoundry.example.com
.tls
: Settls
totrue
to enable automatic STARTTLS.auth
: Provide the SMTP authentication type. Onlyplain
is supported.user
: If you setauth
toplain
, provide the username for SMTP authentication.password
: If you setauth
toplain
, provide the password for SMTP authentication.
To customize the contents of your notification email, see the Getting started with the notifications service topic.
Configure PagerDuty
Replace the placeholders with the values appropriate for your deployment.
hm:
pagerduty_enabled: true
pagerduty:
service_key: YOUR-PAGERDUTY-SERVICE-KEY
http_proxy: YOUR-HTTP-PROXY
pagerduty_enabled
: Set totrue
.pagerduty.service_key
: Provide the PagerDuty service API key. For more information about how to generate an API key, see the PagerDuty documentation.pagerduty.http_proxy
: Optionally, provide a HTTP proxy to connect to PagerDuty.
Configure AWS CloudWatch
Replace the placeholders with the values appropriate for your deployment.
hm:
cloud_watch_enabled: true
aws:
access_key_id: YOUR-AWS-ACCESS-KEY-ID
secret_access_key: YOUR-SECRET-AWS-ACCESS-KEY
cloud_watch_enabled
: Set totrue
.aws.access_key_id
: Provide the access key ID for your Amazon Web Services (AWS) account. For more information about Amazon CloudWatch, see the CloudWatch documentation.aws.secret_access_key
: Provide the secret access key for your AWS account.
Configure DataDog
Replace the placeholders with the values appropriate for your deployment.
hm:
datadog_enabled: true
datadog:
api_key:
application_key:
pagerduty_service_name:
datadog_enabled
: Set totrue
.datadog.api_key
: Provide the API key for DataDog. For more information about DataDog, see the DataDog documentation.datadog.application_key
: Provide the HM application key for DataDog.datadog.pagerduty_service_name
: Provide the service name to alert in PagerDuty on HM events.