Skip to main content

Best Practices

You can use the Alert Filters API to keep in sync with infrastructure changes and parallel your monitoring activity accordingly. For example, the set of servers under a certain host, i.e. Billing, is scheduled to undergo upgrades for a duration of one week. Due to the non-operational nature of the servers during this time, all alerts generated by them will be unnecessary for monitoring.

Instead of having these alerts continue to stream into the feed and disrupt workflow, create a matching Filter with the query host = "billing*" and a Schedule of one week in the same time frame as the upgrades. This will suppress the irrelevant alerts from ever entering BigPanda.

Plan limit

Each organization can have up to 3,500 alert filters.

Condition limitations

Alert Filter conditions cannot be longer than 25,000 characters long.

All alert tags in filter conditions are case-insensitive.

The condition body parameter uses special BPQL object formatting. See BPQL Object Syntax for more information.

Not all tags are available for alert filter conditions. See the Tag Naming documentation for a list of tags that have limited functionality in BigPanda.

OK status

By default, alert filters ignore events that have an ok status. These events will still enter the system and resolve any related open alerts.

This setting can be changed by explicitly including the exclude_status field as an empty array.

Filter Plan Parameters

The Alert Filter Plan object schema includes the following attributes:

Attribute

Description

Type

id

System-generated unique identifier for the alert filter.

String

name

User defined name for the alert filter.

String

description

Brief summary of the alert filter.

String

bpql

The BPQL object to identify which alerts will be filtered.

JSON

exclude_status

A list of alert status values that will be excluded from the filter. With new filters, the OK status is excluded by default unless exclude_status is explicitly declared in the payload.

Array of Strings

active

Whether the filter is active and will apply to incoming alerts

Boolean

created_on

Date and time the filter was created in ISO 8601 format.

Long

created_by

The ID of the user who created the filter.

String

updated_on

Date and time the filter was last updated in ISO 8601 format.

Long

updated_by

The ID of the user who last updated the filter.

String

schedule

The ID of the schedule associated to the filter.

String

custom_tags

Metadata about the plan in an array of key-value pairs.

Attributes:

- name - Ordered pair tuple name. String

- value - Object value. String

Array of Objects

Sample Alert Filter Plan Object

{
        "name": "Folsom Patch",
        "bpql": {"=": ["host", "prod-api-1"]},
        "active": true,
        "description": "Patching Folsom server farm",
        "custom_tags" : [{
        	 "name": "server_farm",
           "value": "folsom"
          }]
  }

Filter Schedule Parameters

The Alert Filter Schedule object schema includes the following attributes:

Attribute 

Description 

Type 

id

System-generated unique identifier for the schedule.

String

name

User defined name for the schedule.

String

description

Brief summary of the schedule.

String

starts_on

Unix epoch time when the schedule starts (in seconds).

Long

ends_on

Unix epoch time when the schedule ends (in seconds).

Long

time_zone

The schedule's time zone setting. Default is UTC. See the full list of supported time zones here.

duration

The calculated time between the ends_on and starts_on in seconds.

Long

created_on

Unix epoch time when the schedule was created (in seconds).

Long

created_by

The ID of the user who created the schedule.

String

updated_on

Unix epoch time when the schedule was last updated (in seconds).

Long

updated_by

The ID of the user who last updated the schedule.

String

active

Indicates if the schedule is active and can be applied to alert filters.

Boolean

Sample Alert Filter Schedule Object

{
    "name": "Weekend Maintenance",
    "starts_on": 1491265491,
    "ends_on": 1491294307,
    "time_zone": "UTC",
    "active": true
  }