RETIRED, Fuel anonymous statistics collector
Go to file
Kate Pimenova 06c0be3292 Fixes for UI layout
- fixed labels position for Charts
    - fixed layout for reports

Closes-Bug: #1474920

Change-Id: I632d7c34828bfa3a1d778ca5eb974e0f4b86fdd7
2015-08-07 13:53:06 +03:00
analytics Fixes for UI layout 2015-08-07 13:53:06 +03:00
collector Installation info filtering rules added to collector 2015-05-21 11:45:54 +03:00
migration We shouldn't show filtered stats in the web UI 2015-06-29 17:00:49 +03:00
.gitignore Filtered stats excluded from CSV reports 2015-06-30 17:19:36 +03:00
.gitreview Installation struct API call 2014-10-13 19:31:11 +04:00
LICENSE Wrong license file fixed 2015-07-02 17:34:02 +03:00
README.md Merge "Refactoring with gulp and bower" 2014-12-01 12:38:29 +00:00

README.md

collector

Prototype of statistic collector

Requirements

System requirements: postgresql database server of version 9.3 or greater.

To install python requirements use command: pip install -r {corresponding_requirement_file}

Operations

By default manage_collector.py works with prod settings. For working with test settings use python manage_collector.py --mode option.

For creating DB migration:

python manage_collector.py --mode test db migrate -m "Migration comment" \
-d collector/api/db/migrations/

Create DB user with password 'collector':

sudo -u postgres createuser -DES collector

or:

sudo -u postgres psql
CREATE ROLE collector WITH NOSUPERUSER NOCREATEDB NOCREATEROLE LOGIN ENCRYPTED PASSWORD 'collector';

Create DB and grant privileges to it:

sudo -u postgres psql
CREATE DATABASE collector;
GRANT ALL ON DATABASE collector TO collector;

For apply the latest migration:

python manage_collector.py --mode test db upgrade -d collector/api/db/migrations/

For revert all migrations:

python manage_collector.py --mode test db downgrade -d collector/api/db/migrations/

For starting test server:

python manage_collector.py --mode test runserver

Example config for uWSGI is located in collector/uwsgi/collector_test.yaml

Local setup

To run statistics UI locally you need to do the following:

Install elasticsearch 1.3

pip install elasticsearch

Run test_report from NodesDistribution

prepare virtualenv:

    cd fuel-stats
    virtualenv .venv
    source .venv/bin/activate
    pip install -r collector/test-requirements.txt
    cd migration

run tests:

    nosetests migration.test.report.test_reports:Reports.test_libvirt_type_distribution

or

    nosetests migration.test.report.test_os_distribution:OsDistribution


this will create demo data from elasticsearch

Install elasticsearch service

you can use this helpfull gist https://gist.github.com/wingdspur/2026107

And don't forget to start elasticsearch service

sudo service elasticsearch start

Nginx installation

sudo apt-get install nginx

fix Nginx config:

    server {
        listen 8888;       // your free port
        location / {
            root /home/kpimenova/fuel/fuel-stats/analytics/static;    // your path to fuel-stats/analytics/static
        }
        location ~ ^(/fuel)?(/[A-Za-z_0-9])?/(_count|_search) {
            proxy_pass http://127.0.0.1:9200;
        }
    }

Then restart Nginx:

service nginx restart

After this your local server will be available at 0.0.0.0:8888 // or any other port you've set up :)

Also for correct UI work you need to setup a few things

Install nodejs packages

cd fuel-stats/analytics/static
npm install

Install bower packages

cd fuel-stats/analytics/static
gulp bower

That's all.

You can anytime lint your code by running

gulp lint