After a tap on the button in the main menu this panel is shown. See Section 4.2, “Menu”.
The Dashboard section is automatically refreshed every 60 seconds.
The head section of the Dashboard displays indicators about Community Membership status and application runtime:
Community member: The name of the community member organization. Defaults to “Your Organization Name” if no Member Card was imported (see Section 23.1, “Visitor Period”).
Membership [12]:
Cardholder : a community resident.
Visitor : a visitor of the community.
Exceeded : the number of users in the database exceeds the number of Member Card participants.
Expired : the Member Card reached end-date.
Visitor Expired : the visitor period expired.
Visitor Edition : a permanent visitor with 10 users or less in the database.
Invalid version : the Member Card is incompatible with this SavaPage version.
Invalid : the Member Card is incompatible with this community.
Participants : the number of community participants.
Valid till : expiration date of Member Card.
Days remaining : number of days till Member Card expires.
Mode : the system mode. Press the button to change the mode to Maintenance or Production.
When system is in Maintenance Mode:
Access to all Web Apps is restricted to users with Administrator role.
Regular users are shown a message explaining the situation, at the Login dialog or in the authorized session.
Status
Ready to use : SavaPage can be used without impediments.
Setup is needed : There are one or more options that need to be set up. Press the and/or button to do so. See Section 4.11.10.1, “Currency Code” and Section 4.11.4, “Mail”.
Access to the User Web App is denied till setup
is finished. In the Admin Web App, editing of user
details and adding internal
users, user
groups and shared
accounts will not be available.
Not available : Database access is blocked because a batch job is in progress (database backup, user synchronization, database cleanup). To prevent that user actions requiring database access will block, resulting in long waits, access to the User Web App is temporarily denied. Users are informed after a login attempt or, when already logged in, are warned when actions requiring database access are not permitted.
Member Card Missing : Signals a missing Community Member Card.
Uptime : the time the application has been working and available.
Users : the number of users in the database (excluding Deleted Users) appended with the result of the latest User Home Clean.
Cleanup is done nightly, but can be ad-hoc started by pressing the refresh button at the right of the cleanup timestamp.
In this example there are 42
users in the
database. At the time of the cleanup 32
users
have used the User Web App and thereby have a User Home safepages location
on disk, and in all User Homes,
1
file is unidentified, 16
documents are stored because of using SavaPage as Printer, and 3
Hold Print jobs are pending. The number of bytes of each
total is displayed when moving the cursor over it, or by pressing
the information button at the right.
The number of cleaned files is communicated with a separate icon as shown below:
In this example a total of 4
documents and/or jobs are cleaned. Press the information
button at the right to see details like “Cleaned:
2 Users. 1 Document: 36 KB. 3 Jobs: 121
KB”.
When Cleanup Test Mode is set, cleanable files are signaled without actually being deleted. In that case the clean icon will show a red colored marker.
Client sessions : the number of active User Web App and User Client sessions.
Recent errors : the number of errors that occurred in the Application Log during the last hour.
Recent warnings : the number of warnings that occurred in the Application Log during the last hour.
SSL valid till : when the SSL Certificate of SavaPage expires within a year, its expiration date is shown . When expiration is due within 30 days it is shown in orange. Note: SSL expiration of any reverse proxy server used by SavaPage clients is not signaled.
OpenPGP information is shown when server keys are configured: see Section 13.3, “OpenPGP Settings”. Press the information button at the right to see the KeyID and Fingerprint.
Figure 4.10. Admin Web App: Dashboard - OpenPGP
Tickets : Print and Copy Job totals just as in Job Tickets Web App, or zero ("0") if ticket queue is empty.
Figure 4.11. Admin Web App: Dashboard - Tickets
Technical information about the server process can be added to, or removed
from, the Dashboard by setting the value of configuration key
webapp.admin.dashboard.show-tech-info
to Y
or
N
. See Section 4.11.14, “Config Editor” on how to
change this value. When added, the following extra information
appears:
JVM memory : “Max” is the maximum memory the JVM will attempt to use. “Total” is the total memory in the JVM (varies over time). “Free” is the free memory in the JVM (increases after a garbage collect).
HTTP sessions : the number of non-expired Web App Session id's and their client ip addresses. Due to DHCP, the number of ip's may be greater than the number of id's.
Open Files : The number of open file descriptors.
Disk Space : Disk capacity and free space.
Threads : An estimate of the number of active process threads.
The number of “active (deadlocked)” threads (if any) are shown in red color. See Section 4.3.1.2, “System Monitor”.
Connections : The number of active connections to internal services and the database.
Proxy Print Queue : The number of pending Proxy Print jobs in memory cache and the database.
A System Monitor process checks SavaPage server health status every
120 seconds. This frequency is set in configuration
property
system.monitor.heartbeat-sec
. The following situation is checked:
Deadlocked threads : JVM
threads that are deadlocked waiting for “object
monitors”[13] or “ownable synchronizers”
[14]. The number of deadlocked threads is shown as Technical Info on the Dashboard. Detailed
information can be found in the server.log
:
see Section 13.2, “Logs”.
Deadlocked threads should not happen. When they occur, contact your SavaPage Community Representative.
This section lists the status of services.
The Proxy Print indicator is read-only, and shows the CUPS connection status. When connectivity is broken, the switch shows “Off”, with the reason displayed at the right.
Core services like Mail Print must be enabled to be on the list.
Web Print, Internet Print and RESTful Print services are a fixed part of the list.
Plug-in services like Mollie and Blockchain.info Payment Gateways are part of the list if they are enabled in their property file.
With Dashboard Editor Privileges, you can turn a service On or Off by flipping the status switch. With Reader Privileges service switching is disabled.
When the SavaPage server restarts enabled core
services are turned On by default. The initial
state of enabled plug-in services is governed by the
online
setting in their property file. The on/off state of
Internet Print translates to the enabled/disabled state of the
reserved /internet
Queue.
The News section shows the currently installed versus the latest published SavaPage version. A push on the button brings you to the
Internet page.The latest published SavaPage version number is cached on the server and retrieved from the Internet every 12 hours.
The Pagometers[15] counting the pages printed-out with Proxy Printers, printed-in from SavaPage Queues, and exported as PDF are displayed in a Pie-Chart. Pagometers are explained at Section 4.11.13.12, “Pagometers”.
A Line-Graph shows the day pagometers for the three sources over the last 30 days.
A table shows the running Total of Received PDF documents by Driverless File Transfer Print that are Valid, Repaired or Rejected, including totals for last Week and Month. See Section 14.9.1, “Processing Driverless PDF Transfer”.
The Environmental Impact for the Proxy Printer pagometer are displayed in a separate section. The metrics and units used are discussed at Section 16.2, “Environmental Impact”.
The Environmental Impact section can be hidden with configuration property in table below.
Configuration property | Description |
---|---|
webapp.admin.dashboard.show-env-info |
Set to |
Table 4.1. Admin Web App Environmental Impact Configuration Properties
See Section 4.11.14, “Config Editor” on how to set these items.
A Financial Summary of User Accounts and Bitcoin Wallet is displayed in a separate section.
The User Accounts total and statistics like
Min, Max and
Avg are shown as Debit or
Credit amount over Count number of
accounts.
When a Bitcoin Payment Gateway is enabled the Bitcoin Wallet balance (Debit) is shown in the system currency and BTC. The Total number of Bitcoin Addresses in the wallet are split into addresses that received Payments, and Open addresses waiting for payments. Note that other addresses, not created by our Bitcoin Payment Plug-in, may be part of the wallet (in our example there is one such address).
The Bitcoin Wallet hyperlink opens the Web Wallet in a new browser tab.
The Accounts summary is updated as the dashboard is (auto) refreshed. However, the Bitcoin Wallet summary is cached by SavaPage and lazy refreshed after a configurable time period (defaulting to 3600 seconds).[16] The date/time of the last refresh is shown in the Date column. Press the button to force a refresh of the cache.
Relevant system events are real-time displayed in this section. A
maximum of 20 event messages remain in view, with the most recent one at the
top.
System events are persisted in the rotating log file:
/opt/savapage/server/logs/adminpublisher.log
This file has a tab separated value (TSV) format for easy import and
manipulation into spreadsheet programs. See
/opt/savapage/server/lib/log4j.properties.template
for more information.
[13] An “object monitor” is a mechanism that ensures that only one thread can be executing a given section (or sections) of code at any given time. In Java, there are two kinds of monitor regions: synchronized statements and synchronized methods.
[14] In Java, an ownable synchronizer is a synchronizer that may be exclusively owned by a thread and uses AbstractOwnableSynchronizer (or its subclass) to implement its synchronization property. ReentrantLock and ReentrantReadWriteLock are two examples of ownable synchronizers provided by the platform.
[15] In analogy with the term Odometer, the term Pagometer is introduced as an instrument to count the number of processed pages.
[16] Edit the webapp.admin.bitcoin.wallet.cache-expiry-secs
configuration property with the Configuration Editor to set the number of seconds after
which the cached Bitcoin Wallet summary is refreshed.