Skip to content

Latest commit

 

History

History
99 lines (65 loc) · 2.51 KB

README.md

File metadata and controls

99 lines (65 loc) · 2.51 KB

HTM Engine

HTM Engine is the framework upon which anomaly detection applications may be built.

Installation

First, install nta.utils. Then, to install htmengine:

python setup.py develop --install-dir=<site-packages in $PYTHONPATH>
  • --install-dir must specify a location in your PYTHONPATH, typically something that ends with "site-packages". If not specified, system default is used.

Requirements

Environment Variables

APPLICATION_CONFIG_PATH (REQUIRED): Directory path where active application-specific configuration files are located.

Usage

HTM Engine exposes a number of services that can be used to process custom metrics.

Metric Listener

htmengine.runtime.metric_listener

Lightweight service that listens on a socket, exposes a graphite-compatible interface for accepting metric data and forwards to Metric Storer.

Metric Storer

htmengine.runtime.metric_storer

Background process that saves metric data to database.

Model Scheduler

htmengine.model_swapper.model_scheduler_service

Streams metric data to models and records results.

Anomaly Service

htmengine.runtime.anomaly_service

Computes log-likelihood anomaly scores for each metric.


See conf/supervisord-base.conf for invocation of individual services. To include htmengine services in an application, include conf/supervisord-base.conf in a complete supervisord configuration. For example:

[unix_http_server]
file=%(here)s/../taurus-supervisor.sock   ; (the path to the socket file)

[inet_http_server]
port=127.0.0.1:9001

[supervisord]
environment=APPLICATION_CONFIG_PATH=/opt/numenta/taurus/conf
pidfile=%(here)s/../taurus-supervisord.pid
identifier=taurus-supervisor
logfile=%(here)s/../logs/taurus-supervisord.log
# NOTE: logfile_maxbytes=0 turns off supervisor log rotation to prevent conflict
# with Taurus' higher-level log rotation triggered by crontab
logfile_maxbytes=0
logfile_backups=10
loglevel=info
nodaemon=false
minfds=1024
minprocs=200

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisorctl]
serverurl=http://:

[include]
files = ../../htmengine/conf/supervisord-base.conf