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
HTTP method and URI
GET /settings/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 admin: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"
}
Response codes
Possible errors include:
This endpoint isn't available yet.
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 admin:password \
http://10.5.2.54:8091/settings/alerts
-d 'enabled=true&[email protected]&[email protected],[email protected]&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&[email protected]&[email protected],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
HTTP method and URI
POST /settings/alerts/sendTestEmail
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 admin: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=
Response codes
Possible response code include:
200 OK
400 Bad Request: Unknown macro: {"error"} 401 Unauthorized
This endpoint isn't available yet.