============
Installation
============
0) PREREQUISITES
----------------
The job daemon 'jobd' is using the GLib API to manage a hash table.
Thus, glib2 needs to be installed.
A Linux kernel 2.6.15-rc1 or above.
1) COMPILE THE LINUX KERNEL
---------------------------
Connectors that reports process events to userspace are available since
Linux 2.6.15-rc1.
You must select at least the following kernel configuration options:
General Setup --->
[*] BSD Process Accounting
[*] BSD Process Accounting version 3 file format
Device Drivers --->
Connector - unified userspace <-> kernel linker --->
<*> Connector - unified userspace <-> kernel linker
[*] Report process events to userspace
2) COMPILE ELSA TOOLS
---------------------
Just type 'make install' as root in the top level directory. This command
will perform following installation:
- 'jobd', 'switch_fork_state' and 'jobmng' in /usr/local/sbin directory
- 'jobmng.1.gz' in /usr/local/man/man1
Default paths are stored in the Rules.mk in the top directory. You can
specify your own path at compile time.
If it doesn't work, check if all paths exist. You can specify the path
of some headers file by using USER_INCLUDES variable. For example, if
your kernel is at /home/guill/src/linux-2.6.15-rc2, you can compile
tools by doing:
# make USER_INCLUDES='-I/home/guill/src/linux-2.6.15-rc2/include'
3) INSTALL THE WEBMIN MODULE
----------------------------
The management of the job daemon is done via a webmin module. This
module is also used to display information about group of processes and
accounting. The installation is done through the webmin configuration
interface. When installing, you can access to ELSA module via the
webmin's system interface.
==============
HOW TO USE IT?
==============
At this point you should have everything installed.
1) Start the job daemon
-----------------------
The job daemon is started from a console and you must have root
privileges:
# sudo /usr/local/sbin/jobd
2) Start per-process accounting
-------------------------------
You can enable the per-process accounting through the webmin interface
or you can start the BSD accounting with accounting scripts. For
example on a Fedora Core 4:
# sudo /etc/init.d/psacct start
3) Let's play with accounting
-----------------------------
Now everything is set to use ELSA. To add/remove a process in a group
of processes you use the script 'jobmng' provided by ELSA. For the
analysis you can use the script 'elsa' or you can use the webmin interface.
You don't need root privilege to achieve this. Here is an example of what
can be done:
-> Run a command and add it in a group of processes:
# jobmng -a -e ls
This executes the command 'ls' and adds it in a new group of processes.
After the execution, a new job (job #1 if it's the first usage) is
created and it contains 'ls'.
-> Run another command in the same job:
# jobmng -a -e date -j 1
This executes the command 'date' and adds it in the job #1.
-> Add the process 1234 in a new job:
# jobmng -a -p 1234
Process 1234 is added in a new job (#2). It means that all its children
will belong to job #2.
You can see results of the command with the webmin interface. You can also
use the script 'elsa' to analyze data.