Performance, exception, and uptime monitoring for the Web
Use the ansible or vagrant scripts in the automation
repository to build complete instance of application.
You can also use packer
files in automation/packer
to create whole VM's for KVM and VMWare.
https://github.com/AppEnlight/automation
To run the app you need to have meet prerequsites:
- python 3.5+ (currently 3.6 tested)
- running elasticsearch (6.6.2 tested)
- running postgresql (9.5+ required, tested 9.6 and 10.6)
- running redis
Install the app by performing
pip install -r requirements.txt
python setup.py develop
Install the appenlight uptime plugin (ae_uptime_ce
package from appenlight-uptime-ce
repository).
For production usage you can do:
pip install appenlight
pip install ae_uptime_ce
After installing the application you need to perform following steps:
-
(optional) generate production.ini (or use a copy of development.ini)
appenlight-make-config production.ini
-
Setup database structure (replace filename with the name you picked for
appenlight-make-config
):appenlight-migratedb -c FILENAME.ini
-
To configure elasticsearch:
appenlight-reindex-elasticsearch -t all -c FILENAME.ini
-
Create base database objects
(run this command with help flag to see how to create administrator user)
appenlight-initializedb -c FILENAME.ini
-
Generate static assets
appenlight-static -c FILENAME.ini
To run the main app:
pserve FILENAME.ini
To run celery workers:
celery worker -A appenlight.celery -Q "reports,logs,metrics,default" --ini FILENAME.ini
To run celery beat:
celery beat -A appenlight.celery --ini FILENAME.ini
To run appenlight's uptime plugin (example of uptime plugin config can be found here https://github.com/AppEnlight/appenlight-uptime-ce ):
appenlight-uptime-monitor -c UPTIME_PLUGIN_CONFIG_FILENAME.ini
You should also run the `channelstream websocket server for real-time notifications
channelstream -i CHANELSTRAM_CONFIG_FILENAME.ini
Visit https://getappenlight.com for additional server and client documentation.
To run test suite:
py.test appenlight/tests/tests.py --cov appenlight (this looks for testing.ini in repo root)
To develop appenlight frontend:
cd frontend
npm install
grunt watch