Platform Conventions, Management and Tools

The "jive" User

By default, Jive will attempt to install a local system user named “jive” belonging to group “jive” with a home directory of “/usr/local/jive”. If a user named jive already exists on the system where the installation is being performed, the platform will use the existing user. Most binaries, scripts and configurations used by the platform are owned by the jive user with a small number of files owned by root.

Application Abstractions

The Jive platform is designed to manage one or more logical “application” servers, each serving a variety of functional concerns.

Master Application Template

The master application template is the core set of Jive software used to create all subsequent instances. By convention, the files in the master template are stored in the jive user’s “applications” directory located at:

/usr/local/jive/applications/template

Application Instances

Upon installation, and at the request of system administrators, the platform will create instances of the master application template, each with a unique name. Each instance is managed, configured and runs independently of other applications. By design, an instance of an application runs in a dedicated operating system process, providing separation between applications such that one application instance cannot directly exhaust the resources of another in a way that cannot be stopped with standard operating system commands (such as kill).

Managed Application Instances

An application instance is considered managed if it is created, updated, and its lifecycle controlled by the platform tooling (appadd, appstop, appstart, etc.). Managed applications are automatically upgraded when the platform is upgraded.

In some circumstances, you might want to create applications that are not fully managed. For example, applications created with the “—no-link” options to the appadd tool will not be directly upgraded by platform upgrades. Non-managed applications are not directly upgraded by the Jive tooling and must be upgraded manually by a system administrator.

System Management Tools

Ultimately, most Jive tools delegate to standard Linux systems management tools such as bash scripts, the “ps” command, and so on. It is possible to monitor Jive-managed components using standard tools such as ps and top as described in the Platform Run Book (Linux).

Application Management

The platform manages one or more instances of the Jive software. Each instance represents a dedicated Apache Tomcat application server that ultimately runs as a dedicated server process, independent of other application servers on the host machine. By convention, each application instance is represented by a directory entry beneath the “applications” directory located in the jive user’s home directory (/usr/local/jive/). For example, an application named “biodome” will have a corresponding application directory located at:

/usr/local/jive/applications/biodome

Each application has a standard set of subdirectories beneath its top-level application directory:

Troubleshooting and Snapshot Utilities

The Jive platform installation captures meaningful system data to various log files as well as providing application and system snapshot capabilities. With these, Jive support can more easily diagnose issues with the platform.

Support Information Gathering

The primary mechanism for gathering support-related information on the platform is via the appsupport command, typically executed as the jive user.

When run, the appsupport command will combine multiple useful data points from the system and application logs, then aggregate the data to the console’s standard output stream. Alternatively, you can use the “-o” flag, along with the path to a file where the aggregate system information should be appended (if the file does not exist, it will be created).

System Thread Dumps

In some cases, Jive support may suggest that you capture application thread dumps from a running system. The platform includes the appsnap tool for this purpose. As with other commands, appsnap is commonly performed as the jive user.

The most common options used with the appsnap tool are the "—count" and "—interval" options. Count determines the number of samples taken. The interval option determines the number of seconds between successful samples. The tool writes snapshot output to the console’s standard output or appends it to the file given for the "-o" option.