Skip to content

Automatically create hierarchies of symlinks to Zenoss performance data rrd files for visualisation in Graphite.

Notifications You must be signed in to change notification settings

amorphic/graphite-zenossMetrics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 

Repository files navigation

graphite-zenossMetrics

Automatically creates symlinks to Zenoss performance data rrd files for visualisation and analysis in Graphite.

Zenoss is a unified monitoring solution, available in Enterprise and Open Source versions. Zenoss collects performance metric values and stored them in rrd files.

Graphite natively supports rrd. By symlinking to Zenoss rrd files from a Graphite server, Graphite's powerful visualisation, analytics and dashboarding may be applied to Zenoss metrics for free.

Note: graphite-zenossMetrics is currently designed to symlink metrics for Linux servers and network devices. However, adding Windows and other devices would be trivial.

Requirements

  • A Zenoss installation, with Zenoss performance data directory, (/opt/zenoss/perf/ by default) exported as an NFS share.
  • A Graphite installation, with rrd enabled and the Zenoss performance data NFS share mounted.

Configuration

Configuration is set in config.py.

Set zenossRoot to the location of the Zenoss performance data NFS mount:

# root directory of Zenoss metric RRD files
# this should be an nfs mount to /opt/zenoss/perf on the Zenoss server
zenossRoot = '/mnt/nfs/zenossrrd/perf'

Set graphiteRoot to the location under which the Zenoss metrics will be symlinked:

# root path of Zenoss metrics
graphiteRoot = '/opt/graphite/storage/rrd/Zenoss'

Add regexes that match the hostnames of the devices whose metrics you wish to symlink to:

# regexes to match Zenoss device names
devicePatterns = [
    '.*'
]

Enable/Disable logging of symlink creation and device cleanup

# log symlink creation and deleted device cleanup to stdout
logging = False

Enable/Disable device cleanup for devices that have been deleted from Zenoss

# delete old devices from graphiteRoot
deleteOld = True

Usage

Once configuration is complete, simply run graphite-zenossMetrics.py with Python:

>python graphite-zenossMetrics.py

To keep your symlinks up to date, create a cron job to run this regularly. Any new devices will be added and any devices no longer in Zenoss will be removed.

About

Automatically create hierarchies of symlinks to Zenoss performance data rrd files for visualisation in Graphite.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages