Selena is a tool for monitoring website performance by monitoring response times, response codes and site content (via keyword checks).
This is its agent part responsible for gathering the data and sending back the results.
Selena agent requires Python 2.7 which is included in the latest Ubuntu Server 12.04 LTS systems:
$ sudo apt-get install python-dev python-virtualenv
Dependencies:
$ sudo apt-get install libcurl3 libcurl4-openssl-dev
Selena agent communicates with a central queue with Redis as the broker. Install redis:
$ sudo apt-get install redis-server
Since lost tasks can always be sent again, the durability guarantees which Redis
provides by default are not necessary. You can significantly speed up the queue
by commenting out the save
lines from /etc/redis/redis.conf
.
We can check the status of the Redis server:
$ redis-cli -h localhost -p 6379 -n 0 info
Create a virtual environment for Python in the user's home directory:
$ virtualenv . --distribute --no-site-packages
Unprivileged and not owned by a person:
$ sudo adduser --home /home/selena-agent selena-agent $ sudo su - selena-agent
In any shell the user can activate the virtual environment. As a result, the default Python executable and helper scripts will point to those within the virtualenv directory structure:
$ which python /usr/local/bin/python $ source bin/activate (selena-agent)$ which python /home/selena-agent/bin/python
Simply invoke:
(selena-agent)$ pip install selena-agent
Alternatively, to live on the bleeding edge, you can clone the selena-agent git
repository to project
and install it manually:
(selena-agent)$ git clone git://github.com/allegro/selena-agent.git project (selena-agent)$ cd project (selena-agent)$ pip install -e .
Create file selena-agent/settings-local.py
and fill in the appropriate data:
Fill Redis connection data:
REDIS_CONNECTION = { 'HOST': 'your redis host', 'PORT': 'your redis port', 'DB': None, 'PASSWORD': None, }
RQ queue name:
QUEUE_NAME = 'your RQ queue name'
The salt has to match the one from the main Selena administration page:
SALT = 'taken from Selena system'
To run selena-agent use the command:
(selena-agent)$ selena-agent
Selena is licensed under the Apache License, v2.0.
Copyright (c) 2013-2014 Allegro Group.