Skip to main content
Travis (.com) https://img.shields.io/coveralls/github/watcheye/watcheye-collector.svg https://img.shields.io/pypi/v/watcheye-collector.svg https://img.shields.io/pypi/format/watcheye-collector.svg https://img.shields.io/pypi/djversions/watcheye-collector.svg https://img.shields.io/pypi/pyversions/watcheye-collector.svg https://img.shields.io/pypi/status/watcheye-collector.svg https://img.shields.io/github/license/watcheye/watcheye-collector.svg

Collector

Collector is a Django application to collect monitoring data samples through HTTP or SNMP GET interface. Collected data might be then visualized using e.g. Grafana.

Dependencies

Collector uses InfluxDB time series database for storing monitoring data samples and django supported database for storing configuration and Redis broker.

Quick start

Assuming InfluxDB is properly configured (setting up authentication is recommended) and so is Redis broker just a few steps are required.

  1. Install watcheye-collector:

    $ pip install watcheye-collector
  2. Add collector application to INSTALLED_APPS setting.

    INSTALLED_APPS = [
        ...
        'collector',
    ]
  3. Integrate Celery with your django project (see Celery documentation for further reference).

  4. Add InfluxDB connection and Celery configuration in settings.py file:

    INFLUXDB_HOST = 'my_host'
    INFLUXDB_USERNAME = 'user'
    INFLUXDB_PASSWORD = 'secret'
    
    CELERY_BEAT_SCHEDULE = {
        'snmp-scheduler': {
            'task': 'collector.tasks.snmp_scheduler',
            'schedule': crontab(minute='*')
        }
    }
    CELERY_RESULT_BACKEND = 'redis://my_broker_host/0'
    CELERY_BROKER_URL = 'redis://my_broker_host/1'
    
    # to use non-default values configure also:
    INFLUXDB_PORT = 1234
    INFLUXDB_DATABASE = 'my_database'
    INFLUXDB_RETENTION_POLICY = 'my_policy'
    INFLUXDB_DURATION = '30d'
  5. To set InfluxDB instance up run:

    python manage.py setupinfluxdb --username <admin_username>
  6. To create the collector models run:

    python manage.py migrate
  7. Include the collector URLconf in your project urls.py:

    path('collector/', include('collector.urls')),
  8. Start the development server and visit http://127.0.0.1:8000/admin/ to create a collector configuration (the Admin application must also be enabled).

  9. Run Celery worker with:

    celery --beat --app <my_project> worker
  10. POST some samples:

    $ curl -i -X POST \
    -H "Content-Type: application/json" \
    -d '{"host":"test", "timestamp": 1500000000,
    "samples": [{"parameter":"CPU", "value": 10}]}' \
    http://127.0.0.1:8000/collector/

Release files for watcheye-collector 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for watcheye-collector 2.0.0
File Size Uploaded
watcheye-collector-2.0.0.tar.gz 25.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for watcheye-collector 2.0.0
File Interpreter ABI Platform
watcheye_collector-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 58.1 kB

Release files / watcheye-collector-2.0.0.tar.gz

Download URL watcheye-collector-2.0.0.tar.gz
Size 25.9 kB
Tags Source
SHA-256 checksum
How to use checksums
2ebe7a105dce429ebe9c9d0589d59682bd6d3efc9f82c6d743f526ed2010c8c0
BLAKE2b-256 checksum
How to use checksums
bacb974af5731a6b0c077d088ede0418c167f9c8296e7e7e96a2a14e7438db26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release files / watcheye_collector-2.0.0-py3-none-any.whl

Download URL watcheye_collector-2.0.0-py3-none-any.whl
Size 32.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f5a9f2e62b7b3fcd9bd2ec3ee86067099b490e8e475cf988d760fa5a4ce0486b
BLAKE2b-256 checksum
How to use checksums
a4b6dae78197bab842b4880740b9860426740295cd4f15d9eb0c3511712fe43d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page