The official RANGES home page
What is RANGES?
RANGES is a combination of shell script and embedded awk scripts which
utilise various internal and external programs and optional user-provided
scripts, along with RRDTOOL as a data-storage and graphing tool.
RANGES main benefits are a very simple yet flexible configuration
for data collection, an efficient single-source collection of any
given data element regardless of how many times it is subsequently
used, the ability to graph an arbitary number of data sources on
a graph, to replicate or move data between graphs and change the
display format to suit - all without losing historical data.
RANGES also incoroprates alarms, to alert you (or others) when
data is outside thresholds you specify, and/or to run commands
or scripts under these circumstances.
RANGES collects all data at once, after which all alarm monitoring,
graphing etc is performed. It is possible to run multiple collection
threads and/or to have the collection run seperately to graphing.
History
Ranges was originally conceived as a "demonstration" of how one of
the common unix tools, awk could be used to do non-trivial
tasks. RANGES is an acronym for "Ross And Nick Graph Everything Simply".
RANGES main purpose in life was to overcome some of the limitations
of MRTG at the time - particularly the requirements for at most two
variables per graph, the relative difficulty to import data from
sources other than SNMP, the inefficiency of having to re-read data
from sources if they were to be used in more than one graph and that
data could not be "re-arranged" or moved between graphs at a later time.
Since the original version was released to a closed group of friends
in May 2000, comments, suggestions and feature-requests, along with our own
in-house needs has seen RANGES learn various new tricks.
Where do I get RANGES?
The latest version of RANGES is available here.
A sample configuration file has enough examples and notes to get you started.
Mark Russell, one of the early adopters of RANGES was motivated enough to roll a
FreeBSD port
which checks for required dependancies etc. Thanks heaps Mark!
What can I graph with RANGES?
You can graph basically anything you can describe in numerical terms.
Some of the things people have graphed include:
- Data through routers, switches, interfaces
- Data to/from hosts/clients through ipfw pipes or rules
- Environment variables
- Temperature
- Wind Speed
- Wind Direction
- Humidity
- Barometric Pressure
- Rainfall
- Dewpoint
- Cloudbase
- Radiation (PAR, NIR, Visible)
- Disk Space in Use
- Disk Space available
- RAM available on routers and servers
- Machine load (CPU) on routers and servers
- Number of processes
- Number of routes
- Router Interface Status (up/down)
- Firewall statistics
- Traffic by protocol (ICMP, UDP, TCP etc)
- Traffic by type/port (smtp, http, pop, dns etc)
- UPS monitoring
- Utility voltage
- Output voltage
- Battery voltage
- Output Load (Percent, VA, Watts, Amps)
- Temperature
- Run Time
- Frequency
- Number of users (absolute numbers and/or percent)
- Ping times
- Packet loss
- Mail
- Rejected - Virus
- Rejected - Unknown
- Rejected - RBL
- Rejected - various other reasons
- Failures
- Queued
- Delivered
- Wireless links
- Signal Strength
- Signal Quality
- Packet Loss
- Noise
- Throughput
- Number of connected nodes
- Log file growth rates
- Netflow data (flows/bytes/packets)
There are no doubt lots of other things people have graphed, these are just a few.
You are really only limited by your imagination. As long as you can collect data
using a script or program (or SNMP) and return a number, ranges can graph it.