Installation

AIX with yum

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

  • Install Apache and RRDTool:
    yum install httpd rrdtool rrdtool-perl
    yum install net-snmp net-snmp-utils net-snmp-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 STOR2RRD cfg (it supposes that install home will be in /home/stor2rrd/stor2rrd):
    AddHandler cgi-script .sh
    
    #
    # STOR2RRD
    #
    Alias /stor2rrd  "/home/stor2rrd/stor2rrd/www/"
    <Directory "/home/stor2rrd/stor2rrd/www/">
        AllowOverride AuthConfig FileInfo
        Options Indexes FollowSymLinks
        Require all granted
    </Directory>
    # CGI-BIN
    ScriptAlias /stor2rrd-cgi/ "/home/stor2rrd/stor2rrd/stor2rrd-cgi/"
    <Directory "/home/stor2rrd/stor2rrd/stor2rrd-cgi">
        AllowOverride AuthConfig FileInfo
        Options +ExecCGI +SymLinksIfOwnerMatch
        Require all granted
        SetHandler cgi-script
    </Directory>
    
    Apache restart:
    /opt/freeware/sbin/apachectl restart
    
  • Create STOR2RRD user under root:
    useradd -c "STOR2RRD user" -m stor2rrd
    chdev -l sys0 -a maxuproc=2000
    chuser  nofiles=32768 data=-1  stack=-1 rss=-1 stor2rrd
    chuser  data=-1  stack=-1 rss=-1 apache
    
  • Install STOR2RRD server:
    # su - stor2rrd
    tar xvf stor2rrd-7.XX.tar
    cd stor2rrd-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-Crypt-SSLeay-0.57-2.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, SAN/LAN and some storage devices
      perl-5.32-IO-Tty-1.12-2.ppc	  --> for some storage devices only, check storage type docu
    
  • Make sure all Perl modules are in place
    cd /home/stor2rrd/stor2rrd
    . etc/stor2rrd.cfg; $PERL bin/perl_modules_check.pl
    
    If any problem then adjust following variables in etc/stor2rrd.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/stor2rrd.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/stor2rrd/stor2rrd/bin:/home/stor2rrd/stor2rrd/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/stor2rrd/stor2rrd/bin:/home/stor2rrd/stor2rrd/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/stor2rrd/stor2rrd
       . etc/stor2rrd.cfg; $PERL bin/perl_modules_check.pl
      
  • Enable web authorisation
    # su - stor2rrd
    umask 022
    cd /home/stor2rrd/stor2rrd
    cp -p html/.htaccess www
    cp -p html/.htaccess stor2rrd-cgi
    
  • Go to Web UI, use admin/admin account, go to product configuration (settings icon), add HMCs, vCenters ...
    http://<your server IP/hostname>/stor2rrd/
    
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/stor2rrd/stor2rrd
    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