Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


MachDB 0.5.2  				Apr  16 2009
Nathan Hubbard				machdb (at)

	MachDB is a machine database that lets you catalog and track
	information about your hosts.  It consists of an information 
	collector, a web front end and scripts that live on each 
	host that gather the data.

	A few sample gathering scripts have been provided in the 
	contrib directory of the machdb distribution.  You can use 
	this as a template for your own scripts, or write them 
	in any language you choose. The data sent back to the 
	aggregator is sent as an XML file (that can be generated 
	however you wish). Again, you can use the contributed 
	gathering scripts as a template, or see the XML specification
	to create your own.

	I would recommend scanning the wiki for instructions
	specific to your distribution.  If there aren't any, add them!
	If you are upgrading from a previous version, please see
	the information in the CHANGELOG

	For the latest information, documentation and FAQ, please

	Run contrib/ to auto-configure.  It will attempt to do the 
	install of XML::Simple and LWP perl modules, but use at your 
	own risk.


	Create a directory with root permissions: /var/machdb.  This
	is where the XML output is stored before being shipped off
	to the collector
	You will need XML::Simple and LWP to use the example XML
	gathering (gather-centos4-i386) and posting (machdb-send)
	tools.  Others may require other libs but we will assume this
	basic need.

	With CPAN:
		perl -MCPAN -e shell
		> install XML::Simple
		> install LWP

	XML::Simple RPM downloaded from:

	I install the gathering and sending scripts in /usr/local/sbin
	on my hosts, but you can put them anywhere you like.  They 
	must be run as root (although I'm sure that could be changed
	as well). They are separated to keep the information 
	gathering and sending abstracted by OS.

	MachDB was developed on MySQL 5.0.27, PHP 5.1.6, Apache 2.0.59
	and Smarty 2.6.18.  Your mileage on other versions may vary,
	however I would recommend at least PHP 5 and MySQL 5.  	
	Extract the tarball somewhere in your web root.  You will
	need to install Smarty (  Make sure
	Smarty is in your PHP_INCLUDE_PATH.

	Put the files within the 'collect' directory somewhere in your 
	webroot.  Suggested path is:


	This URL should be accessable via HTTP from the machines you will be 
	polling.  You can set up access control using your webserver's 
	access control settings.  Better security will be built into the 
	collector in the future.  If you require encryption, put the 
	collect script behind an HTTPS/SSL webserver and modify the 
	machdb-send script to use HTTPS.  An HTTPS example is included.

	Once you've untarred it, you will need to set certain
	permissions for the smarty cached templates:

	chown -R apache:apache smarty/cache/
	chown -R apache:apache smarty/templates_c
	chmod -R 775 smarty/templates_c
	chmod -R 775 smarty/cache/

	Where 'apache' is the user your webserver runs as.

	Create a MySQL DB for machdb to use.  Run the database.sql 
	script to create your DB  
		mysql -u mysqluser -p mysqldatabse < database.sql

	Modify machdb-send to point to your webserver and correct 
	URL path.
	Modify include/config.php to add your own mysql settings.

	If you are upgrading from a previous version, please see the
	php and .sql scritps for upgrading.  You would run these
	like this:

	php contrib/update_0.5.0-0.5.1.php
	mysql -u mysqluser -p machdb < contrib/update_0.5.0-0.5.1.sql

	The PHP script should do the trick for most people, although
	you should inspect it to make sure your any custom schema will
	not be destroyed.  The sql version is there for custom users
	to take apart.

	From the machine you want to add to the db, go into
	the 'contrib' directory and run the example gathering tool:
	Which will output an XML file into /var/machdb/
	To send the data off to the collector, go into the 'bin'
	directory and run the example XML sending tool:
	To see the fruits of your work, point your browser at the web 
	root where you installed machdb.

	You are welcome to use this software, but be ware: I am still
	making major architectural decisions.  There may be future
	upgrades in the future that will have no migration path. 
	You have been warned!
	Feedback welcome!  I am sure this is full of bugs, but I'll
	never know without feedback!  Thanks!


	This package contains code from the following:
	Stuart Langridge
	Tutorials, examples and thanks to:

	Patrick Hunlock
	Lee Damon aka 'Nomad'
	Mark Burgess
	Kyrre Begnum
	Tobi Oetiker 

	Project Contributors (bugs reports, patches, contributed scripts, ideas, docs, etc)
	Kyrre Begnum
	Chris St. Pierre
	Josh Lothian
	Steve Soltesz
	Andreas Unterkircher
	Dan Flores
	Jason Antman


open source machine database




No releases published


No packages published
You can’t perform that action at this time.