Report Client deprecated
Introduction
Generating a report every month is mandatory in order to have access to the maintenance updates available in the updates directory on software.open-xchange.com.
You have been blocked already?
Don't panic, you can still access https://software.open-xchange.com, because that is open for everyone. So install the Report Client from stable instead of updates and once you're done, update to the latest version.
The Open-Xchange Report Client extension of the Open-Xchange Server enables you to generate and send usage reports of your environment to Open-Xchange. The report will contain information of how many contexts and users have been created in the given Open-Xchange environment. This article will guide you through the installation of the Open-Xchange Report Client. It describes the setup of the software extension itself, and which additional configurations need to be done to execute this extension.
You will find further information at the Open-Xchange Frequent Asked Questions (FAQ)
Installation on OX App Suite
The open-xchange-report-client
package, which is part of the backend
software repository, must be installed.
Configuration
A requirement to execute the Open-Xchange Report Client is to have your Open-Xchange license key stored in one specific file on your Open-Xchange installation. The latest version of our installation guide documentation will automatically enable you to store your license key on disk by using a new oxinstaller command.
If you want to use the report client on an already installed environment you need to store your license key manually on disk. To do so create and edit the following file on your Open-Xchange server:
$ vim /opt/open-xchange/etc/common/licensekeys.properties
or on 6.22 or newer
$ vim /opt/open-xchange/etc/licensekeys.properties
com.openexchange.licensekey.1=PUT\_YOUR\_OPEN-XCHANGE\_LICENSE\_KEY\_HERE
If you are behind a firewall and the report client needs to be configured using a HTTP proxy, please edit file:
$ vim /opt/open-xchange/etc/groupware/reportclient.properties
or on 6.22 or newer
$ vim /opt/open-xchange/etc/reportclient.properties
After editing this file accordingly to your proxy needs, try to start the report client again.
Which systems need to report
The LDB account you have in your repository configuration and the assigned key needs reporting only from one node, once a month.
Make sure that you have configured the key correctly on the node which is reporting, see 3.0.
Using the Report tool
Now as the package has been correctly installed and you provided your license key in the according properties file your are ready to launch the report client to generate a report. By default (if no option is given) the report client will display and send the generated report to an Open-Xchange service on activation.open-xchange.com. Note that only data that is displayed in the console will be transfered to Open-Xchange
activation.open-xchange.com:443
Report kinds
In general there are two kinds of reports. Since 7.8.0 the default report has got the appsuite style format. If you would like to generate and display/save/send the formerly used style you have to add the option "-o" to every known parameter combination.
Display data usage report
$ /opt/open-xchange/sbin/report -d
If you want to know which data would be transfered, execute the report client with the option "-d" (display_only). If this option is given to the report client no data will be send:
Send data usage report
$ /opt/open-xchange/sbin/report -s
If you don't want to have the report displayed in the console (which might be the case for automated executions of the report client) execute the report client with the option -s (send_only). Now no report will be displayed after the report has been sent to activation.open-xchange.com.
Report performance and storage
With version 7.8.3 new properties are introduced.
Describes the storage path for all report relevant data. Saving a report will place a JSON-Version of the report in that folder.
This property enables the client to store parts of the report on hard drive to keep memory usage small. A chunk is a CapabilitySet. The stored parts are combined into a single .report file and then deleted when the report is finished. The .report file is not deleted automatically.
The report will use multithreading for faster processing. Therefore the user can edit the threadpoolsize by editing this property value. Each thread is processing the needed values from a schema. If the threadpool is smaller then the schemas in the database, the threads are queued.
This property determines the used threads priotity. It can range from 1 (lowest) to 10 (highest).
Available options
$ /opt/open-xchange/sbin/report -h
lists all available options:
Usage: report
-h,--help Prints a help text
--environment Show info about commandline environment
--nonl Remove all newlines (\n) from output
--responsetimeout <responsetimeout> response timeout in seconds for reading response from the backend (default 0s; infinite)
-H,--host <host> specifies the host
-T,--timeout <timeout> timeout in seconds for the connection creation to the backend (default 15s)
-J,--jmxauthuser <jmxauthuser> jmx username (required when jmx authentication enabled)
-P,--jmxauthpassword <jmxauthpassword> jmx username (required when jmx authentication enabled)
-s,--sendonly Send report without displaying it (Disables default)
-d,--displayonly Display report without sending it (Disables default)
-c,--csv Show output as CSV
-a,--advancedreport Run an advanced report (could take some time with a lot of contexts)
-f,--savereport Save the report as JSON String instead of sending it
-b,--showaccesscombination <showaccesscombination> Show access combination for bitmask
-e,--run-appsuite-report Schedule an appsuite style report. Will print out the reports UUID or, if a report is being generated, the UUID of the pending report
-t,--report-type <report-type> The type of the report to run. Leave this off for the 'default' report. 'Known reports next to 'default': 'extended'
--inspect-appsuite-reports Prints information about currently running reports
--cancel-appsuite-reports Cancels pending reports
-g,--get-appsuite-report Retrieve the report that was generated, can (and should) be combined with the options for sending, displaying or saving the report
-x,--run-and-deliver-report Create a new report and send it immediately. Note: This command will run until the report is finished, and that could take a while. Can (and should) be combined with the options for sending, displaying or saving the report
-o,--run-and-deliver-old-report Run old report type. Used to have a backward compatibility.
-S,--timeframe-start <timeframe-start> Set the starting date of the timeframe in format: dd.mm.yyyy
-E,--timeframe-end <timeframe-end> Set the ending date of the timeframe in format: dd.mm.yyyy. If start date is set and this parameter not, the current Date is taken as timeframe end.
Known report types in 7.8.2
default
- The output equals the reports in appsuite style. Additionally a beginning and ending timeframe can be set. This report type will be generated, if no other report type is set with option
-t
.
extended
- The extended output adds drive metrics, client logins, quota and context metrics for each capability-set and the whole deployment.
Explanation of the appsuite report console output
Report-type: default
This report type will be generated even without a selected type.
$ /opt/open-xchange/sbin/report -d Starting the Open-Xchange report client. Note that the report generation may take a little while.11:31:30, a7ee832bb74b41f9bf5f7451ba0994fc: 0/7 (0,00 %) UUID: a7ee832bb74b41f9bf5f7451ba0994fc Type: default Total time: 47 milliseconds Avg. time per context: 6 milliseconds Report was finished: Tue Jun 07 11:31:30 CEST 2016
------ report ------- { "configs" : { "com.openexchange.mail.adminMailLoginEnabled" : "false", "com.openexchange.report.appsuite.ReportService" : "LocalReportService" }, "total" : { "timeframe" : { "start" : 1433669490406, "end" : 1465291890406 }, "users-disabled" : 1, "Context-users-max" : 4, "guests" : 1, "links" : 2, "contexts" : 7, "Context-users-min" : 1, "Context-users-avg" : 2, "users" : 18, "contexts-disabled" : 1, "report-format" : "appsuite-short" }, "clientlogincount" : { "appsuite" : "3", "olox2" : "0", "caldav" : "0", "usm-eas" : "0", "mobileapp" : "0", "ox6" : "0", "carddav" : "0" }, "macdetail" : { "capabilitySets" : [ { "client-list" : { "open-xchange-appsuite" : 5, "123" : 1, "olox2" : 1, "mobileapp" : 1, "OpenXchange.HTTPClient.OXAddIn" : 2, "com.openexchange.mobileapp" : 3 }, "capabilities" : [ "active_sync", "autologin", "boxcom", "caldav", "calendar", "carddav", "client-onboarding", "collect_email_addresses", "conflict_handling", "contacts", "delegate_tasks", "dev", "document_preview", "drive", "edit_group", "edit_public_folders", "edit_resource", "filestore", "freebusy", "gab", "google", "groupware", "guard", "guard-drive", "guard-mail", "ical", "infostore", "invite_guests", "messenger", "messenger-group", "mobility", "msliveconnect", "multiple_mail_accounts", "oauth", "olox20", "participants_dialog", "pim", "pop3", "portal", "presenter", "read_create_shared_folders", "remote_presenter", "rt", "search", "share_links", "share_mail_attachments", "spreadsheet", "subscription", "tasks", "testoauthservice", "text", "twitter", "unified-mailbox", "usm", "vcard", "webdav", "webdav_xml", "webmail" ], "admin" : 0, "contexts" : 6, "total" : 11, "Context-users-max" : 3, "quota" : 1048576, "guests" : 1, "disabled" : 1, "links" : 2, "Context-users-min" : 1, "Context-users-avg" : 1 }, { "client-list" : { "open-xchange-appsuite" : 2 }, "total" : 7, "capabilities" : [ "active_sync", "autologin", "boxcom", "caldav", "calendar", "carddav", "client-onboarding", "collect_email_addresses", "conflict_handling", "contacts", "delegate_tasks", "dev", "document_preview", "drive", "edit_group", "edit_public_folders", "edit_resource", "filestore", "freebusy", "gab", "google", "groupware", "guard", "guard-drive", "guard-mail", "ical", "infostore", "invite_guests", "messenger", "messenger-group", "mobility", "msliveconnect", "multiple_mail_accounts", "oauth", "olox20", "participants_dialog", "pim", "pop3", "portal", "presenter", "read_create_shared_folders", "remote_presenter", "rt", "search", "share_links", "share_mail_attachments", "spreadsheet", "subscription", "tasks", "testoauthservice", "text", "twitter", "unified-mailbox", "usm", "vcard", "webdav", "webdav_xml" ], "Context-users-max" : 1, "quota" : 1048576, "guests" : 0, "admin" : 7, "disabled" : 0, "links" : 0, "contexts" : 7, "Context-users-min" : 1, "Context-users-avg" : 1 } ] }, "clientlogincountyear" : { "appsuite" : "7", "olox2" : "2", "caldav" : "0", "usm-eas" : "0", "mobileapp" : "3", "ox6" : "0", "carddav" : "0" }, "uuid" : "a7ee832bb74b41f9bf5f7451ba0994fc", "reportType" : "default", "timestamps" : { "start" : 1465291890406, "stop" : 1465291890453 }, "version" : { "version" : "7.8.2-Rev0", "buildDate" : "develop" }, "operating-system" : { "name" : "Linux", "version" : "4.9.184-linuxkit", "distribution" : "CentOS Linux 7 (Core)" }, "database-version" : "MySQL 5.7.26", "java" : { "version" : "1.8.0_221", "vendor" : "Oracle Corporation" }, "installed-ox-packages" : [ "open-xchange", "open-xchange-admin", "open-xchange-admin-soap", "open-xchange-appsuite", "open-xchange-appsuite-backend","open-xchange-appsuite-help-common", "open-xchange-appsuite-help-de-de", "open-xchange-appsuite-help-en-gb", "open-xchange-appsuite-help-en-us", "open-xchange-appsuite-help-es-es", "open-xchange-appsuite-help-es-mx", "open-xchange-appsuite-help-fr-fr", "open-xchange-appsuite-help-it-it", "open-xchange-appsuite-help-ja-jp", "open-xchange-appsuite-help-nl-nl", "open-xchange-appsuite-help-pl-pl", "open-xchange-appsuite-help-tr-tr", "open-xchange-appsuite-help-zh-cn", "open-xchange-appsuite-help-zh-tw", "open-xchange-appsuite-l10n-de-de", "open-xchange-appsuite-l10n-en-us", "open-xchange-appsuite-manifest", "open-xchange-authentication-database", "open-xchange-authorization-standard", "open-xchange-calendar-printing", "open-xchange-core", "open-xchange-dav", "open-xchange-drive", "open-xchange-drive-comet", "open-xchange-file-distribution", "open-xchange-grizzly", "open-xchange-guidedtours", "open-xchange-halo", "open-xchange-hazelcast-community", "open-xchange-imap", "open-xchange-l10n-de-de", "open-xchange-l10n-en-us", "open-xchange-mailfilter", "open-xchange-manage-group-resource", "open-xchange-messaging", "open-xchange-multifactor", "open-xchange-oauth", "open-xchange-osgi", "open-xchange-passwordchange-database", "open-xchange-pns-impl", "open-xchange-pns-transport-websockets", "open-xchange-pop3", "open-xchange-push-imapidle", "open-xchange-report-client", "open-xchange-rest", "open-xchange-sessionstorage-hazelcast", "open-xchange-smtp", "open-xchange-soap-cxf", "open-xchange-subscribe", "open-xchange-system", "open-xchange-unifiedmail", "open-xchange-websockets-grizzly", "open-xchange-xerces" ], "configured-3rd-party-APIs" : { "oauth" : [ "Twitter" ], "others" : [ "SchedJoules" ] } } ------ end -------
macdetail:
- detailed information about existing module access combinations and its usage
total:
- accumulated user and disabled users, guests, links (anonymous share), the reports timeframe, if not set via arguments the last year is considered and context metrics (min, max, average, disabled and total)
clientlogincountyear:
- number of client logins for the last year (1 year back from current date)
clientlogincount:
- number of client logins for the last month
Additional Information: Both login count values respect only the last client login of a user with a distinct client like olox2 or appsuite. If a user logs in with olox2 and appsuite during the last 30 days, he will be considered in both counts for the clients and also in both timeframes (clientlogincountyear & clientlogincount). If his last login with a client is further away in the past but still in the timeframe of the last year (365 days in the past), he will only be considered in the yearly counter (clientlogincountyear) and not in the last monthly counter (clientlogincount).
uuid:
- a unique id for the report
reportType:
- given name for that report
timestamps:
- timestamps of the start and end time of the report
versions:
- version and build date of the server
configs:
- server configuration (currently only for setting 'com.openexchange.mail.adminMailLoginEnabled')
- What service generated this report, hazelcast or local.
capabilitySets
- client-list: What clients have been used by the users and how often in the considered timeframe
- context-users-...:context metrics (min, max, average, disabled and total)
- disabled: the number of disabled users
- links: number of links created by users
- guests: number of guests, invited by users
- total: total number of users
- admin: total number of admins
- contexts: total number of contexts
- quota: cumulated quota in byte
operating-system:
- name: name of the operating system
- version: version of the operating system
- distribution: name and version of the Linux distribution
database-version:
- version of the database
java:
- version: Java Runtime Environment version number
- vendor: Java Runtime Environment vendor name
installed-ox-packages:
- list of the installed Open-Xchange packages
configured-3rd-party-APIs:
- oauth: 3rd party APIs configured via OAuth e.g. Boxcom, Dropbox, Google, Microsoft, Twitter, XING and Yahoo.
- others: 3rd party APIs configured via other ways e.g. SchedJoules.
Report-type: extended
Starting the Open-Xchange report client. Note that the report generation may take a little while. UUID: e48819025b5043a580b1f8d0d2ac2f2f Type: extended Total time: 198 milliseconds Avg. time per context: 28 milliseconds Report was finished: Tue Jun 07 11:46:05 CEST 2016 ------ report ------- { "configs" : { "com.openexchange.mail.adminMailLoginEnabled" : "false", "com.openexchange.report.appsuite.ReportService" : "LocalReportService" }, "total" : { "timeframe" : { "start" : 1433670365550, "end" : 1465292765550 }, "users-disabled" : 1, "Context-users-max" : 4, "guests" : 1, "links" : 2, "contexts" : 7, "Context-users-min" : 1, "Context-users-avg" : 2, "drive-total" : { "file-size-min" : 141, "file-size-max" : 30018, "file-size-avg" : 9060, "file-size-total" : 81547, "storage-use-min" : 4708, "storage-use-max" : 35568, "storage-use-avg" : 20386, "storage-use-total" : 81547, "file-count-overall-min" : 1, "file-count-overall-max" : 6, "file-count-overall-avg" : 2, "file-count-overall-total" : 9, "file-count-in-timerange-min" : 1, "file-count-in-timerange-max" : 6, "file-count-in-timerange-avg" : 2, "file-count-in-timerange-total" : 9, "external-storages-min" : 0, "external-storages-max" : 1, "external-storages-avg" : 1, "external-storages-total" : 1, "external-storages-users" : 1, "distinct-files-total" : 8, "quota-usage-percent-min" : 0, "quota-usage-percent-avg" : 1, "quota-usage-percent-max" : 6, "users" : 4, "mime-type-text/xml" : 2, "mime-type-application/octet-stream" : 3, "mime-type-text/html" : 1, "mime-type-text/plain" : 3 }, "users" : 18, "contexts-disabled" : 1, "report-format" : "appsuite-short" }, "macdetail" : { "capabilitySets" : [ { "drive-user" : { "file-size-min" : 141, "file-size-max" : 30018, "file-size-avg" : 8786, "file-size-total" : 70294, "storage-use-min" : 4708, "storage-use-max" : 35568, "storage-use-avg" : 23431, "storage-use-total" : 70294, "file-count-overall-min" : 1, "file-count-overall-max" : 6, "file-count-overall-avg" : 2, "file-count-overall-total" : 8, "file-count-in-timerange-min" : 1, "file-count-in-timerange-max" : 6, "file-count-in-timerange-avg" : 2, "file-count-in-timerange-total" : 8, "external-storages-min" : 1, "external-storages-max" : 1, "external-storages-avg" : 1, "external-storages-total" : 1, "external-storages-users" : 1, "distinct-files-total" : 7, "quota-usage-percent-min" : 0, "quota-usage-percent-avg" : 1, "quota-usage-percent-max" : 6, "users" : 3 }, "client-list" : { "open-xchange-appsuite" : 5, "123" : 1, "olox2" : 1, "mobileapp" : 1, "OpenXchange.HTTPClient.OXAddIn" : 2, "com.openexchange.mobileapp" : 3 }, "capabilities" : [ "active_sync", "autologin", "boxcom", "caldav", "calendar", "carddav", "client-onboarding", "collect_email_addresses", "conflict_handling", "contacts", "delegate_tasks", "dev", "document_preview", "drive", "edit_group", "edit_public_folders", "edit_resource", "filestore", "freebusy", "gab", "google", "groupware", "guard", "guard-drive", "guard-mail", "ical", "infostore", "invite_guests", "messenger", "messenger-group", "mobility", "msliveconnect", "multiple_mail_accounts", "oauth", "olox20", "participants_dialog", "pim", "pop3", "portal", "presenter", "read_create_shared_folders", "remote_presenter", "rt", "search", "share_links", "share_mail_attachments", "spreadsheet", "subscription", "tasks", "testoauthservice", "text", "twitter", "unified-mailbox", "usm", "vcard", "webdav", "webdav_xml", "webmail" ], "admin" : 0, "contexts" : 6, "drive-overall" : { "mime-type-application/octet-stream" : 3, "mime-type-text/html" : 1, "mime-type-text/plain" : 3, "mime-type-text/xml" : 1 }, "total" : 11, "Context-users-max" : 3, "quota" : 1048576, "guests" : 1, "disabled" : 1, "links" : 2, "Context-users-min" : 1, "Context-users-avg" : 1 }, { "drive-user" : { "file-size-min" : 11253, "file-size-max" : 11253, "file-size-avg" : 11253, "file-size-total" : 11253, "storage-use-min" : 11253, "storage-use-max" : 11253, "storage-use-avg" : 11253, "storage-use-total" : 11253, "file-count-overall-min" : 1, "file-count-overall-max" : 1, "file-count-overall-avg" : 1, "file-count-overall-total" : 1, "file-count-in-timerange-min" : 1, "file-count-in-timerange-max" : 1, "file-count-in-timerange-avg" : 1, "file-count-in-timerange-total" : 1, "external-storages-min" : 0, "external-storages-max" : 0, "external-storages-avg" : 0, "external-storages-total" : 0, "external-storages-users" : 0, "distinct-files-total" : 1, "quota-usage-percent-min" : 0, "quota-usage-percent-avg" : 1, "quota-usage-percent-max" : 6, "users" : 1 }, "client-list" : { "open-xchange-appsuite" : 2 }, "capabilities" : [ "active_sync", "autologin", "boxcom", "caldav", "calendar", "carddav", "client-onboarding", "collect_email_addresses", "conflict_handling", "contacts", "delegate_tasks", "dev", "document_preview", "drive", "edit_group", "edit_public_folders", "edit_resource", "filestore", "freebusy", "gab", "google", "groupware", "guard", "guard-drive", "guard-mail", "ical", "infostore", "invite_guests", "messenger", "messenger-group", "mobility", "msliveconnect", "multiple_mail_accounts", "oauth", "olox20", "participants_dialog", "pim", "pop3", "portal", "presenter", "read_create_shared_folders", "remote_presenter", "rt", "search", "share_links", "share_mail_attachments", "spreadsheet", "subscription", "tasks", "testoauthservice", "text", "twitter", "unified-mailbox", "usm", "vcard", "webdav", "webdav_xml" ], "admin" : 7, "contexts" : 7, "drive-overall" : { "mime-type-text/xml" : 1 }, "total" : 7, "Context-users-max" : 1, "quota" : 1048576, "guests" : 0, "disabled" : 0, "links" : 0, "Context-users-min" : 1, "Context-users-avg" : 1 } ] }, "uuid" : "e48819025b5043a580b1f8d0d2ac2f2f", "reportType" : "extended", "timestamps" : { "start" : 1465292765550, "stop" : 1465292765748 }, "version" : { "version" : "7.8.2-Rev0", "buildDate" : "develop" } } ------ end -------
Because this report simply enhances the default reports information, only the added components are described.
total
- drive-total (on deployment level)
- file-size-...: file-size values
- storage-use-...: storage usage values
- file-count-overall-...: overall file count values
- file-count-in-timerange-...: file count values inside the considered timeframe
- external-storages-...: exernal storage usage values
- distinct-files-total: how many files are on this deployment, disregarding the versions
- quota-usage-percent-...: how much quota is used in percent values
- users: overall drive users
- ime-type-...: What mime-types and how many of them are there
capabilitySets
drive-user: The drive metrics for this capability set users
- file-size-...: file-size values
- storage-use-...: storage usage values
- file-count-overall-...: overall file count values
- file-count-in-timerange-...: file count values inside the considered timeframe
- external-storages-...: exernal storage usage values
- distinct-files-total: how many files are on this deployment, disregarding the versions
- quota-usage-percent-...: how much quota is used in percent values
- users : overall drive users
drive-overall: All file mime-types and their amount.
Explanation of the old console output
$ /opt/open-xchange/sbin/report -o -d
Starting the Open-Xchange report client. Note that the report generation may take a little while.
module version\
admin 6.20.5 Rev1 groupware 6.20.5 Rev1
contexts users guests links
5 19 22 10
mac count adm disabled
268435455 6 1 0
237044501 48 0 0
5 2 2 0
key value
com.openexchange.mail.adminMailLoginEnabled true
usmeas olox2 mobileapp carddav caldav
1 0 0 0 0
usmeasyear olox2year mobileappyear carddavyear caldavyear
4 12 7 11 10
contexts:
- total number of contexts
users:
- total number of users
guests:
- total number of guests
links:
- total number of links shared to anonymous users
mac:
- decimal value of the module access. For conversion decimal to human readable permission please use report -b as described below
count:
- amount of users with this module access
adm:
- amount of admin users with this specific module access
disabled:
- amount of users that are disabled
key:
- key of the configuration property
value:
- value of the configuration property
The last rows show the amount of users that did login to Open-Xchange within the ''last 30 days'' and ''the last year'' using the specified OXtender/service.
If you want to know the access permissions of a specific mac, run e.g.
$ /opt/open-xchange/sbin/report -b 237044501
usmeas:
- using mobile phone via active sync (OXtender for Business Mobility) within the last 30 days
olox2:
- using OXtender 2 for Microsoft Outlook within the last 30 days
mobileapp:
- using Open-Xchange Mobile Web Interface within the last 30 days
carddav/caldav:
- using the CalDAV/CardDAV feature within the last 30 days
usmeasyear:
- using mobile phone via active sync (OXtender for Business Mobility) within the last year
olox2:
- using OXtender 2 for Microsoft Outlook within the last year
mobileapp:
- using Open-Xchange Mobile Web Interface within the last year
carddav/caldav:
- using the CalDAV/CardDAV feature within the last year
Example: a value of 7 below olox2 means, that within the last 30 days, 7 different users used the OXtender 2 for Microsoft Outlook to connect to Open-Xchange.
Automatic reports
Creating a cron entry which will automatically execute the report client once a week saves a lot of work. To create this cron entry execute:
$ vim /etc/cron.d/open-xchange\_report
0 3 \* \* 7 open-xchange /opt/open-xchange/sbin/report -s -x 1> /dev/null 2>&1