A web-based configuration/management utility should be built to simplify common administrative activities such as namespace management, system status and monitoring, user manaagement, configuring and managing backups and journals, and reviewing logs.
Access to the web-based configuration/management utility will be granted to "full" users on the system (see Accounts in Linux and OpenVista)
Namespace Management
The web-based configuration/management utility should allow an administrator to create and remove OpenVista instances ("namespaces").
System Status and Performance Monitoring
Overall System Status
- An overall system status screen should show:
- How long the system has been up
- Number of users logged in
- Last backup date/time and type
- Number of processes currently running
- Number of GT.M processes
- Number of other processes
- Number of CPUs available and the amount of CPU used/idle
- Percentage of CPU used by GT.M processes
- Percentage of CPU used by other processes
- Total available system memory and percentage used/free
- Percentage of memory used by GT.M
- Percentage of memory used by other processes
- Total available disk space and percentage used/free
- Percentage used/free in the OS (/) partition
- Percentage used/free in the backups partition
- Percentage used/free in the journals partition
- Percentage used/free in the databases partition
- Percentage used/free in the images partition
GT.M processes should be listed in a table format. The table should include the Process ID, the routine being executed by the process, the device in use by the process, the remote IP address that the process is connected to, amount of CPU and memory consumed by the process, and the "namespace" the process is running in.
It should be possible to terminate a process, view the variables that a process has set, and view/break the locks a process is holding.
User Management
Tied and full user accounts should be listed in a table format. The table should include users' full names, usernames, account type (tied or full), associated namespace (if the account is a tied account), and whether or not the user's account is locked. Note that regular Linux accounts not associated with OpenVista/GT.M (e.g., the root account) should not be listed.
An option should be provided to add new accounts. The option should prompt for the new user's full name, username, password, and account type (tied account or full account). Additionally, if the account type is a tied account, the option should prompt for a namespace to tie the new user to. It should also be possible to later change the full name and/or password of an account or to remove the account. Additionally, an option should be provided to "lock" an account, which would temporarily prohibit the user from logging in.
Backups and Journals
Backup files should be listed in table format. The table should include name of the backup file, the associated database file (the database file that the backup file is a backup of), and the date/time the backup was made. On the same page, a view of the total disk space available for backups and the amount of disk space used/free should be displayed. An option should be provided to delete any of the backup files (to free up space).
Journal files should be listed in a separate table. The table should include the name of the journal file, the associated database file, the date/time the journal file was created, and, if the journal file is no longer needed, the date/time the journal file was rolled. On the same page, a view of the total disk space available for journals and the amount of disk space used/free should be displayed. An option should be provided to delete any of the journal files (to free up space). An option should also be provided to manually roll a journal, i.e., force GT.M to stop writing to the current journal file and start a new journal file.
An option should be provided to schedule backups. It should be possible to schedule backups with the flexibility that the UNIX cron daemon provides, e.g., it should be possible to schedule the date, time, and frequency of the backup schedule. It should be possible to back up journals and database files on different schedules. Also, different namespaces should be configurable to back up at different times/intervals. An option should be provided to perform a backup on-demand (immediately).
Finally, it should be possible to configure an e-mail address or a group of e-mail addresses that will be sent notifications regarding backup status (failure or success), journal errors, and low disk space warnings. "Low" disk space should be a configurable percentage of the total available space and should be configurable on a partition-by-partition basis.
Logs
Logs from the operating system, GT.M, and OpenVista should be aggregated to present a single view of all log entries relevant to the operation of OpenVista and GT.M.
The following logs should be available:
- GT.M/Linux system log (/var/log/messages)
- OpenVista log (the error trap)
- Apache log (/var/log/httpd/error_log)
- Audit log (details who logged into the Linux system and into programmer mode, and when; does not detail actions taken by the user)
Log entries should be sortable by:
- Date/Time
- Severity Level
- Description
