AIX with yum

Document describes installation of LPAR2RRD server prerequisites on AIX where is yum available.

  • Install Apache and RRDTool:
    yum install httpd rrdtool rrdtool-perl
    
    Do not use rrdtool-1.7.0-4, it has a bug, use older or newer RRDTool versions.

  • Configure Apache:
    vi /opt/freeware/etc/httpd/conf/httpd.conf
    
    Enable CGI (it is hashed by default):
    <IfModule mpm_prefork_module>
            LoadModule cgi_module /opt/freeware/lib/httpd/modules/mod_cgi.so
    </IfModule>
    
    Place there LPAR2RRD cfg (it supposes that install home will be in /home/lpar2rrd/lpar2rrd):
    AddHandler cgi-script .sh
    
    #
    # LPAR2RRD
    #
    Alias /lpar2rrd  "/home/lpar2rrd/lpar2rrd/www/"
    <Directory "/home/lpar2rrd/lpar2rrd/www/">
        AllowOverride AuthConfig FileInfo
        Options Indexes FollowSymLinks
        Require all granted
    </Directory>
    # CGI-BIN
    ScriptAlias /lpar2rrd-cgi/ "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/"
    <Directory "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi">
        AllowOverride AuthConfig FileInfo
        SetHandler cgi-script
        Options ExecCGI FollowSymLinks
        Require all granted
    </Directory>
    
    Apache restart:
    /opt/freeware/sbin/apachectl restart
    
  • Create LPAR2RRD user under root:
    useradd -c "LPAR2RRD user" -m lpar2rrd
    chmod 755 /home/lpar2rrd
    chdev -l sys0 -a maxuproc=2000
    chuser  nofiles=32768 data=-1  stack=-1 rss=-1 lpar2rrd
    chuser  data=-1  stack=-1 rss=-1 apache
    
  • Install LPAR2RRD server (all under lpar2rrd user):
    # su - lpar2rrd
    tar xvf lpar2rrd-7.XX.tar
    cd lpar2rrd-7.XX
    ./install.sh
    
  • You do not need to install modules like perl-XML etc, all necessary is already in perl.rte fileset, just this is needed:
    # rpm -qa| grep perl
      perl-5.34.3-1.ppc		
      rrdtool-perl-1.7.0-8.ppc
      perl-DBD-Pg-3.7-4.ppc 		--> needed for XorMon only
      perl-DBD-SQLite-1.62-0.ppc 		--> needed for XorMon only
      net-snmp-perl-5.8-2.ppc		--> for SNMP Trap alerting only
    
  • Make sure all Perl modules are in place
    cd /home/lpar2rrd/lpar2rrd
    . etc/lpar2rrd.cfg; $PERL bin/perl_modules_check.pl
    
    If any problem then adjust following variables in etc/lpar2rrd.cfg
    Especially PERL must be set to /usr/bin/perl
    If it cannot find RRDp.pm then search it and place its path at the end of PERL5LIB
    # find /opt -name RRDp.pm 2>/dev/null
      /opt/freeware/lib/perl5/5.34/vendor_perl/RRDp.pm
      /opt/freeware/lib64/perl5/5.34/vendor_perl/RRDp.pm
    
    # file /opt/freeware/bin/rrdtool
      /opt/freeware/bin/rrdtool: 64-bit XCOFF executable or object module
    # file /opt/freeware/bin/rrdtool_32
      /opt/freeware/bin/rrdtool_32: executable (RISC System/6000) or object module
    
    This is how should look like some parameters in etc/lpar2rrd.cfg, adjust PERL5LIB if RRDp.pm is in different location
    • 32bit (it must be used when you migrated from older RRDTool 1.4x):
        PERL=/usr/bin/perl
        PERL5LIB=/home/lpar2rrd/lpar2rrd/bin:/home/lpar2rrd/lpar2rrd/lib:/opt/freeware/lib/perl5/5.34/vendor_perl:/opt/freeware/lib64/perl5/5.34/vendor_perl:/opt/freeware/lib/perl5/5.38/vendor_perl:/opt/freeware/lib64/perl5/5.38/vendor_perl
        RRDTOOL=/opt/freeware/bin/rrdtool_32
      
    • 64bit:
        PERL=/usr/bin/perl
        PERL5LIB=/home/lpar2rrd/lpar2rrd/bin:/home/lpar2rrd/lpar2rrd/lib:/opt/freeware/lib64/perl5/5.34/vendor_perl:/opt/freeware/lib/perl5/5.34/vendor_perl:/opt/freeware/lib64/perl5/5.38/vendor_perl:/opt/freeware/lib/perl5/5.38/vendor_perl
        RRDTOOL=/opt/freeware/bin/rrdtool
      
      Adjust above PERL5LIB path based on which Perl you have in /opt/freeware/bin/perl, above example works for "5.34" and "5.38", you see it in the paths:
      # /opt/freeware/bin/perl -v| head -2
      
      This is perl 5, version 34, subversion 1 (v5.34.1) built for ppc-aix-thread-multi-64all
      
    • Make sure that it is correct, it should not produce any output
      cd /home/lpar2rrd/lpar2rrd
       . etc/lpar2rrd.cfg; $PERL bin/perl_modules_check.pl
      
  • Enable web authorisation
    # su - lpar2rrd
    umask 022
    cd /home/lpar2rrd/lpar2rrd
    cp -p html/.htaccess www
    cp -p html/.htaccess lpar2rrd-cgi
    
  • Go to Web UI, use admin/admin account, go to product configuration (settings icon), add HMCs, vCenters ...
    http://<your server IP/hostname>/lpar2rrd/
    
Upgrade from older Perzl RPM distribution (Apache 2.4.18-1, rrdtool 1.4.8 usualy) follow this

Troubleshooting

  • In some cases is necessary to set LIBPATH, do not do it unless you see such error during load.sh
    Can't load '/usr/opt/perl5/lib/site_perl/5.28.1/aix-thread-multi/auto/XML/Parser/Expat/Expat.so' for module XML::Parser::Expat: Could not load module /usr/opt/perl5/lib/site_perl/5.28.1/aix-thread-multi/auto/XML/Parser/Expat/Expat.so
    
    In this case:
    cd /home/lpar2rrd/lpar2rrd
    umask 022
    echo "export LIBPATH=/opt/freeware/lib" >> etc/.magic
    
  • RRDTOOL 1.7.2 problem (only 32bit one)
    /opt/freeware/bin/rrdtool_32 -v
      exec(): 0509-036 Cannot load program /opt/freeware/bin/rrdtool_32 because of the following errors:
      0509-130 Symbol resolution failed for /opt/freeware/lib/libpangocairo-1.0.a(libpangocairo-1.0.so.0) because:
      0509-136 Symbol __dbargs (number 185) is not exported from
      dependent module /opt/freeware/lib/libpixman-1.a(libpixman-1.so.0).
      0509-136 Symbol __dbsubc (number 186) is not exported from
      dependent module /opt/freeware/lib/libpixman-1.a(libpixman-1.so.0).
      0509-136 Symbol __dbsubg (number 187) is not exported from
      dependent module /opt/freeware/lib/libpixman-1.a(libpixman-1.so.0).
      0509-136 Symbol __dbsubn (number 188) is not exported from
      dependent module /opt/freeware/lib/libpixman-1.a(libpixman-1.so.0).
      0509-192 Examine .loader section symbols with the
      'dump -Tv' command.
    
    Fix it by removing "pixman" package, ignore dependencies
    yum erase pixman