A package for collecting time series metrics from networks, with good support for SNMP.
Python Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Updating link in docs to Internet-repo rpm Apr 21, 2016
esmond Fix an issue where connections errors will get masked Oct 5, 2016
esmond_client Bumping RPM and esmond_client to 2.0 Mar 3, 2016
rpm Bumping version Jul 31, 2016
sql Change the remaining non-polling code to use ifName rather than Jun 26, 2014
.gitignore Update .gitignore and fix an error in the settings.py file. Jan 12, 2016
AUTHORS update authors; update copyright dates; update documentation authors;… Nov 26, 2013
COPYING update authors; update copyright dates; update documentation authors;… Nov 26, 2013
INSTALL restructure Jun 8, 2007
README.rst Update README.rst Jan 21, 2016
TODO Merge up to date default/master branch into the pS branch for tests a… Mar 11, 2014
mkdevenv Modified mkdevenv script - pip and setup tools need to upgrade before… May 7, 2014
pylint.rc Checkpointing some linting changes. Jan 13, 2016
setup.py Move mock to package dependencies. May 2, 2016


https://travis-ci.org/esnet/esmond.svg?branch=develop https://coveralls.io/repos/esnet/esmond/badge.png?branch=develop

esmond: ESnet Monitoring Daemon

At this time esmond is only supported as part of the perfSONAR toolkit.

esmond is a system for collecting, storing, visualizing and analyzing large sets of timeseries data. It was driven by the needs of the ESnet engineering team but is likely useful to a much wider audience. esmond has a RESTful API which allows easy access to the data which is collected. The original focus was on collecting SNMP timeseries data which is still the system's forte, but there is support for generalized timeseries data. The perfSONAR project has begun using esmond to store timeseries of network measurements.

esmond uses a hybrid model for storing data. Timeseries data such as interface counters is stored using Cassandra. esmond will save the raw data, and create summarizations similar to RRD. However, the system never discards data through summarization, which distinguishes it from RRD (and whisper/ceres). Metadata (such as interface description and interface types from SNMP) are stored in an SQL database. Storing this data in an SQL database allows us to use the full expressiveness of SQL to query this data. Since this data changes relatively infrequently the demands placed on the SQL server are fairly modest. Our production server uses PostgreSQL, but it's likely that SQLite would work just fine. Data can be visualized using Graphite or through custom visualizations which can query the RESTful API.

The documentation has a lot more details.