wiki:Documentation/Manuals/ARCNativeAPELClients

Version 8 (modified by Andrii Salnikov, 11 years ago) (diff)

--

Install ARC BLAHP-logger:

svn co http://trac.grid.org.ua/repos/workarea/arc-misc/arc-blahp-logger /usr/libexec/arc/
mkdir /var/log/arc/accounting/

Make sure arcproxy tool is available on ARC CE node:

yum -y install nordugrid-arc-client

Configure ARC to call logger to write BLAHP log. In the /etc/arc.conf add following configuration and restart A-REX:

authplugin="FINISHED timeout=10,onfailure=pass /usr/libexec/arc/arc-blahp-logger /var/log/arc/accounting/blahp.log- %W %C %I %u ce.fqdn:2811/nordugrid-torque-"

Install APEL parser and client from EMI repos:

yum -y localinstall http://emisoft.web.cern.ch/emisoft/dist/EMI/3/sl6/x86_64/base/emi-release-3.0.0-2.el6.noarch.rpm
yum -y install apel-client apel-parsers

Install MySQL backend for APEL clients. MySQL can be installed on any host, running it on ARC host is not mandatory.

yum -y install mysql-server mysql
chkconfig mysqld on
service mysqld start
mysql_secure_installation
mysql -u root -p
mysql> CREATE DATABASE apel;
mysql> GRANT ALL PRIVILEGES ON apelclient.* TO apel@localhost IDENTIFIED BY 'myverysecureapelpassword';
mysql> quit

Provision APEL database with the required structures using the SQL file supplied with APEL packages:

mysql -u apel -p apelclient < /usr/share/apel/client.sql

Edit APEL parser configuration file (/etc/apel/parser.cfg) and specify DB access settings, batch system _accounting_ logs path, and ARC BLAH plugin logs path:

[db]
hostname = localhost
port = 3306
name = apelclient
username = apel
password = myverysecureapelpassword

[site_info]
site_name = GOCBD-SITE-NAME
lrms_server = some.fqdn.lrms.id

[blah]
enabled = true
dir = /var/log/arc/accounting
filename_prefix = blahp.log
subdirs = false

[batch]
enabled = false
reparse = false
type = PBS
dir = /path/to/torque/server_priv/accounting/
filename_prefix = 201
subdirs = false

[logging]
logfile = /var/log/apel/parser.log
level = INFO
console = false

Run apelparser and make sure records are parsed successfully looking into parser.log and of cause the database content :-)

If everything is OK, it's time to configure APEL client and broker network to use. Edit the /etc/apel/client.cfg:

[db]
hostname = localhost
port = 3306
name = apelclient
username = apel
password = myverysecureapelpassword

[spec_updater]
enabled = true
site_name = GOCBD-SITE-NAME
lrms_server = some.fqdn.lrms.id
ldap_host = bdii.ha.grid.org.ua
ldap_port = 2170

[joiner]
enabled = true
local_jobs = false

[unloader]
enabled = true
dir_location = /var/spool/apel/
send_summaries = true
withhold_dns = false
interval = latest
send_ur = false

[ssm]
enabled = true

[logging]
logfile = /var/log/apel/client.log
level = INFO
console = false

And finally SSM configuration should be specified in /etc/apel/sender.cfg:

[broker]
# production
#bdii: ldap://bdii.ha.grid.org.ua:2170
#network: PROD
#use_ssl: true
# testing
host: test-msg02.afroditi.hellasgrid.gr
port: 6163
use_ssl: false

[certificates]
certificate: /etc/grid-security/hostcert.pem
key: /etc/grid-security/hostkey.pem
capath: /etc/grid-security/certificates

[messaging]
# production
# destination: /queue/global.accounting.cpu.central
# testing
destination: /queue/global.accounting.cputest.CENTRAL
path: /var/spool/apel/outgoing

[logging]
logfile: /var/log/apel/ssmsend.log
level: INFO
console: false

You can start with "testing" APEL server and open a GGUS ticket to verify is everything is OK. But once the solution will be verified for one site, another sites can go to production using the standard operations procedure:

Finally you need to create a CRON job to parse logs and sent records regularly. It can be simply /etc/cron.daily/apel that contains:

#!/bin/sh

/usr/bin/apelparser
/usr/bin/apelclient