- Download the latest version of Blackboard Learn Template Suite here.
- Configure JMX Remote without authentication
- Append JMX remote options to "bbconfig.jvm.options.extra.tomcat" property in conf/bb-config.properties
bbconfig.jvm.options.extra.tomcat=... -Dcom.sun.management.jmxremote.port=10052 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
- Append JMX remote options to "bbconfig.jvm.options.extra.tomcat" property in conf/bb-config.properties
- Configure JMX remote with authentication (Recommended)
- Append JMX remote options to "bbconfig.jvm.options.extra.tomcat" property in conf/bb-config.properties
-Dcom.sun.management.jmxremote.port=10052 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.password.file=$BLACKBOARD_HOME/apps/tomcat/conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=$BLACKBOARD_HOME/apps/tomcat/conf/jmxremote.access
Replace $BLACKBOARD_HOME with the location of Blackboard on your filesystem
- Create the files jmxremote.password and jmxremote.access within the apps/tomcat/conf directory (examples here: https://blogs.oracle.com/lmalventosa/entry/jmx_authentication_authorization
- On linux/solaris, run the following commands:
]# chmod 600 jmxremote.access jmxremote.password ]# chown bbuser jmxremote.access jmxremote.password
- On windows, follow the instructions here: http://docs.oracle.com/javase/1.5.0/docs/guide/management/security-windows.html
- Open the file blackboard/config/tomcat/conf/catalina.policy, and add the following lines of code within the WEB APPLICATION PERMISSIONS section grant block.
permission javax.management.MBeanPermission "*", "*"; permission java.lang.management.ManagementPermission "monitor"; permission java.util.PropertyPermission "java.class.path", "read"; permission java.util.PropertyPermission "java.library.path", "read"; permission java.net.SocketPermission "intranet-lx1", "resolve"; permission java.lang.RuntimePermission "getClassLoader"; permission java.lang.RuntimePermission "setContextClassLoader"; permission java.io.FilePermission "<<ALL FILES>>", "read"; permission java.lang.RuntimePermission "setFactory"; permission java.net.SocketPermission "*", "connect,resolve"; permission javax.net.ssl.SSLPermission "setHostnameVerifier";

These settings are custom and have not been vetted for any potential vulnerabilities - Execute PushConfigUpdates
- Append JMX remote options to "bbconfig.jvm.options.extra.tomcat" property in conf/bb-config.properties
- Install Extended Monitoring B2 (bb-extended-monitoring-x.x.war) that's included in the downloaded template suite under installation/b2 directory.
- Deploy Zabbix agent
- Modify installation/hosts.data file to specify host(s) and install directory(s)
app01,/usr/local/zabbix app02,/usr/local/zabbix ... db01,/usr/local/zabbix
- Execute installation/deploy_remote_agents.ssh(bat)
- Usage:
deploy_remote_agents.ssh(bat) [--server|-s] server [--user|-u] username [--pass|-p] password [--data|-d] datafile
- Example:
deploy_remote_agents.ssh -s zabbix.pd.local -u root -p pass -d hosts.data
- Usage:
- Modify installation/hosts.data file to specify host(s) and install directory(s)
- Log in to Zabbix GUI as a user with Zabbix Administrator role
- Import Zabbix templates in templates/ directory from "Configuration -> Templates -> Import" menu. Rules for "Update existing" and "Add missing" must be enabled for everything except "Hosts", "Maps", and "Images".
- activeMQ.xml (Items are disabled by default. You need to enable them manually.)
- application_all_agents.xml
- application_single_agent.xml
- cache.xml (Items are disabled by default. You need to enable them manually. Works out-of-the-box for 9.1 SP10 and above, provided BbPatch required for SP7 through SP9. SP6 and below are not supported.)
- java.xml
- linux.xml
- security.xml (Items are disabled by default. You need to enable them manually.)
- tomcat.xml
- windows.xml
- Create a host group
- Navigate to "Configuration -> Host groups"
- Click on "Create host group"
- Enter "Group name" and hit "Save"
- Create hosts
- Navigate to "Configuration -> Hosts"
- Click "Create" to enter the host configuration page
- Fill out "Host name", "Groups" and "Interfaces" fields

- Switch to "Templates" tab and add Blackboard Learn templates. "Template Learn Application Single Agent" template should be deployed on only one of the application nodes if you're running load balanced configuration. This is so Zabbix don't collect system-level duplicate data from every node. However, it also means the system-level information will be available only when you look at the node that you deployed the single agent template to. For database server, deploy "Template Learn Linux" or "Template Learn Windows" template only. Other templates do not apply to database server. (Note: Do not deploy Zabbix's Linux template if you choose to deploy Learn Linux template as they can conflict. Choose one and add missing items in another template so no duplicate item is deployed on a host.)

- Switch to "Macros" tab and add the following:
- {$BB_HOME}, where Blackboard Learn is installed.
- {$DISK}, a mount drive to be monitored (ex. xvda, sda). Run "cat /proc/diskstats" from the command line to determine this value. This is only required for Linux.
- {$JMX_USERNAME}, where you specify your JMX username if authentication is enabled
- {$JMX_PASSWORD}, where you specify your JMX password if authentication is enabled

Please refer to Zabbix manual for additional information.