Unnoc version 1.0.10.1 2007-07-11 Jason Schoonover http://unnoc.org For Security info, see the doc/SECURITY file. Very important!! For legal and license info, see the doc/LICENSE and doc/LEGAL file. For the VMware appliance docs, see doc/README.vmware-appliance. QUICK INSTALL For the really impatient. First things first, pick a server that unnoc will live on. It's not a CPU hog, but RRDtool does put a bit of a load on a server, however a dedicated server would probably be required with more than 50 devices probably. 1. System software installation Install the following software: Apache 1.3.x or higher PHP 4.x or higher MySQL 4.x or higher Perl 5.8 or higher RRDTool 1.2.11 or higher MySQL module for PHP Run the module checker to make sure that you have all the required perl modules: # ./perl-module-checker.pl Checking Core modules: looking for 13 modules Checking Plugin modules: looking for 10 modules Perl version 5.8.8 found Checking BER... ok Checking DBD::Pg... ok Checking DBD::mysql... ok Checking DBI... ok Checking Fcntl... ok Checking Getopt::Std... ok Checking IO::Handle... ok Checking IO::Socket... ok Checking IO::Socket::SSL... ok Checking IPC::Open2... ok Checking Mail::POP3Client... ok Checking Net::LDAP... ok Checking Net::LDAP::Util... ok Checking Net::LDAPS... ok Checking Net::Ping... ok Checking Net::Ping::External... ok Checking Net::SMTP... ok Checking POSIX... ok Checking SNMP_Session... ok Checking Socket... ok Checking Time::HiRes... ok Checking VMware::VIRuntime... ok Checking XML::Parser... ok ------------------------------------ Summary: Core Modules Found: 13 (0 missing) Plugin Modules Found: 10 (0 missing) ------------------------------------ All OK For Debian, you can use the following: apt-get install mysql-server apt-get install apache2 php5 php5-mysql apt-get install rrdtool apt-get install libdbi-perl libdbd-mysql-perl libdbd-pg-perl \ libsnmp-session-perl libmail-pop3client-perl libxml-parser-perl \ libnet-ldap-perl libnet-ping-external-perl libmail-pop3client-perl \ libio-socket-ssl-perl If you are planning to use the VMware VI3 plugin: apt-get install libclass-methodmaker-perl libcrypt-ssleay-perl \ libxml-libxml-perl Sorry, I don't have Fedora or Redhat RPM's, perhaps someone could contribute and tell me exactly the packages that they had to install? 2. Create a user for unnoc NOTE: your ping times muight be off slightly if you are running as a non-privileged user. If this concerns you, then run unnoc as root. If you decide to run in non-privileged mode, make a user for it: # useradd unnoc 3. Move unnoc-1.0.10.1/unnoc to your webroot. # mv unnoc-1.0.10.1/noc /var/www/unnoc/ # chown unnoc:unnoc -R /var/www/unnoc/ For the remainder of this document, I will refer to this as /webroot. 4. Create the database: # mysqladmin -p create unnoc # mysql unnoc -p < unnoc-1.0.10.1/mysql_table 5. Decide whether or not you want to run in daemon mode or crontab mode. CHOOSE ONLY ONE OF THESE TWO METHODS If in doubt, use daemon mode. --------------------- Method 1: Daemon Mode If you are using daemon mode, find the appropriate init.d file in the scripts/init.d directory and copy to your /etc/init.d. If the file doesnt exist for your particular OS/distro, please consider contributing one. Debian / Ubuntu: # cp scripts/init.d/debian/unnocd /etc/init.d/unnocd # update-rc.d unnocd defaults 90 15 Fedora / Redhat: # cp scripts/init.d/fedora/unnocd /etc/init.d/unnocd # chkconfig --add unnocd # chkconfig unnocd on Be sure to set the daemon_concurrent, daemon_user and daemon_group vars in the unnoc.conf file that is appropriate for your installation. --------------------- Method 2: Crontab mode If you are using crontab, simply add the crontab entry to your /etc/crontab and you are done. Something like this: * * * * * unnoc /webroot/bin/unnoc-cron.pl /webroot See the README.daemon file for more information. See the README.cron_wrapper file for more information. 6. Unnoc configuration Now that you have all of the system software installed on your server and you have unnoc installed to /webroot. It is time to configure: - Apache - unnoc.conf - index.php --------------------- Apache See the example apache configs in the examples/ directory. Make sure that you remove access to the etc/ directory --------------------- unnoc.conf Add your hosts to the unnoc.conf file See the following README files for the respective host types: Linux/UNIX/Microsoft README.add_hosts, README.hosts Network Appliances README.netapp VMware VI3 README.vmware EM01 Environment Sensor README.em01 Barracuda SPAM Firewalls README.barracuda-spam-firewall Apple Airports README.apple-airports Cisco Aironets README.aironets APC products README.apc OpenLDAP monitoring README.openldap MySQL monitoring README.mysql PostgreSQL monitoring README.postgresql All others (generic) README.add_hosts, README.hosts The easiest way to configure is to take a look at the example config files provided. I've provided a number of them, as well as the demo config located http://unnoc.org/demo_files/unnoc.conf.txt --------------------- index.php I've included a few index.php files that show what all you can do with it. I'd like to include different ones in future release, however these will have to suffice for now. There's only a few parts that are really required. The check_hosts() feature will check the mysql database and print a dot (defined in the unnoc.conf) based on if it's got problems or is okay. The easiest way to configure is to take a look at the example index files provided. I've provided a number of them, as well as the demo index located http://unnoc.org/demo_files/index.php.txt 7. Configure SNMP on all devices that you want to monitor 8. Start Unnoc Method 1: Cron Mode If you are using the crontab method, then update your /etc/crontab to start running the unnoc-cron.pl perl script. You just need one line: * * * * * unnoc /var/www/unnoc/bin/unnoc-cron.pl /var/www/unnoc Unnoc-cron reads the configuration file every time, so once you have added/changed/removed any hosts, it wil automatically pick these up. Details will be in the log/unnoc-cron.log file Method 2: Daemon mode If you are running in daemon mode, then you can simply start the server like this: # /etc/init.d/unnocd start Since it is a daemon, it reads the configuration on startup. So when you add/remove/change hosts, you will need to reload the daemon with a HUP. You can either kill -HUP the process, or use the reload from the init.d script: # /etc/init.d/unnocd reload Details will be in the log/unnocd.log file For explanations of the files, see the FILES documentation For more documentation, take a look at the doc/README.* files vim:tw=72:wm=1