What are Unattended Monitoring and Crash Protection?
Unattended Monitoring via Crash Protection is a way to protect your ColdFusion MX server from various types of load. You can protect from excessive numbers of requests all being run at the same time. You can protect from individual requests running for long periods of time and you can protect from requests running when the server is low on memory. FusionReactor can notify you when any of these situations occur. A notification email will typically look something like this:
What you will see if a message from FusionReactor telling you what has happened (which crash protection trigger has fired) and what action (if any) has been taken. Depending on the type of trigger you may also see other relevant information such as what other requests were running when the trigger fired.
What is a Survival Strategy and Self-healing?
The survival strategy is how FusionReactor will attempt to self-heal the situation if crash protection is triggered. It can be configured to kill problem requests and queue new requests until the situation is stabilized. It will also alert you so that you have time to resolve the problem if you need to take action.
How do I set up Unattended Monitoring with Crash Protection?
From the FusionReactor Administrator, click "CP Settings" from the table of contents (Crash Protection section) and you will see the Crash Protection Settings screen. The first section of this screen deals with crash protection and will look something like this:
From here you can activate any of the crash protection triggers and set up what action should be taken if they trigger.
Timeout Protection: Typing a number of seconds into this field will activate this trigger. Emptying the field again will disable the trigger. If a process executes for longer than the specified number of seconds then you can either have FusionReactor automatically kill that process, or it can just notify you.
Memory Protection: Typing an amount of memory into this field (in MB) will activate this trigger. Emptying the field again will disable the trigger. If the amount of free memory when a new request arrives is less that the specified about then you can either have FusionReactor automatically kill or queue that request, or it can just notify you.
Request Protection: Typing a number into this field will active this trigger. Emptying the field again will disable the trigger. If the number of running requests is equal or greater than the specified number when a new request arrives then you can either have FusionReactor automatically kill or queue that request, or it can just notify you.
Restrictions: The Restrictions system (which is enabled by default) lets you select pages which are excluded from crash protection, or alternatively you can exclude all pages except for a group of page you specify. You can exclude a page (or set of pages) from timeout protection (ideal for long running batch jobs,) or you can exclude it from all forms of crash protection (ideal for status jobs and probes which you always want to run, even when the system is under heavy load.) You can define these restrictions by clicking on the "CP Restrictions" link from the table of contents area (Crash Protection section).
How do set up the Survival Strategy?
From the FusionReactor Administrator, click "CP Settings" from the table of contents (Crash Protection section) and you will see the Crash Protection Settings screen. The Survival Strategy section and will look something like this:
If you selected Abort or Queue as your behavior for any of the crash protection triggers then the this section will effect how your application behaves.
Abort Strategy: When a request is aborted as the result of a crash protection trigger, you can decide what will be returned to the client. You can either display a message, or redirect to a URL. If you select Display Message from the select box then enter your message into the text box below. If you select Redirect To URL from the select box then you should enter the URL into the text box below.
Add Parameters: When redirecting to a URL, this options adds parameters to the end of the URL which tell you which crash protection trigger fired and value values caused the trigger.
Queue Timeout: When a request is queues as the result of a crash protection trigger then this is the maximum number of seconds it will be held before being aborted. FusionReactor will take requests out of the queue and feed them back into the system as soon as crash protection recovers.
How do set up Notification?
From the FusionReactor Administrator, click "Settings" from the table of contents (FusionReactor section) and you will see the FusionReactor Settings screen. The Email section of this screen deals with the notification and will look something like this:
If you have notification enabled then you will receive an email when crash protection triggers.
From Address: This is the email address which notification emails will be send from.
To Address: This is the email address which notification emails will be send to.
Mail Server: Enter the address of your email server here. FusionReactor supports password protected email servers.
Email Interval: If you find yourself receiving many notification emails then you can enter a number of minutes into this field and then, after receiving a notification, it will be at least the specified number of minutes before you will receive another.
Notification: This is a simple switch to turn on or off notification without having to empty the fields listed above.
Why would I want to enable Crash Protection?
There are many cases in which crash protection can be an invaluable tool. These include:
Easing Support
Crash Protection automates the manual process of checking each of your servers and verifying that they are operating within satisfactory parameters. Instead of having to periodically go through each server you can have warnings sent directly to your inbox.
Request Bursts
If you have a server which receives bursts of requests all at once then FusionReactor can using queuing spread that load out over time and so protect your server from becoming overwhelmed.
Preventing Crashes
If you periodically have very resource hungry jobs running then FusionReactor can stop new requests being run which could potentially cause the server to become unstable.
During Development
If you need to write a page which cannot use more that a fixed amount of the system resources then crash protection is a good way of tracking where and when you have problems. As well as emails, crash triggers can also be viewed in a logfile.


