Blah configuration and installation
1.0 BLAHP STRUCTURE AND FILE LIST
The RPM package for BLAHPD can be downloaded from the official
repository at http://glite.web.cern.ch/glite/packages.
It has no dependencies on other components, so it can be installed on the
target machine without any preliminary step.
The structure of BLAHPD currently consist of a series of executables:
- blahpd (main daemon)
and some batch system-specific bash scripts:
All these file are automatically installed from the RPM in the classic
/opt/glite/bin directory. BLAHPD properly said is composed by blahpd,
BPRserver, BPRclient, BDlogger and the bash scripts.
BLParserLSF (for LFS), BLParserPBS (for PBS), represent the so called
BLAH LogServer (or LogParser), whose aim is to get safer information
about job submission and later about job status.
BLClient is the client used by BLAHPD to query information from
LogServer. Currently LogServer is not activated by default but it must
be enabled and launched, as explained in full detail in paragraphs 4.0
BDlogger is a small tool used by BLAH to write accounting information
about submitted jobs in a log file located in a protected location.
It must have the suid bit on, so at installation time a chmod +s command
must be given.
The log file location is specified in the BLAHPD_ACCOUNTING_INFO_LOG entry
in the blah configuration file /opt/glite/etc/blah.config .
2.0 BLAHPD INSTALLATION
As firts step the BLAHP RPM package must be downloaded and installed on
the CE. If the LogServer is going to be be in enabled it may be necessary
to download and install the package also on another machine.
The BLAH LogServer ( BLParserPBS or BLParserLSF depending on the lrms
installed on the CE) is a daemon which retrieves information about
jobs by parsing the log files created by the local batch system. The
obtained information are made avalaible to blahpd and are more
affordable than the ones obtained with batch-system specific commands.
Current BLAHPD deployment doesn't enablet LogServer by default but it
can be configured for this.
If the BLAH LogServer is going to be enabled it is necessary that it can
access the Local Batch System's log files: if these files are present on
the CE itself there's no need to install BLAHP on other machines.
If not, it is STRONGLY ADVISED to install BLAHP RPM package on the same
machine on which the Local Batch System writes its logs, also if these
files are accessible via nfs or afs from the CE. The reason is the need
to limit data transfer through the network and the subsequent heavy decay
of the performance of the LogServer.
Step by step installation procedure
On the CE machine:
- download BLAHP RPM from the official repository at
- install package. Scripts and executables are installed in
- configure bash scripts (see paragraph 4.0).
- set suid bit on for BDlogger giving command: chmod +s /opt/glite/bin/BDlogger
- set log file protected location (some root permissions location) in BLAHPD_ACCOUNTING_INFO_LOG entry
in /opt/glite/etc/blah.config configuration file
If BLAH LogServer must be enabled there are two more options:
a) The Log files are on the CE, no other installation is
needed and the LogServer must be launched on the CE (see paragraph 3.0).
b) The Log files are elsewhere than CE, further steps:
On the machine with log files:
- download BLAHP RPM package
- install package
- Launch LogServer on this machine (see paragraph 3.0)
The third option, in which the log files are not on the CE, are accessible
via network and the LogServer is launched on the is STRONGLY DISCOURAGED!
3.0 BLAHPD and LogServer usage
1) For PBS:
/opt/glite/bin/BLParserPBS [-p] <remote_port [DEFAULT_PORT]>
-s <PBS_spooldir [spooldir]>
where <remote_port> is the port on which LogServer is queried by BLAHP
scripts through BLClient. It must be the same value as the one set in PBS
scripts (see paragraph 4.0).
PBS_spooldir is the directory under which there is the directory with PBS
The -p can be omitted before <remote_port>.
DEFAULT_PORT = 33332
spooldir = $PBS_SPOOL_DIR (/usr/spool/PBS)
/opt/glite/bin/BLParserPBS -p 33335 -s /tmp/server_logs &
2) For LSF:
/opt/glite/bin/BLParserLSF [-p] <remote_port [DEFAULT_PORT]>
-b <LSF_binpath [LSF_BIN_PATH]>
-c <LSF_confpath [LSF_CONF_PATH]>
As for PBS <remote_port> is the port on which LogServer is queried by
BLAHP scripts through BLClient. It must be the same value as the one
set in LSF scripts (see paragraph 4.0).
LSF_binpath is the directory in which lsf executables are stored and
LSF_confpath is the directory in which the lsf configuration file
lsf.conf is present.
The -p can be omitted before <remote_port>.
DEFAULT_PORT = 33333
LSF_binpath = $LSF_BIN_PATH (/usr/local/lsf/bin)
LSF_confpath = $LSF_CONF_PATH (/etc)
/opt/glite/bin/BLParserLSF -p 33335 -b /tmp/dummybindir
-c /tmp/dummyconfdir &
5.0 BLAH scripts configuration
BLAH scripts must be configured only on the CE in order to retrieve
information from LogServer. The configuration step just consist in setting
the right values of some variables in some of the bash scripts, i.e.
pbs_submit.sh, pbs_status.sh (PBS) and lsf_submit.sh, lsf_status.sh (LSF).
The variables to be set are:
BLParser="" # "yes" to enable use of logserver, empty string
# (default) to disable
BLPserver="127.0.0.1" # logserver IP address
BLPport=33332 # port on which contact logserver, currently
# 33332 for PBS and 33333 for LSF
# NOTE: must be the same value as <remote_port>
Some env variables are configurable for the scripts:
LSF_BIN_PATH is the directory in which lsf executables are stored
LSF_CONF_PATH is the directory in which the lsf configuration file lsf.conf is present
PBS_SPOOL_DIR is the directory under which there is the directory with PBS logfiles
PBS_BIN_PATH is the directory in which pbs executables are stored