Installing Zenoss Network Monitor on a Ubuntu Server 

This tutorial shows how to install and configure the Zenoss network monitoring tool on a Ubuntu 6.06 system. Zenoss is a free open-source tool that allows you to monitor servers, applications, networks, power, etc. regarding their configuration, availability, performance, and so on. It can also alert you by email if it finds inappropriate actions.  

1. Install LAMP server from Ubuntu server CD (Dapper+Zenoss min requirements: 150mb+232mb=382mb ram, 2gb disk (1.3gb used, 0.7gb free for data). This install tested on vmware server 1.0.1. If you don't have LAMP installed, see below.

2. Login as default user. Install ssh so you can Putty (remote terminal) from your desktop:

 sudo apt-get install ssh
 ifconfig | grep cast        (to see what your IP is)


3. Putty in and login as default user. Activate root login - required for zenoss and so we don't have to "sudo" everything:
 

sudo passwd root    (give new password for root)
su


4. Need to add universe for apt-get use (svn, mysql dev) (using nano for editor):
 

nano /etc/apt/sources.list
     (uncomment these two lines by removing #)
   deb http://ca.archive.ubuntu.com/ubuntu/ dapper universe
   deb-src http://ca.archive.ubuntu.com/ubuntu/ dapper universe
     (save file, then refresh at command prompt)
apt-get update


5. Update to latest Ubuntu:

 apt-get upgrade


6. Install make, mysql, python development tools for Zenoss. Note that the mysql dev version number is different for each mysql release. The "15" version below is for mysql 5.0.x. Easy way to find your version is run "/etc/init.d/mysql status" . Go to packages.ubuntu.com to check for correct package. The first line is only required if LAMP isn't installed yet:

apt-get install apache2 php5-mysql libapache2-mod-php5 mysql-server  (LAMP)
apt-get install build-essential        (make,cc, etc)
apt-get install libmysqlclient15-dev
apt-get install python-dev

7. Ubuntu server installs using DHCP - we should be using a static IP. Since we might be monitoring multiple IPs (eg 192.x.x.x and 10.x.x.x), we can add one or more aliases by adding additional "iface" lines with each interface labeled uniquely with eth0:name.

nano /etc/network/interfaces
iface eth0 inet dhcp          - change this line to the following lines (assume 192.168.3.10)
auto eth0 eth0:1
iface eth0 inet static
         address 192.168.3.10
         netmask 255.255.255.0
         network 192.168.3.0
         broadcast 192.168.3.255
         gateway 192.168.3.1

iface eth0:1 inet static     - add this section only if multiple IP's needed
         address 10.0.3.10
         netmask 255.255.255.0 


8. Edit hosts file for your new IP address. Assuming you named the server "zenoss" and running in "mydomain.inc", change the second 127.0.0.1 to:

nano /etc/hosts
    192.168.3.10   zenoss.mydomain.inc   zenoss

9. Restart the network:

/etc/init.d/networking restart

10. Add zenoss user:

adduser zenoss   (use zenoss for password if security not an issue)

11. Add zenoss install directory:

mkdir /usr/local/zenoss
chown zenoss /usr/local/zenoss

12. Login as zenoss user and set up some variables in login script:

su zenoss
cd        (goto home directory)
nano  .bashrc
  (add these lines)
 export ZENHOME=/usr/local/zenoss
 export PYTHONPATH=$ZENHOME/lib/python
 export PATH=$ZENHOME/bin:$PATH

13. Some zenoss daemons require root access, so add zenoss to sudo users. Login as root:
 visudo    (loads sudo editor - nano in this case - add the following 2 lines) (in the first line, the 2nd 'zenoss' refers to the machines name)

zenoss zenoss = NOPASSWD: /usr/local/zenoss/bin/*,/bin/kill
Defaults env_keep += "PYTHONPATH ZENHOME"

14. Zenoss requires the mysql root password to be not blank (default), so we need to change the mysql password. Login as root:

/etc/init.d/mysql stop    (stop mysql)
nano mysql-init    (create a new file and enter this line:)
  SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
mysqld_safe --init-file=~/mysql-init &
/etc/init.d/mysql start   (start mysql)
rm mysql-init

15. Get latest zenoss tarball from this download link (first box below). I don't recommend using subversion to download since it gets the latest beta release, not the stable release. To use svn need to download svn first from universe (second box). Or if you have downloaded zenoss to a windows server, then you need to mount a windows share to access that download (third box). Login as root and do one of the following three steps:

su zenoss    (login as zenoss)
cd        (change to /home/zenoss)
wget http://easynews.dl.sourceforge.net/sourceforge/zenoss/zenoss-9.99.9.tar.gz
tar -xzf zenoss-*.gz

Or: 

apt-get install svn-buildpackage  (only if you want svn)
su zenoss    (login as zenoss)
cd        (change to /home/zenoss)
svn co http://dev.zenoss.org/svn/trunk/inst zenossinst    (download latest beta to zenossinst subdir)

Or: 

mkdir /media/windows
apt-get install samba
apt-get install smbmount
smbmount //windows_server/sharename  /media/windows -o username=admin_name, password=admin_password, workgroup=domain_name
su zenoss
cp /media/windows/zenoss* $HOME
tar -xzf zenoss-*.gz

16. Install zenoss from its install directory. For mysql, use the default root user, with the password you used in step 14. For zenoss password, create a new one:

cd zenoss*
./install.sh    (cross your fingers)
zenoss restart   (start up all zen procs)

17. If install fails, cleanup with:

make clean

18. If install says successful, browse to zenoss:

Go to http:// 192.168.3.10:8080/zport/dmd
Username is "admin"
Password is the one entered for Zenoss "admin" user in step 16

19. To monitor your zenoss server, install SNMP agent. After installing, you need to configure it to allow 'public' to read all OIDs (default is to read very few OIDs):

apt-get install snmpd
cp /etc/snmp/snmpd.conf  /etc/snmp//snmpd.conf.bak
snmpconf    (configure snmpd agent to allow public read)
cp snmpd.conf  /etc/snmp/
/etc/init.d/snmpd restart
   (if snmpconf fails to start since its not installed, try this first:)
apt-get install libsnmp-base libsnmp-perl libsnmp9 libsnmp9-dev snmp tkmib 

If not familar with snmpconf, select these menu options: 

2:  ./snmpd.conf
1:  snmpd.conf
3:  Access Control Setup
3:  a SNMPv1/SNMPv2c read-only access community name
The community name to add read-only access for: public
The hostname or network address: zenoss  OR  192.168.3.10
<press "return" for next prompt, then "f f q"

20. Default ubuntu mail agent (MTA) is exim4, which may need to be setup if you want email alerts to work with a remote mail server (mail.mydomain.inc). First line may be needed if exim4 not installed:

apt-get install exim4  exim4-config   (install if needed)
dpkg-reconfigure exim4-config        (select default options, except for below)
 mail sent by smarthost; received via SMTP or fetchmail
 mail.mydomain.inc

21. To test mail agent, need to install a frontend (MUA - mail) to exim4:
 

apt-get install mailutils
mail [email protected]
 (press enter for Cc:, type in subject, press enter)
 (type in body of message, then enter)
 .   (type in single period, then enter, to end composing and email is queued)
mailq (to see if mail is sent or still in queue)

22. For Windows monitoring, install SNMP from add/remove Windows monitoring components, then install SNMP-Informant - download the free SNMP for Windows.

23. Read the Zenoss Admin guide.

24. To add zenoss daemons to run at boot up, login as root. Apached runtime is 90, so we use 95 to have it run after it and mysql. Also need to modify zenoss script for ZENHOME path:

cp $ZENHOME/bin/zenoss  /etc/init.d 
nano  /etc/init.d/zenoss
      (add the following line to ensure all scripts can find ZENHOME)
    export ZENHOME=/usr/local/zenoss
update-rc.d zenoss defaults 95

25. To test a vmware preconfigured Zenoss (Fedora, not Ubuntu), click here for rBuilder and select recent releases. 

26. Thanks to the following useful ubuntu / mysql / zenoss sites:
https://www.howtoforge.com/perfect_setup_ubuntu_6.06
http://ubuntuguide.org/wiki/Ubuntu_dapper
http://packages.ubuntu.com
https://help.ubuntu.com/community/ApacheMySQLPHP

http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
http://www.zenoss.com/download/install

Share this page:

3 Comment(s)