Monitoring Cluster-Enabled Quartz Instances
From LongJump Support Wiki
Monitoring Cluster--Enabled Quartz Instances
This process sets up an automatic check that sends an email alert when Quartz is down.
- Verify that these lines are in the quartz.properties file. (They are present in new installations, but are not automatically added during upgrades.)
org.quartz.scheduler.instanceId = AUTO # Automatically assigns instance IDs to prevent conflicts ... org.quartz.jobStore.misfireThreshold = 60000 # Prevent infinite loop if a job can't start, but keeps retrying ... org.quartz.jobStore.isClustered = true # Turn on clustering org.quartz.jobStore.clusterCheckinInterval = 20000
- Download the monitor_quartz.pl (Perl) script from the platform downloads area.
- Set these variable values for your installation:
- $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
- Run the script in the background.
You'll get an email alert whenever the script discovers that Quartz isn't running.
- 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.)