My favorites | Sign in
Project Logo
             
Search
for
Updated Dec 02, 2009 by austin.ok
SocorroUIInstallation  
Instructions for installing the Socorro UI

Upgrading? See SocorroUpgrade

Installing Socorro UI

Check Socorro DB

Now that you have data in your dumps and reports tables, you are ready to setup the Socorro UI. Crash Dump data flows from the Breakpad Client to the Socorro Backend collector onto the filesystem. Next a processor run via the jobs table populates the reports table.

Populate with Products and Versions

insert into the branches table values for product, version, and branch.

Example: product=Firefox, version=3.0.5. branch=1.9

These values should match what is coming in from your collector/processor.

product and version are the more important columns here. If you project doesn't track at the branch level, just set this to 1.0 or some other value. This is implicit knowlelge of your release engineer and unneeded if your product has only one mainline of development you may not need branch.

Mozilla uses branch as another way to narrow down results, for us it mirrors our Gecko platform,1.9, 1.9.1, etc.

Your products and versions should be setup in the admin branches screen.

Now that we have data, we are ready to install the frontend UI.

Apache Server Configuration

  1. Set up Apache with a vhost as you see fit -- you will need AllowOverride to enable .htaccess files OR you may paste the .htaccess rules into your vhost config
  2. Check out the code and place it in your DocumentRoot:
  3. svn checkout http://socorro.googlecode.com/svn/trunk/webapp-php /data/www/mycrashreporter

PHP Webapp Installation

  1. Copy htaccess-dist to .htaccess, tweak for installation host path if it's not at the domain root.
  2. cp htaccess-dist .htaccess 
    vim htaccess
  3. Change hosting path and domain in application/config/config.php
  4. cp application/config/config.php-dist application/config/config.php
    vim application/config/config.php
  5. Change database settings in application/config/database.php
  6. cp application/config/database.php-dist application/config/database.php
    vim application/config/database.php
  7. Switch between file-based or memcache-based caching in application/config/cache.php
  8. vim application/config/cache.php
  9. Change memcache settings in application/config/cache_memcache.php
  10. cp application/config/cache_memcache.php-dist application/config/cache_memcache.php
    vim application/config/cache_memcache.php
  11. Copy all other dist files to their config location
  12. cp application/config/application.php-dist application/config/application.php
    cp application/config/webserviceclient.php-dist application/config/webserviceclient.php
  13. Setup Authentication - NoAuth mode
  14. cp application/config/auth.php-dist application/config/auth.php
  15. Optionally - You can configure this auth.php file to use LDAP or other forms of authentication. LDAP example:... edit auth.php and set
  16. $config['driver'] = 'LDAP';
    -- running without https support? use
    $config['proto'] = 'http';
    
    -- next you'll need to enter your LDAP settings:
    cp application/config/ldap.php-dist application/config/ldap.php
  17. Ensure that the application logs and cache directories can be written to (optional)
  18. chmod a+rw application/logs application/cache

Note: Configuration files such as config.php-dist are not suitable for a production installation! Please lock down dev friendly config settings such as:

$config['display_errors'] = FALSE;

Application Customization

SocorroReporterConfiguration - explains how to customize aspects of the reporter.

Cron Job Installation

There is also a "Canned Reports" aspect to the UI. These are populated via cron jobs.

Topcrasher Script

cp socorro/cron/topcrashes_config.py.dist socorro/cron/topcrashes_config.py
  1. Be sure to configure socorro/cron/topcrashes_config.py with all of the custom default information:
  2. Some options of note(all of these can be configured on the cli with their respective options)
  3. Using the initMode flag(-I), we need to do an initial import of the existing report data. This call will ignore the processingInterval option, and slurp all the crash data within the last two weeks.
  4. After the initial import, we just need to setup the cron job to execute the script. If the config options are configured correctly, the script can be executed with no arguments.

ServerStatus Script

Similar to Topcrasher Script... It should be configured for 5 minute cron job. See ServerStatus for details.

Topcrasher By Url

Similar to Topcrasher Script...

cp scripts/config/topcrashbyurlconfig.py.dist scripts/config/topcrashbyurlconfig.py

It should be configured for 5 minute cron job. See TopCrashersByUrl for details.

Mean Time Before Failure Script

Similar to Topcrasher Script...

cp scripts/config/mtbfconfig.py.dist scripts/config/mtbfconfig.py

It should be configured for once per day runs. See MeanTimeBeforeFailure for details.

Testing our setup

The homepage search screen lets you do ad hoc queries.

The way it filters is to join the branches table to the reports table and constrain it by date_processed. If you aren’t getting any results, look into the reports table and pick an item. If the date_processed was “Feb 12th, 2009” then use the date picker to choose “Feb 13th, 2009” and leave the date range at 1 week.

So now that you have search working, next up are reports: These are powered by cron jobs which will populate various tables http://code.google.com/p/socorro/wiki/Deployment mentions topcrashers signature and server status also there are http://code.google.com/p/socorro/wiki/MeanTimeBeforeFailure http://code.google.com/p/socorro/wiki/TopCrashersByUrl


Sign in to add a comment
Hosted by Google Code