Skip to content
This repository has been archived by the owner on Dec 20, 2024. It is now read-only.

Managing Doradus via JMX

JoeWinter edited this page Sep 25, 2014 · 3 revisions

[Table of Contents](https://github.com/dell-oss/Doradus/wiki/Doradus Administration: Table-of-Contents) | [Previous](https://github.com/dell-oss/Doradus/wiki/Doradus Configuration Files) | [Next](https://github.com/dell-oss/Doradus/wiki/Cassandra Configuration and Operation)
[Doradus Configuration and Operation](https://github.com/dell-oss/Doradus/wiki/Doradus Configuration and Operation): Managing Doradus via JMX


Doradus extends the Java JMX API with monitoring and administration features. JMX functions can be accessed with off-the-shelf JMX applications such as JConsole, which is bundled with the Java SDK. JMX functions are available from two MXBean objects:

  • com.dell.doradus.ServerMonitor: This MXBean provides information about the Doradus server including its configuration, start time, and statistics about REST commands.

  • com.dell.doradus.StorageManager: This MXBean provides information used by the Doradus Task Manager to conduct background tasks. It also provides operations for modifying tasks and to execute Cassandra backup and recovery tasks.

JMX functions only collect and return information when the Doradus MBean service (com.dell.doradus.mbeans.MBeanService) has been initialized. This is always the case when the server is started as a standalone process but optional when Doradus is embedded within another application.

ServerMonitor

ServerMonitor provides the following attributes:

Attribute Name Description
AllRequests Provides a composite set of values about REST API requests such as the total number of requests, the number of failed requests, and the reason of the last request failure.
ConnectionsCount The current number of REST API connections.
DatabaseLink Indicates if the Cassandra database being accessed is local (1), remote (2), or not yet known (0).
RecentRequests A composite value set similar to AllRequests but for REST API requests made since the last time RecentRequests was accessed.
ReleaseVersion The Doradus Server release version.
ServerConfig Lists configuration doradus.yaml settings, including value overridden by runtime arguments.
StartTime Provides the start time of the Doradus server as a Date.getTime() value.
Throughput Provides a histogram of REST API request response times in seconds for various sampling rates (e.g., 1 minute, 5 minutes, 15 minutes.)
WorkingDirectory The working directory of the Doradus server.

StorageManager

StorageManager is operative only when the Task Manager service has been initialized (com.dell.doradus.service.taskmanager.TaskManagerService). This is always the case when the server is started as a standalone process but optional when Doradus is embedded within another application. StorageManager provides the following attributes:

Attribute Name Description
AppNames The Doradus application names known to the Task Manager.
GlobalDefaultSettings The global task schedule settings, which are used for tasks that do not have a more specific (e.g., application- or table-specific) schedule default. The global schedule is usually "never", meaning no default schedule is applied to tasks.
JobList The list of tasks currently executing.
NodesCount The number of Cassandra nodes in the cluster.
OS The operating system of the Doradus server.
OperationMode The operation mode of the first connected Cassandra mode (NORMAL, LEAVING, JOINING, etc.)
RecentJob Attributes about the most recent job executed through the StorageManager interface.
ReleaseVersion The Doradus server release version.
StartMode The execution mode of the first connected Cassandra node: 1 (FOREGROUND), 2 (BACKGROUND), or 0 (UNKNOWN).

The StorageManager MXBean also provides operations that perform basic administrative functions, summarized below:

Operation Name Description
getJobByID Get the status of a job with a specific ID.
startCreateSnapshot Start a task to create a backup snapshot of the first Cassandra node connected to the Doradus server, assigning the snapshot a name.
startDeleteSnapshot Delete a backup snapshot with a given name.
startRestoreFromSnapshot Restore the Cassandra node connected to the Doradus server from a given snapshot game.
sendInterruptTaskCommand Interrupt an executing task with a given name, belonging to a given application.
sendSuspectSchedulingCommand Suspend the scheduling of a task with a given name, belonging to a given application.
sendResumeSchedulingCommand Resume the scheduling of a task with a given name, belonging to a given application.
getAppSettings Get the default task schedule settings for a given application name.
getTaskStatus Get the status of a task with a given name, belonging to a given application.
Clone this wiki locally