Analytics

From CoGepedia
Revision as of 11:49, 12 February 2013 by Rchasman (Talk | contribs)

Jump to: navigation, search

CoGe - Analytics

CoGe Analytics is a metrics and analytics engine for the CoGe platform written on Clojure's web framework Noir.


How To: Deploy on a Server via Apache Webserver

Prerequisites:

(You can install these CLI tools using your linux distributions preferred package manager)


Get Analytics Running:

  1. Once you have all the prerequisites installed, you need to get the Greentea (Analytics) repo from Github.
    1. Run: `$ git clone https://github.com/LyonsLab/Greentea.git`
  2. Inside the cloned directory run: `$ lein run &` it should pull in all the required dependencies* and start a Jetty servlet running on port 3456.
    1. Check localhost:3456 to verify that the analytics platform is running.

Configure Apache to Proxy the /analytics Endpoint

  1. Now to setup apache to point localhost/analytics/ to port 3456
    1. Open '/etc/apache2/apache.conf' in your favorite editor and add these lines:
RewriteEngine On 
NameVirtualHost *:90 
Listen 90

<VirtualHost *:90> 
ServerAdmin coge.genome@gmail.com ServerName localhost 
#ServerAlias geco.com.analytics
ErrorLog /home/rchasman/logs/error.log CustomLog <PATH>/logs/access.log combined LogLevel warn 
<Directory <PATH>/Greentea/resources/public/>                    
  AllowOverride All                                                        
  Order Allow,Deny                                                         
  Allow from all                                                           
</Directory>                                                                 
                                                              
DocumentRoot <PATH>/Greentea/resources/public                    
                                                              
ProxyPass /analytics/ http://localhost:3456/analytics/                       
ProxyPassReverse /analytics/ http://localhost:3456/analytics/                
                                                              
ProxyPass /analytics http://localhost:3456/analytics/                        
ProxyPassReverse /analytics http://localhost:3456/analytics/                 
                                                              
ProxyPass /greentea/ http://localhost:3456/greentea/                         
ProxyPassReverse /greentea/ http://localhost:3456/greentea/                  
                                                              
ProxyPass /greentea http://localhost:3456/greentea/                          
ProxyPassReverse /greentea http://localhost:3456/greentea/                   
</VirtualHost> 

*In the case of a common dependency issue with iplant-clojure-commons:

  1. We need to point to the missing dependency manually:
    1. Run: 
`$ git clone https://github.com/iPlantCollaborativeOpenSource/iplant-clojure-commons.git`
    1. In the iplant-clojure-commons directory, run: 

`$ lein uberjar`

In lein 2.0 this will create a file at "<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar"
    1. Replacing with appropriate <PATH>, run:
`mvn install:install-file -DgroupId=org.iplantc -DartifactId=clojure-commons -Dversion=1.3.3-SNAPSHOT -Dpackaging=jar -Dfile=<PATH>/iplant-clojure-commons/clojure-commons-1.3.3-SNAPSHOT-standalone.jar`
    1. Now try

`$ lein clean`

and then

`$ lein run`

The dependency issue should be resolved.