Host Resources Troubleshooting
Use the following sequence of steps to determine the source of host resources data collection issues. All commands—except for the SSH commands and the WMI Proxy command—report errors to metadata.log. After executing a command, check the metadata.log file for error messages. If there is an error noted, correct the problem and then re-issue the command. If the command succeeds, proceed to the next command in this sequence:
Host Resources: Check the Status of the WMI Proxy Server
Use the following checkwmiproxy utility to verify that the WMI Proxy Server is up and running.
The APTARE WMI Proxy logs are written to:
C:\Program Files\Aptare\WMIProxyServer\logs\aptarewmiserver.log
Prerequisites:
Either checkinstall or updateconfig must have been run before running checkwmiproxy. Otherwise, checkwmiproxy will not have access to the proxy server settings that are saved in the collector configuration file.
Usage:
checkwmiproxy.[sh|bat] [wmiProxyServer wmiProxyPort remoteWinHost DomainOfUserId UserId Password "Command"]
Where:
wmiProxyServer is the name of the APTARE WMI Proxy Server
wmiProxyPort is the proxy’s port (default is 1248)
Simple Usage:
checkwmiproxy.[sh|bat]
By default, this utility will look for the WMI Proxy Server details in the Host Resources Collector section of the collector configuration file. If it does not find a Host Resources Collector section, the checkwmiproxy will terminate with an error and a recommendation to pass explicit parameters, as shown in the usage statement above.
Example 1:
[root@aptaredev3 bin]# ./checkwmiproxy.sh
MetaDataChildThread.init(). Going to initialize.
Will try to connect to the APTARE WMI Proxy at 172.16.1.152:1248
APTARE WMI Proxy Version: APTAREWMIServer 6.5.01 06/25/07 21:00:00
Connection to APTARE WMI Proxy server successfully validated.
Example 2: Remote WMI Queries
This utility also can be used to execute remote WMI queries, as shown in the following example.
[root@aptaredev3 bin]# ./checkwmiproxy.sh 172.16.1.152
Administrator password 172.16.1.152 "select * from Win32_OperatingSystem"
MetaDataChildThread.init(). Going to initialize.
Will try to connect to the APTARE WMI Proxy at 172.16.1.152:1248
APTARE WMI Proxy Version: APTAREWMIServer 6.5.01 06/25/07 21:00:00
Connection to APTARE WMI Proxy server successfully validated.
APTAREWMIServer Response:
instance of Win32_OperatingSystem
{
BootDevice = "\\Device\\HarddiskVolume1";
BuildNumber = "3790";
BuildType = "Multiprocessor Free";
Caption = "Microsoft(R) Windows(R) Server 2003, Standard Edition";
CodeSet = "1252";
CountryCode = "1";
CreationClassName = "Win32_OperatingSystem";
CSCreationClassName = "Win32_ComputerSystem";
CSDVersion = "Service Pack 1";
CSName = "APTARESTGRPT1";
CurrentTimeZone = -420;
DataExecutionPrevention_32BitApplications = TRUE;
DataExecutionPrevention_Available = TRUE;
DataExecutionPrevention_Drivers = TRUE;
DataExecutionPrevention_SupportPolicy = 2;
Debug = FALSE;
Description = "aptarestgrpt1";
Distributed = FALSE;
EncryptionLevel = 168;
ForegroundApplicationBoost = 2;
FreePhysicalMemory = "160264";
FreeSpaceInPagingFiles = "1967860";
FreeVirtualMemory = "2084508";
InstallDate = "20070212110938.000000-480";
LargeSystemCache = 1;
LastBootUpTime = "20080507115419.343750-420";
LocalDateTime = "20080520142117.484000-420";
Locale = "0409";
Manufacturer = "Microsoft Corporation";
MaxNumberOfProcesses = 4294967295;
MaxProcessMemorySize = "2097024";
Name = "Microsoft Windows Server 2003 R2 Standard
Edition|C:\\WINDOWS|\\Device\\Harddisk0\\Partition1";
NumberOfLicensedUsers = 10;
NumberOfProcesses = 90;
NumberOfUsers = 8;
Organization = "Aptare";
OSLanguage = 1033;
OSProductSuite = 272;
OSType = 18;
OtherTypeDescription = "R2";
PAEEnabled = TRUE;
Primary = TRUE;
ProductType = 3;
QuantumLength = 0;
QuantumType = 0;
RegisteredUser = "Aptare";
SerialNumber = "69712-OEM-4418173-93136";
ServicePackMajorVersion = 1;
ServicePackMinorVersion = 0;
SizeStoredInPagingFiles = "2039808";
Status = "OK";
SuiteMask = 272;
SystemDevice = "\\Device\\HarddiskVolume1";
SystemDirectory = "C:\\WINDOWS\\system32";
SystemDrive = "C:";
TotalVirtualMemorySize = "3256472";
TotalVisibleMemorySize = "1363400";
Version = "5.2.3790";
WindowsDirectory = "C:\\WINDOWS";
};
Host Resources: Post-Installation Verification
Execute this utility to verify that the host resources installation was successful.
Usage:
hostresourcecheckinstall.{sh|bat}
Host Resources: Verify Connectivity
A number of utilities can be used to verify connectivity to the hosts for which you want to collect data.
Host Resources: Check Host Connectivity Using Standard SSH
Storage Viewer uses SSH to communicate with devices to run SSH commands. Sometimes, a connectivity issue is simply an incorrect path to a host.
Note: Use the following SSH commands before attempting to collect data.
To check host connectivity using standard SSH:
1. Check that the connection to a Host is successful, using the credentials provided.
[user@host ~] ssh <user>@<host> ls
Similarly, if you are using Telnet, check your host access via Telnet and run sudo commands, as shown in the following step.
2. In access-controlled environments such as sudo, a sudo user must be set up. Ensure that the sudo user can run the commands required for the host operating system platform.
To verify sudo access:
[user@host ~] ssh <sudouser>@<host> “sudo <command>”
If this command results in errors, such as
command not found, set up the paths correctly and re-run this command. See
“Checking Paths for SSH” on page 11.
3. Paths should be set correctly for the commands to run.
Checking Paths for SSH
If you find messages in the metadata.log file that indicate that some of the commands are not found, then most likely the reason for it is the paths have not been set properly.
Storage Viewer uses a non-interactive login shell to execute ssh commands on devices.
1. Check the environment setting for the shell by running the command.
[user@host ~] ssh <user>@<host> “env”
Check the PATH shown in the output and make sure that it contains the path to all the commands required for Storage Viewer for the OS platform of the host.
Sample PATH for each of the host operating system platforms:
Linux: /bin:/sbin:/usr/bin:/usr/sbin
Solaris: /usr/xpg4/bin:/usr/sbin:/usr/bin
AIX: /usr/bin:/usr/sbin
HPUX: /usr/bin:/usr/sbin:/opt/fcms/bin:/sbin
Note: Since Veritas Volume Manager is supported, its path needs to be included in the PATH env variable.
2. In sudo environments, make sure that the sudo path is also in the PATH shown in the output of the above command.
Environment setting for bash users:
1. Define all your settings in the file: ~/.bashrc
2. Make sure that the file ~/.bash_profile only contains the line: source ~/.bashrc
Host Resources: Check Host Connectivity
This HDS-provided utility displays information on the connection status of a list of host names, IP addresses, or a range of IP addresses.
Usage:
chkHostConnection.{sh|bat} HostAddresses userId password [domain <domain>] [exclude <excludeHostAddresses>] [wmiserver <wmiserver>] [cto <connectTimeout>] [sto socketTimeout>] [accessCmd=accessControlCommand>]
HostAddresses | The hosts to verify. It can be hostname, IP address, or range of IP addresses, or a comma-separated list of them. |
domain | The Domain for the Windows hosts |
excludeHostAddresses | The hosts to be excluded from the HostAddresses list. It can be hostname, IP address, or range of IP addresses, or a comma separated list of them. |
wmiserver | Name of the WMI Proxy Server |
cto | Connection time-out in milliseconds |
sto | Socket time-out in milliseconds |
accessCmd | An access control command such as sudo |
Result:
For each host, the status of the connection is listed.
Connectivity Check Server List: [172.16.1.10, 172.16.1.12, HDSaix1]
172.16.1.10 ............. SUCCESS
172.16.1.12 ............. SUCCESS
Host Resources: Check Host Connectivity
This HDS-provided utility provides information on the connection status of a list of Host Addresses that are provided in the Host Resource Configuration file.
Usage:
chkHostConnection.{sh|bat} file <HostResourceFile> [wmiserver <wmiserver>] [cto <connectTimeout>] [sto <socketTimeout>]
HostResourceFile | The file should be located under the home directory: /mbs/conf/hostresourceconf |
wmiserver | Name of the WMI Proxy Server |
cto | Connection time-out in milliseconds |
sto | Socket time-out in milliseconds |
Result: For each host, the status of the connection is listed.
Connectivity Check Server List: [172.16.1.10, 172.16.1.12, aptareaix1]
172.16.1.10 ............. SUCCESS
172.16.1.12 ............. SUCCESS
Host Resources: Generating Host Resource Configuration Files
This HDS-provided utility automatically generates the host resource configuration files and collector configuration file for each valid line provided in the input file.
Usage:
genHostResourceConf.{sh|bat} {CollectorID} {fileName}
CollectorID | Identifier name used for the configuration files |
filename | File containing the list of parameters—one per line—in the format: HostAddresses:userId:password:domain:excludeHostAddress Comments are allowed by using a # at the beginning of the line. |
cto | Connection time-out in milliseconds |
sto | Socket time-out in milliseconds |
Sample lines in an input file:
# Sample configuration file to generate Host Resource Conf files 172.16.1.11-13,aptarelab3:root:adminpwd::172.16.1.12-13,apataredlab3
aptareaix1:root:superpwd::
apatrewin2k:samuel:adminpwd:aptarewin2kdomain:
Result:
• For each valid line, a host resource configuration is created under the home directory:
/mbs/conf/hostresourceconf. Lines that are not valid are sent to standard output.
• Creates a collector configuration xml file with Meta Data Collector child thread tags for each successfully created host resource configuration file. The file is saved in the home directory under /mbs/conf. The collector configuration xml is named in the following format:
collectorconfig-<date>.xml where date is in DDMMMYYYHHMM format
Host Resources: Check the Execution of a Command on a Remote Server
This utility provides the output of a command by running it on the specified remote server.
Usage:
remoteExecCommand.{sh|bat} HostAddress [enc] userId password [domain=<domain>] [wmiserver=<wmiserver>] [cto=<connectTimeout>] [sto=socketTimeout>] [accessCmd=accessControlCommand>]
HostAddresses | The hosts to verify. It can be hostname, IP address, or range of IP addresses, or a comma-separated list of them. |
userId password | Use the [enc] option to provide encrypted user ID and password arguments. |
domain | The Domain for the Windows hosts (only for connecting to a Windows server) |
wmiserver | Name of the WMI Proxy Server |
cto | Connection time-out in milliseconds |
sto | Socket time-out in milliseconds |
accessCmd | An access control command such as sudo |
Examples:
remoteExecCommand.sh 172.16.1.21 myuser mypasswd /usr/bin/df -k
remoteExecCommand.sh 172.16.1.21 myuser mypasswd accessCmd=sudo cto=10000 /usr/bin/df -k
Host Resources Data Collection
Storage Viewer can collect the following types of host resources:
• Capacity
• Oracle
• SQL Server
• Exchange
• Network
• Processor
• Memory
• Process
• System
Host Resources: Collection in Stand-Alone Mode
This utility executes the data collection process against the specific host resources files.
Usage (3 options):
hostresourceDetail.{sh|bat} all
hostresourceDetail.{sh|bat} <MetaCollectorID> <HostResourcePolicyName>
hostresourceDetail.{sh|bat} HostAddresses uid=userId pwd=password [<domain>] [<excludeHostAddresses>]
all | This option runs host resource policies against all Meta Collectors. |
MetaCollectorID | The ID used to identify the MetaCollector within the collector configuration xml file. |
HostResourcePolicyName | The Policy ID within the Meta Collector ID specified. |
HostAddresses | The hosts to verify. It can be hostname, IP address, or range of IP addresses, or a comma separated list of them. |
domain | The Domain for the Windows hosts |
excludeHostAddresses | The hosts to be excluded from the HostAddresses list. It can be hostname, IP address, or range of IP addresses, or a comma separated list of them. |