VMware 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
dnf install 'dnf-command(config-manager)' dnf config-manager --enable crb
# 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 sharutils
# 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=6.04-2 libcrypt-ssleay-perl libio-socket-ssl-perl libmozilla-ldap-perl libxml-parser-perl libjson-xs-perl
# apt-mark hold liblwp-protocol-https-perl liblwp-protocol-https-perl set on hold.
# 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 "/home/lpar2rrd/lpar2rrd/www/" Alias /lpar2rrd "/home/lpar2rrd/lpar2rrd/www/" <Directory "/home/lpar2rrd/lpar2rrd/www/"> AllowOverride Options Indexes FollowSymLinks Require all granted </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/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 "/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>
# 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 "/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 SetHandler cgi-script Options ExecCGI FollowSymLinks Require all granted </Directory>
# vi /etc/opt/freeware/apache/httpd.conf Alias /lpar2rrd "/home/lpar2rrd/lpar2rrd/www/" <Directory "/home/lpar2rrd/lpar2rrd/www/"> Options Indexes FollowSymLinks Order allow,deny Allow from all </Directory> # CGI-BIN ScriptAlias /lpar2rrd-cgi/ "/home/lpar2rrd/lpar2rrd/lpar2rrd-cgi/" <Directory "/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
![]() |
Assign lpar2rrd@xorux.com user read-only role |
![]() |
perl /home/lpar2rrd/lpar2rrd/bin/conntest.pl <vCenter-host> 443 Connection to <vCenter-host> on port "443" is ok
# su - lpar2rrd cd /home/lpar2rrd/lpar2rrd ./bin/vmware_install.sh /tmp /tmp/VMware-vSphere-Perl-SDK-7.0.0-17698549.i386.tar.gz found Extracting selected package to /home/lpar2rrd/lpar2rrd/vmware-vsphere-cli-distrib ... Installing selected libraries and apps to /home/lpar2rrd/lpar2rrd/vmware-lib ... ... Continue by define VMware hosts and their credentials UI: menu ➡ VMware ➡ Configure ➡ Add credentials
cd /home/lpar2rrd/lpar2rrd . etc/lpar2rrd.cfg $PERL vmware-lib/apps/connect.pl --version vSphere SDK for Perl version: 7.0.0 Script 'connect.pl' version: 1.0 $PERL vmware-lib/apps/connect.pl --server <vCenter host> --username "lpar2rrd@your_domain" --password "XXXXX" Connection Successful Server Time : 2016-02-25T16:28:44.086369ZIf you get output like below then follow bellow Troubleshooting section
Server version unavailable at 'https://<vCenter host>:443/sdk/vimService.wsdl' at /home/lpar2rrd/lpar2rrd/vmware-lib/apps/../VMware/VICommon.pm line 704.
cd /home/lpar2rrd/lpar2rrd ./load.sh
cd /home/lpar2rrd/lpar2rrd . etc/lpar2rrd.cfg $PERL vmware-lib/apps/connect.pl --server <server name> --username "lpar2rrd" Server version unavailable at 'https://vcenter01:443/sdk/vimService.wsdl' at /lpar2rrd/lpar2rrd/vmware-lib/apps/..//VMware/VICommon.pm line 734.
cd /home/lpar2rrd/lpar2rrd rm -rf vmware-lib/ ./bin/vmware_install.sh /tmp
more /home/lpar2rrd/lpar2rrd/logs/error.log Thu Feb 18 10:49:01 2016: vmware name: vcenter01 has not array of hosts ?!? : ...
cd /home/lpar2rrd/lpar2rrd . etc/lpar2rrd.cfg $PERL vmware-lib/apps/connect.pl --server <vCenter host> --username "lpar2rrd@your_domain" --password "XXXXX" Connection Successful Server Time : 2016-08-02T06:58:26.355767Z
$PERL vmware-lib/apps/connect.pl --server <vCenter host> --username "vCenter read only user" --credstore .vmware/credstore/vicredentials.xml
![]() |
# useradd -c "LPAR2RRD agent user" -m lpar2rrd
# rpm -Uvh lpar2rrd-agent-5.00-0.noarch.rpm # rpm -qa|grep lpar2rrd-agent lpar2rrd-agent-5.00-0
# gunzip lpar2rrd-agent-5.00-0.solaris-i86pc.tar.gz # tar xf lpar2rrd-agent-5.00-0.solaris-i86pc.tar # pkgadd -d . The following packages are available: 1 lpar2rrd-agent LPAR2RRD OS agent 5.00 (i86pc) 5.00 ...Solaris upgrade under root:
# pkgrm lpar2rrd-agent # pkgadd -d .
# 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
vi /home/lpar2rrd/lpar2rrd/etc/lpar2rrd.cfg LPAR2RRD_AGENT_DAEMON=1
./load.sh Starting LPAR2RRD daemon on port:8162 ...
ps -ef|grep lpar2rrd-daemon lpar2rrd 10617010 1 0 Mar 16 - 0:00 /usr/bin/perl -w /home/lpar2rrd/lpar2rrd/bin/lpar2rrd-daemon.pl netstat -an| grep 8162 tcp4 0 0 *.8162 *.* LISTEN
telnet <LPAR2RRD-SERVER> 8162 Connected to 192.168.1.1 . Escape character is '^]'.This is ok, exit either Ctrl-C or ^].
/usr/bin/perl /opt/lpar2rrd-agent/lpar2rrd-agent.pl -d <LPAR2RRD-SERVER> ... Agent send : yes : forced by -d Agent send slp: sending wait: 4 OS/HMC 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> ... Agent send : yes : forced by -d Agent send slp: sending wait: 1 OS/HMC 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.
ps -ef|grep lpar2rrd-daemon lpar2rrd 10617010 1 0 Mar 16 - 0:00 /usr/bin/perl -w /home/lpar2rrd/lpar2rrd/bin/lpar2rrd-daemon.pl cd /home/lpar2rrd/lpar2rrd tail logs/error.log-daemon tail logs/daemon.out new server has been found and registered: Linux (lpar=linuxhost01) mkdir : /lpar2rrd/data/Linux/no_hmc/linuxhost01/It means that new OS agent has been registered from linuxhost01 (Linux stand-alone example)
cd /home/lpar2rrd/lpar2rrd ls -l data/<server name>/*/<VM name>/*mmm -rw-r--r-- 2 lpar2rrd staff 7193736 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/cpu.mmm -rw-r--r-- 2 lpar2rrd staff 7193736 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/lan-en1.mmm -rw-r--r-- 2 lpar2rrd staff 10790264 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/mem.mmm -rw-r--r-- 2 lpar2rrd staff 7193736 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/pgs.mmm -rw-r--r-- 2 lpar2rrd staff 7193736 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/san-vscsi0.mmm -rw-r--r-- 2 lpar2rrd staff 3597208 Mar 17 16:16 data/<server name>/no_hmc/<VM name>/san_resp-vscsi0.mmm find data -name mem.mmm -exec ls -l {} \; ...
# 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