Setting Email Notifications
Alert settings specify whether email alerts are sent and the events that trigger emails. This is a global setting for all clusters. Authentication is required to read this value.
Getting Alert Settings
Email alerts can be dispatched automatically when a significant error occurs — see Email Alerts.
Syntax
Curl request syntax:
curl -u [admin]:[password ]
http://[localhost]:8091/settings/alerts
Raw HTTP request syntax:
GET /settings/alerts HTTP/1.1 Host: [localhost]:8091 Authorization: Basic YWRtaW46YWRtaW4= Accept: */*
Example
Curl request example:
curl -u Administrator:password
http://10.5.2.54:8091/settings/alerts
Raw HTTP request example:
GET /settings/alerts HTTP/1.1 Host: 10.5.2.54:8091 Authorization: Basic YWRtaW46YWRtaW4= Accept: */*
Response
{
"alerts": [
"auto_failover_node",
"auto_failover_maximum_reached",
"auto_failover_other_nodes_down",
"auto_failover_cluster_too_small",
"ip",
"disk",
"overhead",
"ep_oom_errors",
"ep_item_commit_failed"
],
"emailServer": {
"encrypt": false,
"host": "localhost",
"pass": "",
"port": 25,
"user": ""
},
"enabled": false,
"recipients": [
"root@localhost"
],
"sender": "couchbase@localhost"
}
For security reasons, the pass field of the emailServer is always empty.
|
Enabling and disabling email notifications
HTTP method and URI
This is a global setting for all clusters. Authentication is required to change this value. If this is enabled, Couchbase Server sends an email when certain events occur. Only events related to auto-failover trigger notification.
POST /settings/alerts
Possible parameters include:
-
alerts(string) (optional, default: auto_failover_node, auto_failover_maximum_reached, auto_failover_other_nodes_down, auto_failover_cluster_too_small). Comma separated list of alerts that should cause an email to be sent. Possible values are: auto_failover_node, auto_failover_maximum_reached, auto_failover_other_nodes_down, auto_failover_cluster_too_small. -
enabled: (true | false) (required). Whether to enable or disable email notifications -
sender(string) (optional, default: couchbase@localhost). Email address of the sender. -
recipients(string) (required). A comma separated list of recipients of the of the emails. -
emailServer host(string) (optional, default: localhost). Host address of the SMTP server -
emailServer port(integer) (optional, default: 25). Port of the SMTP server -
emailServer encrypt(true | false) (optional, default: false). Whether you want to use TLS or not -
emailServer user(string) (optional, default: ""): Username for the SMTP server -
emailServer pass(string) (optional, default: ""): Password for the SMTP server
Syntax
Curl request syntax:
curl -i -u [admin]:[password]
http://[localhost]:8091/settings/alerts
-d [parameter]
Example
Curl request example:
curl -i -u Administrator:password \
http://10.5.2.54:8091/settings/alerts \
-d 'enabled=true&sender=couchbase@10.5.2.54&recipients=admin@10.5.2.54,membi@10.5.2.54&emailHost= \
10.5.2.54&emailPort=25&emailEncrypt=false'
Raw request example:
POST /settings/alerts HTTP/1.1 Host: 10.5.2.54:8091 Content-Type: application/x-www-form-urlencoded Authorization: Basic YWRtaW46YWRtaW4= Content-Length: 14 enabled=true&sender=couchbase@10.5.2.54&recipients=admin@10.5.2.54,membi@localhost&emailHost= \ 10.5.2.54&emailPort=25&emailEncrypt=false�
Response codes
HTTP/1.1 200 OK
Possible HTTP errors include:
400 Bad Request
401 Unauthorized
JSON object ({"errors": {"key": "error"}}) with errors.
Possible errors returned in a JSON document include:
-
alerts: alerts contained invalid keys. Valid keys are: [list_of_keys].
-
email_encrypt: emailEncrypt must be either true or false.
-
email_port: emailPort must be a positive integer less than 65536.
-
enabled: enabled must be either true or false.
-
recipients: recipients must be a comma separated list of valid email addresses.
-
sender: sender must be a valid email address.
-
general: No valid parameters given.
Sending test emails
Syntax
Curl request syntax:
curl -i -u admin:password
http://localhost:8091/settings/alerts/testEmail \
-d [parameter]
Raw HTTP request syntax
POST /settings/alerts/sendTestEmail HTTP/1.1 Host: [localhost]:8091 Content-Type: application/x-www-form-urlencoded Authorization: Basic YWRtaW46YWRtaW4=
Example
Curl request example:
curl -i -u Administrator:password \
http://10.5.2.54:8091/settings/alerts/testEmail \
-d 'subject=Test+email+from+Couchbase& \
body=This+email+was+sent+to+you+to+test+the+email+alert+email+server+settings.&enabled=true& \
recipients=vmx%4010.5.2.54&sender=couchbase%4010.5.2.54& \
emailUser=&emailPass=&emailHost=10.5.2.54&emailPort=25&emailEncrypt=false& \
alerts=auto_failover_node%2Cauto_ \
failover_maximum_reached%2Cauto_failover_other_nodes_down%2Cauto_failover_cluster_too_small'
Raw HTTP request example:
POST /settings/alerts/sendTestEmail HTTP/1.1 Host: 10.5.2.54:8091 Content-Type: application/x-www-form-urlencoded Authorization: Basic YWRtaW46YWRtaW4=