Beacons allow you to automate actions such as creating and updating incidents, or assign it to a team or user anytime that beacon receives a ping from a third party source. This is done by defining rules that StatusCast will follow when certain conditions are met based on information gathered from what was sent by the third party source.
To get started please go to Settings > Settings > Beacons and click on the CREATE BEACON button. Then a setup walkthrough will show to help you set the beacon type, provider and other settings.
Once you submit the walkthrough you will be taken to the beacon configuration area, which is made up of several sections. The most important sections, for the purposes of this article, are the General and the Rules section. Note: Here you can also see historical information about the beacon and incidents related to it.
In this section you can update the Name, Description, Escalation Policy, Process Beacon As settings and find the beacon Webhook Url.
Here you can setup the rules that will govern the beacon. This is were we are going to spend the rest of this article.
To add a rule click on the plus sign to the right of the Rules section.
A rule consists of an IF/THEN statement, that will tell StatusCast what to do when the If statement is met.
To setup the IF portion of the statement please click the the Add Rule button under the IF. Then the area to setup the condition will show. Here is were the elements that are going to be evaluated are specified. To add a condition (AND, OR) or remove one that has been added click on the hamburger button to the right of the condition area.
After you have set the IF portion, you have to choose what is done when the condition is met. This is done by checking the box in front of the wanted action found under THEN; you can check as many or as few actions as needed.
Here is a description of each action:
- SET STATUS - You can set a status (UP or DOWN) to the service or services related to the incident.
- ASSIGN TO TEAM - The incident can be assigned to a predefined team in the application.
- ASSIGN TO USER - The incident can be assigned to a user in the application.
- EXTRACT COMPONENTS - You can pull an element or elements from the information sent in the ping from the service provider.
- CREATE INCIDENT - You can setup what will show in the incident.
- UPDATE INCIDENT - You can setup what will show in the update to the incident.
- TRANSITION STAGE - You can set a stage (WAITING, IN-PROGRESS or COMPLETED) in the incident.
- SUBSCRIBER NOTIFICATION CHANNELS - You can select the notification channels to be used when creating an incident and notifying subscribers.
- UPDATE COMPONENT STATUS - You can set the status (Available, Unavailable, Maintenance or Degraded Performance) of a particular component.
Note: Under each action you may find one or more options that need to be set to complete the action setup.
For the most part, in general, beacons are setup to evaluate information in a ping from a service to see if a service is up or down and then execute and action or actions. To do this the beacon should grab the necessary information to see if the conditions are met. If the service is down, create an incident. If the service is up, create an update.
To be able to do the above, the beacon should have the following:
General IF - to see if an actions needs to be taken.
How to target keys/value pair in my Json file
In order to target any keys you will first need to start with “$.”, then proceed with the name of the key. Use dot notation if the target is embedded in other objects.
General workflow for creating a conditional rule
Pick an IDENTIFIER to begin your rule.
a. Recommended Identifier: Content - Value of a key/value pair in a Json file.
Select a key from your Json file to check against the criteria operator.
Pick a CRITERIA OPERATOR to validate against your key from your json file.
Enter the value of the respective key you selected in step 2. NOTE: Not every criteria operator will require this step (i.e. Any).
We recommend creating an initial valuation. For example, the rule below states that if our “status” key in our json payload contains any value, please proceed to the THEN tasks/rulesets. This simple check will eliminate any empty/false data that is passed down to your status page and eliminates the risk of creating an incident inappropriately.
EXTRACT COMPONENTS - Get information to evaluate additional conditions.
CREATE INCIDENT - If a service is down.
The example below states that in order for StatusCast to create an event the “status” key will need to match the value of TRIGGERED.
Defining your incident
Rules and incidents can be quite intricate due to the high level of customization. Here is a simple and recommended set up for your incidents.
[Optional] Wait (minutes) - Define a time in minutes to delay the post of your incident.
Define a TITLE for your incident
a. You can use data from your Json file. Please see the example below:
- Select an INCIDENT TYPE from the following:
b. Scheduled maintenance
c. Service unavailable
- Create a new MESSAGE or choose from a TEMPLATE.
You can use data from your Json file. Please see the example below:
Choose your AFFECTED COMPONENTS.
Select to AUTO PUBLISH your incident or create a draft.
Define if the incident will COUNT TOWARDS DOWNTIME.
You can create rules for updates on open incidents too. You have two options when choosing an incident: Informational or closed.
Choose the STATUS of your components. Keep the same status as the original incident or change it to something else.
Choose the TYPE of update.
a. INFORMATIONAL: Provide updates to an ongoing incident. Incident will remain open.
b. CLOSED: The resolution post to an open/ongoing incident. Incident will be closed once published.
Create a MESSAGE or select one of your templates.
Can I create a thread or stack of rules for a specific action?
Beacon conditions will allow you to create subsequent rules that can be stacked on each other. Use the HAMBURGER ICON on the right side of the rule to add additional conditions. Available options to choose from this dropdown include AND, OR, & REMOVE.
- AND: All conditions must be met in order for the action/task to be performed.
- OR: One of the conditions must be true/valid for an action/task to be performed.
- REMOVE: Removes the current rule.
UPDATE INCIDENT - If a service is back up.
If you already have a predefined rule set, you have the option to import it in the General section of the Beacon at the top.
Once you have everything you need set up, please remember to click the UPDATE button at top.
Updated 6 months ago