Usage Tracker Installation
Contents
System requirements
- Java runtime environment (openjdk)
- Apache Tomcat version 5.0 or higher
- MongoDB version 2.2 or higher
Download
Download the latest version of the Usage Tracker from the latest Stable Build (org.gcube.accounting.usagetracker-2.1.0-0.tar.gz) Make sure you get the latest Build.
Install
Create the installation directory /opt/gcube-accounting
Create the log directory /var/log/gcube-accounting
Once you've downloaded the package, extract the Usage Tracker tar.gz into /opt/gcube-accounting folder on your machine.
Prerequisites
The Usage Tracker adopts a document-oriented database (MongoDB in the current implementation) to persist records. A running instance of MongoDB is expected by the Usage Tracker. The instance can either run on the local machine or a remote one.
Configuration
Configuration of the usage tracker is entirely property-file-based. The pre-defined location for configuration files is /opt/gcube-accounting/etc/. Two configuration files are expected by the usage tracker:
/opt/gcube-accounting/etc/gcube-accounting-usagetracker.properties /opt/gcube-accounting/etc/gcube-accounting-usagetracker-log4j.properties
The first one provides connection parameters (e.g. location, db name, username, password) for the records database. The second one just configures logging facilities.
You should disable the Usage Tracker internal security by editing the first configuration file in this way:
authn.enabled = false authz.enabled = false
Besides, you should configure the infrastructure properties related to the Message Broker instance (in particular endpoint and scopes):
infrastructure.broker = <protocol>://<brokerEndpoint>:<port> infrastructure.scopes = <scopes>
it is strongly suggested to use a failover transport to eneble the Usage Tracker to autonomously reconnect to the broker after a failure or a restart:
infrastructure.broker = failover:(<protocol>://<brokerEndpoint>:<port>)
failover transport also supports multiple brokers:
infrastructure.broker = failover:(<protocol>://<brokerEndpoint>:<port>,<protocol2>://<brokerEndpoint2>:<port2>,<protocol3>://<brokerEndpoint3>:<port3>)
with randomized load balancing or several different options.
You should enable/disable the use of the remote database instance (MongoDB cluster):
# where the database is hosted dbHost = <hostname> # on what port it responds dbPort = <port> # the name of the database dbName = <databaseName> # database authentication dbAuthn = <false|true> # db account information dbUser = <dbUsername> dbPassword = <dbPassword>
Deploying the Usage Tracker in Tomcat
The service should be manually deployed:
- copy the context file (i.e. /opt/gcube-accounting/etc/usagetracker.xml) to /etc/tomcat«ver»/conf/Catalina/localhost/
- make sure Tomcat is up and running
Testing your installation
Connect to http://<deployhost>:8080/usagetracker/rest/usagerecords you should get an empty XML result:
<rawUsagerecords/>
IS integration
The Usage Tracker service must be registered as a Runtime Resource on the IS, using the Resources Management portlet. Below is an example of the resource configuration:
<Resource version="..."> <ID>...</ID> <Type>RuntimeResource</Type> <Scopes> <Scope>...</Scope> </Scopes> <Profile> <Category>Service</Category> <Name>UsageTracker</Name> <Description /> <Platform> <Name>UsageTracker</Name> <Version>2</Version> <MinorVersion>2</MinorVersion> <RevisionVersion>2</RevisionVersion> <BuildVersion>2</BuildVersion> </Platform> <RunTime> <HostedOn>hostname</HostedOn> <GHN UniqueID="" /> <Status>READY</Status> </RunTime> <AccessPoint> <Description>UsageTracker Interface</Description> <Interface> <Endpoint EntryName="usageTrackerInterface">http://hostname:8080/usagetracker/rest</Endpoint> </Interface> <AccessData> <Username /> <Password>...</Password> </AccessData> </AccessPoint> </Profile> </Resource>