Channel Access protocol monitoring system
Python HTML JavaScript Shell CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
daemon
web
.gitignore
LICENSE
README.md

README.md

EPICS Channel Access Observer

Monitoring and reporting about Channel Access network broadcasts.

Required debian packages

The caspy daemon requires:

  1. python >=2.7, <3.0
  2. python-twisted-core >=12.0
  3. python-twisted-web >=12.0
  4. python-pymongo >=2.2
  5. mongodb-server >=2.4

The caobserver web app. requires:

  1. python >=2.7, <3.0
  2. python-django >=1.7
  3. matplotlib >= 1.1
  4. libjs-jquery >=1.7
  5. libjs-flot >=0.7
  6. python-pymongo >=2.2
  7. mongodb-server >=2.4

Setup caspy

The caspy daemon is configured through a configuration file. The default is to use a local mongodb server.

To test, run from the daemon directory.

$ twistd -n caspy

Setup caobserver with Apache mod_wsgi

The following assumes that this repository is checked out to /var/observ.

In web/ First run:

$ ./manage.py collectstatic

This will populate /var/observ/web/topstatic.

Apache vhost configuration based on default Apache on Debian.

<VirtualHost *:80>
    ServerName router.local
    ServerAlias router
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    Alias /static/ /var/observ/web/topstatic/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Order allow,deny
        allow from all
    </Directory>

    WSGIDaemonProcess app1
    WSGIScriptAlias /ca /var/observ/web/caobserver/wsgi.py

    <Directory /var/observ/web/caobserver>
        Order allow,deny
        allow from all
    </Directory>
    <Location /ca>
        WSGIProcessGroup app1
    </Location>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Copyright

Copyright (C) 2015 Michael Davidsaver

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.