AgileApps Support Wiki Pre Release

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

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
Line 11: Line 11:
</syntaxhighlight>
</syntaxhighlight>
# Download the [{{DOCHOST}}/files/monitor_quartz.pl monitor_quartz.pl] (Perl) script from the platform downloads area.
# Download the [{{DOCHOST}}/files/monitor_quartz.pl monitor_quartz.pl] (Perl) script from the platform downloads area.
# Modify these values for your installation:
#:
# Set these variable values for your installation:
#:* <tt>$hostname</tt> - Server name
#:* <tt>$hostname</tt> - Server name
#:* <tt>$mysql_username</tt> - Database user name.
#:* <tt>$mysql_username</tt> - Database user name.
Line 20: Line 21:
#:* <tt>$recipients</tt> - Comma-separated list of email addresses who will receive email status messages
#:* <tt>$recipients</tt> - Comma-separated list of email addresses who will receive email status messages
#::
#::
#:* <tt>...</tt> - ...
# In the verifyQuartz subroutine, modify the first command string to insert the IP address for your server
#:* <tt>-e"SELECT LAST_CHECKIN_TIME FROM QRTZ_SCHEDULER_STATE WHERE INSTANCE_NAME LIKE 'SERVER_IP' and ...</tt>
#:
# Run the script on your server.
# 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:57, 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. Set these variable 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.
    • $config_file - Absolute path to tomcat/webapps/networking/WEB-INF/web.xml
    • $recipients - Comma-separated list of email addresses who will receive email status messages
  3. In the verifyQuartz subroutine, modify the first command string to insert the IP address for your server
    • -e"SELECT LAST_CHECKIN_TIME FROM QRTZ_SCHEDULER_STATE WHERE INSTANCE_NAME LIKE 'SERVER_IP' and ...
  4. 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.)