The monitorSetRule Web API Method
Add/modify a monitor rule.
Version: 1.3
Required Permissions: Full
HTTP method: POST
Supported by Editions: Zend Server
Request Parameters:
Parameter |
Type |
Required |
Description |
rulesIds |
Integer |
Yes |
The ruleId of the rule to be set. -1 for new rule |
ruleProperties |
Array |
Yes |
Associative array with the following mandatory rule properties: "rule_type_id", "rule_parent_id", "app_id", "name", "enabled" (1|0), "description", "url" and the following optional property: "creator" (0|1|2) - creator field with value “0” indicates that this is a Global rule, while value “1” indicates that this is a user defined rule and value“2” indicates that this rule originated from an application package. Default value is 1 |
ruleConditions |
Array |
No |
Optional Array of conditions, each condition should have the following list of properties: "condition_id", "operation", "attribute", "operand" . |
ruleTriggers |
Array |
Yes |
List of triggers. Each trigger is an associative array, with the following properties: triggerProperties - Mandatory Array with the following properties: "severity" (integer), "trigger_id" triggerConditions - Optional Array of conditions, each condition should have the following list of properties: "condition_id", "operation", "attribute", "operand" triggerActions - Optional Array of actions, each action should have the following list of properties: "action_id", "action_type" (integer), "action_url", "tracing_duration" (integer) |
acceptDuplicate |
Boolean |
No |
When creating a new rule, determines behavior when rule duplication is detected. When TRUE, the duplicate call is accepted as valid and the existing rule is returned. When FALSE, the duplicate call is declined and returns an error. In both cases no changes are performed to the system. Default is FALSE. |
Expected Response Code: 202 Accepted
Response Type: A list of the rule elements that were modified/added
Possible Action Specific Error Codes:
HTTP Code |
Error Code |
Description |
500 |
internalServerError |
The system could not retrieve the requested rules’ information, possibly due to database error |
404 |
noSuchMonitorRule |
The requested rule was not found |
Example
|
Request (headers removed for the purpose of clarity)POST /ZendServer/Api/monitorSetRule Response (not all headers are shown)HTTP/1.0 200 OK<?xml version="1.0" encoding="UTF-8"?><zendServerAPIResponse xmlns="http://www.zend.com/server/api/1.3"><requestData><apiKeyName><![CDATA[Admin]]></apiKeyName><method>monitorSetRule</method></requestData><responseData><rules><rule><id>1219644587</id><parentId></parentId><appId>1</appId><name>High Memory Usage (Absolute)</name><enabled>false</enabled><type>request-relative-large-mem-usage</type><order>1</order><url><![CDATA[...url...]]></url><creator>1</creator><description>Triggered … memory</description><conditions><condition><operation>string-in-list</operation><attribute>function-name</attribute><value>fopen|fclose</value></condition></conditions><triggers><trigger><severity>normal</severity><conditions><condition><operation>number-greater-than</operation><attribute>mem-usage</attribute><value>5120</value></condition></conditions><actions><action><type>send-mail</type><sendMailTo>![CDATA[Address]]</sendMailTo></action><action><type>tracing</type><mode>persist</mode></action></actions></trigger></triggers></rule></rules></responseData></zendServerAPIResponse> |