TrackNode: SNMP-Based Network Node Polling Suite
Copyright (C) 2013, Jason Stultz
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
TrackNode is designed to become a robust, extensible
architecture for polling arbitrary system metrics over SNMP.
This project is still in early experimental phases, so functionality
is limited (the current code is more of a PoC than anything else).
No warranties are provided for the functionality of this code. GPLv3
currently applies to all source provided with TrackNode; the license
can be found at http://opensource.org/licenses/GPL-3.0. All rights
not expressly conveyed within the license agreement are reserved by
the primary developer (excelsiorjss).
Note: This project is not yet deployment-worthy. Download and install
at your own risk.
As TrackNode is currently a very young project, all of the code currently
available through SourceForge is "concept code," meaning that it is code
with a very loosely defined organizational architecture. Plans are to
further organize, optimize, and render both scalable and modular, the
TrackNode currently consists of two installable components:
SENSOR: This component is to be installed on the system to be
monitored; it is to include SNMP configuration tweaks, polling
scripts, and local administrative scripts. As of now, I have
only posted the polling scripts; however, the configuration can
be replicated by configuring snmpd to extend services to the
scripts using the "extend" configuration item in snmpd.conf.
Note that, in order for the web console to function as it stands,
the ".18.104.22.168.4.1.8072.1.3.2.3.1.1" OID subtree must be available
via the community string "public". This is subject to change as
the project evolves further. This component requires Apache and
Perl::CGI to be installed on the system, as well as snmpd package.
This component also requires ladyada's DHT interface, available
Finally, while it is not necessary to have for functionality, this
component is meant to work alongside a DHT22 sensor installed via
the #4 pin of a Raspberry Pi.
CONSOLE: This component is meant to be installed on a system being
used to monitor an array of sensor nodes. It consists of a network
monitoring component (via SNMP and ICMP), a parsing component, and
the presentation web console. httpd, perl, Perl::CGI, Net::SNMP,
and 'snmptraverse()' must be made available on the console system.
The "Select Multiple Sensors" and "Select All Sensors" options are
currently designed to look within the 192.168.1.0/24 network;
however, changing this is as simple as updating index.cgi.
All feedback should be directed to the SourceForge message boards at
Unless stated otherwise, the entire TrackNode project, and all
components (scripts, files, binaries) therein, are licensed under
All rights not granted expressly within the above licensing agreement
or below are reserved to the primary developer, excelsiorjss
The primary developer grants no warranty pertaining to this software,
and notes that it is free software, and you are welcome to redistribute,
provided attribution is made.
Copyright (C) 2013, Jason Stultz