CHIRP = Cricket Highly Intelligent Re-configuration Program Announcing CHIRP! CHIRP is a utility for generating configuration files for Cricket (http://cricket.sourceforge.net), the wildly successful network monitoring tool written by Jeff Allen of WebTV. It's also worth mentioning that Cricket uses the even more widly successful RRDTool (http://ee-staff.ethz.ch/~oetiker/webtools/rrdtool/) for collecting and displaying graphs of network utilization written by Tobi Oetiker. For documentation on installing and using CHIRP, please see the files INSTALL.txt and USAGE.txt included with the distribution. A quick overview is below. Sample files are in the samples directory. History: CHIRP was developed by Tom Honermann and Scott Feldmann for the University of Wisconsin Hospital & Clinics to help aid in the generation and continued maintenance of Cricket configuration files for the myriad types of devices we maintain. It was begun around February, 2000 and was first released near the beginning of May, 2000. It is available under the GNU General Public License (GPL). Please see the enclosed file GPL.txt for a description of this license. Goal: The goal of CHIRP is to make it as easy as possible to generate meaningful configuration files for Cricket while at the same time allowing these configuration files to be easily regenerated in the event that a device changes (ports/modules added, etc...). The (hopefully realistic) long term goal is to have CHIRP setup to run out of cron every week or so automatically re-generating the configuration files based on a list of devices to query. So, far, we see no limits in this respect. Another goal is to never have to manually edit generated configuration files to site specific parameters. Right now there are a number of methods in place for doing this: 1) Put commands in a Defaults file. Cricket supports this out of the box and it works great! 2) Use a CHIRP site.cfg file when generating the configuration file. The definitions in the site.cfg file will end up in the final configuration file. Overview: CHIRP is a foundation for developing "drivers" which generate Cricket configuration files. It's structure is designed to facilitate the easy and rapid development of new drivers for new SNMP capable devices. A plugin style environment is provided for easy installation of new drivers in a running environment. Currently, drivers are provided for Cisco Catalyst 5000 series switches, HP Procurve 4000m, HP AdvanceStack hubs, Fore Systems ASX ATM switches, and IBM S/390. It is our hope that other people will develop drivers for other types of network nodes and contribute those drivers back to this project. CHIRP contains a mechanism for automatically detecting which driver to use for a network node. It does this by querying the node for some identifying SNMP information. All of the identification parameters are chosen from a user modifiable configuration file (id.cfg). The identifying SNMP information then indicates to CHIRP which driver to use for this device. The driver is then loaded and given appropriate information for the device (hostname, snmp community and port, etc...). For information on how to write drivers, please see the file WRITING_DRIVERS.txt included with the distribution. Distribution structure: The CHIRP programs (chirp.pl and chirptree.pl) are contained in the root of the distribution. An id.cfg file is also there which is suitable for detecting devices for which drivers are included in the distribution. The main CHIRP Perl modules are in the lib directory. All of the drivers should be in a "vendor" directory under the lib directory. In this case, vendor refers to the vendor of the network device (ie, Cisco for a Catalyst 5000). The drivers should be Perl modules in the vendor directory. In general, the names of the drivers will reflect the model of the device they are intended to create configuration files for. Documentation is currently a bunch of .txt file in the root of the distribution directory. We hope that some day some ambitious young CHIRP lover will write all these docs up into fancy fancy web pages and put them in a directory named "doc". A samples directory has some sample site.cfg and devicelist files.