Oracle Solaris CDOM/LDOM Monitoring
# 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
# vi /etc/security/limits.conf lpar2rrd hard stack -1 lpar2rrd soft stack -1 lpar2rrd hard data -1 lpar2rrd soft data -1 lpar2rrd hard nofile 32768 lpar2rrd soft nofile 32768 lpar2rrd hard nproc 5000 lpar2rrd soft nproc 5000 apache hard stack -1 apache soft stack -1 apache hard data -1 apache soft data -1
# ARCH=$( /bin/arch ) # subscription-manager repos --enable "codeready-builder-for-rhel-8-${ARCH}-rpms"
# yum config-manager --set-enabled PowerTools or # dnf config-manager --set-enabled powertoolsYou can also just open /etc/yum.repos.d/CentOS-Linux-PowerTools.repo with a text editor and set enabled= to 1 instead of 0
# umask 0022 # yum install perl rrdtool rrdtool-perl httpd mod_ssl # yum install epel-release # yum install perl-TimeDate perl-HTTP-Date perl-Env perl-CGI perl-Data-Dumper perl-LWP-Protocol-https perl-libwww-perl perl-Time-HiRes perl-IO-Tty # yum install perl-PDF-API2 perl-JSON-XS perl-XML-Simple perl-XML-NamespaceSupport perl-URI perl-XML-SAX-Base perl-XML-SAX perl-XML-LibXML # yum install ed bc libxml2 sharutil
# umask 0022 # apt-get install apache2 perl rrdtool ed bc # apt-get install librrdp-perl libxml-sax-perl libxml-simple-perl libtimedate-perl libenv-sanctify-perl libcgi-pm-perl libdata-dumper-simple-perl libpdf-api2-perl libxml2-utils # apt-get install liblwp-protocol-https-perl libcrypt-ssleay-perl libio-socket-ssl-perl libmozilla-ldap-perl libxml-parser-perl libjson-xs-perl
# zypper install rrdtool perl-rrdtool apache2 # zypper install perl-TimeDate perl-XML-Simple perl-XML-SAX perl-XML-LibXML perl-CGI perl-LWP-Protocol-https perl-libwww-perl perl-IO-Tty # zypper install perl-PDF-API2 perl-JSON-XS # zypper install ed bc libxml2-2 sharutils
# /opt/csw/bin/pkgutil -y -i pm_xml_simple pm_libxml_perl pm_xml_sax rrdtool
# yum install httpd
# apt-get install httpd
# apachectl restart # /opt/freeware/apache/sbin/apachectl restart # /etc/init.d/httpd restart # service apache2 restart
# firewall-cmd --add-service=http --permanent # firewall-cmd --add-service=https --permanent # firewall-cmd --add-port=8162/tcp --permanent # firewall-cmd --reload
# vi /etc/httpd/conf/httpd.conf AddHandler cgi-script .sh # DocumentRoot "/export/home/lpar2rrd/lpar2rrd/www/" Alias /lpar2rrd "/export/home/lpar2rrd/lpar2rrd/www/" <Directory "/export/home/lpar2rrd/lpar2rrd/www/"> AllowOverride Options Indexes FollowSymLinks Require all granted </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi"> AllowOverride SetHandler cgi-script Options ExecCGI FollowSymLinks Require all granted </Directory>
# a2enmod cgi # a2enmod ssl
# vi /etc/apache2/apache2.conf AddHandler cgi-script .sh Alias /lpar2rrd "/export/home/lpar2rrd/lpar2rrd/www/" <Directory "/export/home/lpar2rrd/lpar2rrd/www/"> Options Indexes FollowSymLinks Require all granted </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi"> AllowOverride None Options +ExecCGI +SymLinksIfOwnerMatch Require all granted SetHandler cgi-script </Directory>
# vi /etc/apache2/httpd.conf AddHandler cgi-script .sh Alias /lpar2rrd "/home/lpar2rrd/lpar2rrd/www/" <Directory "/home/lpar2rrd/lpar2rrd/www/"> Options Indexes FollowSymLinks Require all granted </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi"> AllowOverride None Options +ExecCGI +SymLinksIfOwnerMatch Require all granted SetHandler cgi-script </Directory>
LoadModule alias_module /opt/freeware/lib/httpd/modules/mod_alias.so LoadModule cgi_module /opt/freeware/lib/httpd/modules/mod_cgi.so
LoadModule mpm_prefork_module /opt/freeware/lib/httpd/modules/mod_mpm_prefork.so # LoadModule mpm_worker_module /opt/freeware/lib/httpd/modules/mod_mpm_worker.so # LoadModule mpm_event_module modules/mod_mpm_event.so <IfModule mpm_prefork_module> LoadModule cgi_module /opt/freeware/lib/httpd/modules/mod_cgi.so </IfModule>
AddHandler cgi-script .sh Alias /lpar2rrd "/export/home/lpar2rrd/lpar2rrd/www/" <Directory "/export/home/lpar2rrd/lpar2rrd/www/"> Options Indexes FollowSymLinks Require all granted </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi"> AllowOverride None SetHandler cgi-script Options ExecCGI FollowSymLinks Require all granted </Directory>
# vi /etc/opt/freeware/apache/httpd.conf Alias /lpar2rrd "/export/home/lpar2rrd/lpar2rrd/www/" <Directory "/export/home/lpar2rrd/lpar2rrd/www/"> Options Indexes FollowSymLinks Order allow,deny Allow from all </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/export/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi"> AllowOverride None Options ExecCGI FollowSymLinks Order allow,deny Allow from all </Directory>
Step 1. Query for the Boolean value you need to change: # getsebool -a | grep httpd_dis httpd_disable_trans --> off Step 2. Disable the SELinux protection: # setsebool -P httpd_disable_trans=1 Step 3. Verify that the Boolean has changed: # getsebool -a | grep httpd_dis httpd_disable_trans --> on
# setenforce Permissive # vi /etc/sysconfig/selinux SELINUX=disabled
# gunzip lpar2rrd-agent-6.00-0.solaris-sparc.tar.gz # tar xf lpar2rrd-agent-6.00-0.solaris-sparc.tar # pkgadd -d . The following packages are available: 1 lpar2rrd-agent LPAR2RRD OS agent 6.00 ...Upgrade (remove original package at first then install the new one):
# pkgrm lpar2rrd-agent # pkgadd -d .
# usermod -A solaris.ldoms.read lpar2rrdAssure that rights are fine, "/sbin/ldm ls -p" should not return "Authorization failed"
# su - lpar2rrd $ /sbin/ldm ls -p
$ /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl -d <LPAR2RRD-SERVER> ... OS agent working for server: <LPAR2RRD-SERVER> store file for sending is /var/tmp/lpar2rrd-agent-<LPAR2RRD-SERVER>-lpar2rrd.txtIt means that data has been sent to the server, all is fine
$ /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl -d <LPAR2RRD-SERVER> ... OS agent working for server: <LPAR2RRD-SERVER> store file for sending is /var/tmp/lpar2rrd-agent-<LPAR2RRD-SERVER>-lpar2rrd.txt Agent timed out after : 50 seconds /opt/lpar2rrd-agent/lpar2rrd-agent.pl:265It means that the agent could not contact the server.
# su - lpar2rrd $ crontab -e 0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <LPAR2RRD-SERVER> > /var/tmp/lpar2rrd-agent.out 2>&1Replace <LPAR2RRD-SERVER> by hostname of your LPAR2RRD server.
# su - lpar2rrd $ crontab -e * * * * * /usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl <LPAR2RRD-SERVER> > /var/tmp/lpar2rrd-agent.out 2>&1Replace <LPAR2RRD-SERVER> by hostname of your LPAR2RRD server.
# echo "lpar2rrd" >> /var/adm/cron/cron.allow
# su - lpar2rrd $ tar xvf lpar2rrd-7.XX.tar $ cd lpar2rrd-7.XX $ ./install.sh $ cd /home/lpar2rrd/lpar2rrd
$ crontab -l | grep load.sh $
$ crontab -e # LPAR2RRD UI 0,30 * * * * /home/lpar2rrd/lpar2rrd/load.sh > /home/lpar2rrd/lpar2rrd/load.out 2>&1Assure there is just one such entry in crontab.
# echo "lpar2rrd" >> /var/adm/cron/cron.allow
$ cd /home/lpar2rrd/lpar2rrd $ ./load.sh
tail /var/log/httpd/error_log # Apache error log tail /var/log/httpd/access_log # Apache access log tail /var/tmp/lpar2rrd-realt-error.log # STOR2RRD CGI-BIN log tail /var/tmp/systemd-private*/tmp/lpar2rrd-realt-error.log # STOR2RRD CGI-BIN log when Linux has enabled private temp
umask 022 cd /home/lpar2rrd/lpar2rrd/ cp bin/test-healthcheck-cgi.sh lpar2rrd-cgi/go to the web browser: http://<your web server>/lpar2rrd/test.html