AgileApps Support Wiki Pre Release

Difference between revisions of "Monitoring Cluster-Enabled Quartz Instances"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 1: Line 1:
===Monitoring Cluster--Enabled Quartz Instances===
===Monitoring Cluster--Enabled Quartz Instances===


;Preparation:
# Verify that these lines are in the <tt>quartz.properties</tt> file. (They are present in new installations, but are not automatically added during upgrades.)
:* Add these lines to the <tt>quartz.properties</tt> file:
#:<syntaxhighlight lang="perl" enclose="div">
::<syntaxhighlight lang="java" enclose="div">
org.quartz.scheduler.instanceId = AUTO
...
org.quartz.jobStore.misfireThreshold = 60000
...
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.isClustered = true
org.quartz.jobStore.clusterCheckinInterval = 20000
org.quartz.jobStore.clusterCheckinInterval = 20000
</syntaxhighlight>
</syntaxhighlight>
 
# Download the [{{DOCHOST}}/files/monitor_quartz.pl monitor_quartz.pl] (Perl) script from the platform downloads area.
;Monitoring:
# Modify these values for your installation:
:* Download the [{{DOCHOST}}/files/monitor_quartz.pl monitor_quartz.pl] (Perl) script from the downloads area, and run it on your server.
#:* <tt>$hostname</tt> - Server name
#:* <tt>$mysql_username</tt> - Database user name.
#:* <tt>$mysql_password</tt> - Database password.
#:* <tt>$mysql_host</tt> - Name of server the database is running on.
#:* <tt>$recipients</tt> - Comma-separated list of email addresses who will receive email status messages
#:* <tt>...</tt> - ...
# Run the script on your server.


;How it Works:
;How it Works:
:The lines in the properties file cause quartz to put an entry into the relationals.QRTZ_SCHEDULER_STATE table in the database. The script checks the timestamp to verify that the last stamp was within 5 minutes. (Quartz should be running once a minute. If it hasn't run in five minutes, it is considered to be down.)
:The lines in the properties file cause quartz to put an entry into the relationals.QRTZ_SCHEDULER_STATE table in the database. The script checks the timestamp to verify that the last stamp was within 5 minutes. (Quartz should be running once a minute. If it hasn't run in five minutes, it is considered to be down.)

Revision as of 17:51, 19 July 2011

Monitoring Cluster--Enabled Quartz Instances

  1. Verify that these lines are in the quartz.properties file. (They are present in new installations, but are not automatically added during upgrades.)
    <syntaxhighlight lang="perl" enclose="div">

org.quartz.scheduler.instanceId = AUTO ... org.quartz.jobStore.misfireThreshold = 60000 ... org.quartz.jobStore.isClustered = true org.quartz.jobStore.clusterCheckinInterval = 20000 </syntaxhighlight>

  1. Download the monitor_quartz.pl (Perl) script from the platform downloads area.
  2. Modify these values for your installation:
    • $hostname - Server name
    • $mysql_username - Database user name.
    • $mysql_password - Database password.
    • $mysql_host - Name of server the database is running on.
    • $recipients - Comma-separated list of email addresses who will receive email status messages
    • ... - ...
  3. Run the script on your server.
How it Works
The lines in the properties file cause quartz to put an entry into the relationals.QRTZ_SCHEDULER_STATE table in the database. The script checks the timestamp to verify that the last stamp was within 5 minutes. (Quartz should be running once a minute. If it hasn't run in five minutes, it is considered to be down.)