Install from Source
===============================================================
1. Installing Zenoss
===============================================================
This readme describes the installation process for Zenoss from
source. More information can be found in the ZenossAdminGuide
under the docs directory.
For the really impatient, run install.sh in this directory. If
you experience problems continue reading.
There are some platform specific install directions in the docs
directory.
---------------------------------------------------------------
1.1. Major Dependencies
---------------------------------------------------------------
- MySQL 5.0.x
Where x >= 22.
* Make sure you assign a password to root
* Make sure mysql_config is in the path
- Python 2.3.5 or 2.4
* note the development environment is required (i.e.
python-dev)!
- GNU build environment (GNU Make)
- SWIG >= 1.3
- Autoconf >= 2.53
---------------------------------------------------------------
1.2 System Setup
---------------------------------------------------------------
- Create the user zenoss under which most of the Zenoss daemons
will run:
bash$ useradd zenoss
- Set ZENHOME and PYTHONPATH enironment variables in the zenoss user
environment; add the following to the appropriate rc or profile
for your shell (e.g., .bashrc, .profile, etc.):
export ZENHOME=/usr/local/zenoss
export PYTHONPATH=$ZENHOME/lib/python
export PATH=$ZENHOME/bin:$PATH
ZENHOME is the path to your zenoss install. PYTHONPATH lets python
find the libraries we use.
We recommend installing in a directory *other than* the Zenoss'
user home directory (e.g., don't use /home/zenoss). The reason
for this recommendation is that once you learn more about Zenoss
(or if you encounter problems during installtion), you may need
to reinstall at some point, and this will be much easier if you
have a dedicated directory for the installtion.
- When you run the install script below, you will need to login as
the zenoss user first.
- Create the Zenoss install directory and set the ownership:
bash$ mkdir /usr/local/zenoss
bash$ chown zenoss /usr/local/zenoss
- Start MySQL (if it's not already started...)
---------------------------------------------------------------
1.3 Build and Install Zenoss
---------------------------------------------------------------
- Login in to the "zenoss" user account that you created above.
- If you are using the tar ball install skip to the next step.
You can also use the svn trunk, but this is only for people who want
to live on the bleeding edge!
bash$ svn co http://dev.zenoss.org/svn/trunk/inst zenossinst
notes:
- this will put the installer files in the directory zenossinst
- the following commands are run from this directory
- Run the Zenoss installation script
bash$ ./install.sh
notes:
- to clean a failed install, execute the following command:
bash$ make clean
- all files needed for execution will be built and installed under
$ZENHOME, including Zenoss and other components such as Zope, RDD,
PySNMP, Twisted, etc.
- This script will create several tables as well as a trigger
to move events from status -> history on deletion. This
trigger requires "SUPER" permission which is granted to root
by default (but can be granted to other users manually).
- There seems to be a problem with clustering and the "in
memory" table zenoss uses for active events. For now,
please use a single mysql instance.
- By default, the zenoss web server will listen on port 8080.
This can changed by modifying $ZENHOME/zope.conf and other
references to the port number in deamon configs.
- zensocket needs to be setuid in order to open raw sockets. As root, run:
chown root:zenoss /usr/local/zenoss/bin/zensocket
chmod 04750 /usr/local/zenoss/bin/zensocket
- Access the Zenoss portal
Web Browser:
- go to url http://hostname:8080/zport/dmd
- username is "admin"
- password is the one entered for Zenoss "admin" user
===============================================================
2. Start Daemons
===============================================================
The daemons perform data collection tasks.
- The entire system can be stopped and started using the "zenoss" script. Start
it up:
bash$ $ZENHOME/bin/zenoss start
- Now all daemons should be running. Check by running:
bash$ $ZENHOME/bin/zenoss status
expected output:
Daemon: zeoctl program running; pid=4295
Daemon: zopectl program running; pid=4299
Daemon: zenhub program running; pid=1093
Daemon: zenping program running; pid=8721
Daemon: zensyslog program running; pid=8726
Daemon: zenstatus program running; pid=8731
Daemon: zenactions program running; pid=8736
Daemon: zentrap program running; pid=8742
Daemon: zenmodeler program running; pid=8751
Daemon: zenperfsnmp program running; pid=8757
Daemon: zencommand program running; pid=8765
Daemon: zenprocess program running; pid=8770
===============================================================
3. Platform Specific Notes
===============================================================
---------------------------------------------------------------
3.1 Fedora Core 5
---------------------------------------------------------------
If you are doing a clean install of Fedora Core 5, during the
installation, you must configure your software installations.
Under servers, make sure to select MySQL. Under MySQL Optional
Packages, check the box for MySQL-devel (developers MySQL). Go
back to the main software selection screen and select
Development. Select Development Libraries and Development
Tools. Once all of these are selected you are good to install
by following the install directions.
---------------------------------------------------------------
3.2 Mac OSX
---------------------------------------------------------------
- To create the zenoss user use System Preferences -> Accounts
instead of useradd.
- To get the python bindings on Macos X with framework python:
cd zenossinst
mkdir build
cd build
tar zxf ../externallibs/rrdtool-1.2.11.tar.gz
cd rrdtool-1.2.11/bindings/python
vi Makefile.in
change the line:
rrdtoolmodule_so_LDFLAGS = -module -shared
to read:
rrdtoolmodule_so_LDFLAGS = -Wl,-framework -Wl,Python -module -dynamiclib
If the installer cannot find mysql:
modify the line in .bashrc:
export PATH=$ZENHOME/bin:$PATH
to read:
export PATH=$ZENHOME/bin:$PATH:/usr/local/mysql/bin
Then cd back up to the install directory and procede with the
installation process.
---------------------------------------------------------------
3.3 Setting Socket buffers on Unix platforms
---------------------------------------------------------------
- You may want to increase the size of the systems net buffers.
on linux in the file /etc/sysctl.conf, add:
net.core.rmem_default=1048576
net.core.rmem_max=1048576
net.core.wmem_default=1048576
net.core.wmem_max=1048576
to configure without a reboot:
sysctl -w net.core.rmem_default=1048576
sysctl -w net.core.rmem_max=1048576
sysctl -w net.core.wmem_default=1048576
sysctl -w net.core.wmem_max=1048576
---------------------------------------------------------------
3.4 Setting up Zenoss to run with a remote MySQL Instance
---------------------------------------------------------------
Please see the section "Using Zenoss with a Remote MySQL Instance"
in the Zenoss Admin Guide.