Hitachi

JP1 Version 12 JP1/Performance Management - Remote Monitor for Platform Description, User's Guide and Reference


10.2.5 The message "KAVL17016-W Performance data was not saved to the Store database because it is the same as previous performance data." is output to the common message log

The KAVL17016-W message is output to the common message log and the collection of performance data can be skipped if: The amount of time it takes to complete the collection of performance data from all monitored hosts in the instance is more than the collection interval for the collection process (Interval setting value for the instance environment) and the collection interval for each performance data (Collection Interval setting value for each record).

Each collection interval should be set to a value with 15 or more seconds added to the time interval estimated based on the following estimation procedure:

How to estimate the value of the collection interval

Follow these steps to estimate the value of the collection interval:

  1. Measure the collection periods for all monitored hosts.

    Make measurements on the collection periods the connection test by following steps. Determine the maximum value from the time periods required to collect the data for all the monitored hosts in these measurements.

    Note:

    As a guideline, the average time needed to collect performance data per monitored host is 5 seconds for a host running Windows and 20 seconds for one running UNIX. If your measurement results are much greater than these values, review your environment so that they can be closer to the average values above.

    When the monitored host is running Windows:

    1. When you set up an instance, log in to the PFM - RM host as the user specified for RMHost_User.

    2. Use the wmic command# at the command prompt to calculate the time required for obtaining all the wmi objects shown below.

    #: The wmic command will be installed when you execute the wmic command for

    the first time.

    Win32_OperatingSystem

    Win32_ComputerSystem

    Win32_PerfRawData_PerfOS_System

    Win32_PerfRawData_PerfOS_Memory

    Win32_PerfFormattedData_PerfOS_Memory

    Win32_PerfRawData_PerfOS_Processor

    Win32_PerfRawData_Counters_ProcessorInformation#

    Win32_PerfRawData_PerfDisk_LogicalDisk

    Win32_Volume

    Win32_PerfFormattedData_PerfDisk_LogicalDisk

    Win32_PerfRawData_PerfDisk_PhysicalDisk

    Win32_PerfRawData_Tcpip_NetworkInterface

    Win32_PerfFormattedData_PerfProc_Process

    Win32_Process

    Win32_Service

    #: Depending on the configured settings, PFM - RM might not collect Win32_PerfRawData_Counters_ProcessorInformation.

    The following is an example of a batch file that uses the wmic command to obtain wmi objects; this example outputs the time to the log file before and after execution of the wmic command.

    @echo off
    set TARGET=<monitored-host-name>
    set USER=<user-name>
    set PASSWORD=<password>
    set WMIC=wmic /node:%TARGET% /user:%USER% /password:%PASSWORD% path
    echo #WMIC command > C:\time.log
    echo %date%_%time% >> C:\time.log
    %WMIC% Win32_OperatingSystem
    %WMIC% Win32_ComputerSystem
    %WMIC% Win32_PerfRawData_PerfOS_System
    %WMIC% Win32_PerfRawData_PerfOS_Memory
    %WMIC% Win32_PerfFormattedData_PerfOS_Memory
    %WMIC% Win32_PerfRawData_PerfOS_Processor
    %WMIC% Win32_PerfRawData_Counters_ProcessorInformation
    %WMIC% Win32_PerfRawData_PerfDisk_LogicalDisk
    %WMIC% Win32_Volume
    %WMIC% Win32_PerfFormattedData_PerfDisk_LogicalDisk
    %WMIC% Win32_PerfRawData_PerfDisk_PhysicalDisk
    %WMIC% Win32_PerfRawData_Tcpip_NetworkInterface
    %WMIC% Win32_PerfFormattedData_PerfProc_Process
    %WMIC% Win32_Process
    %WMIC% Win32_Service
    echo %date%_%time% >> C:\time.log

    - For <monitored-host-name>, use the value that you specified in "Target Host" when you set the monitoring target. Make sure to enclose the value with double quotation marks.

    - For <user-name>, use the value that you specified in "User" when you set the monitoring target. If you specified "Domain" when you set the monitoring target, use the value in which the value of "Domain", a backslash (\), and the value of "User" are linked in this order.

    - For <password>, use the value that you specified in "Password" when you

    set the monitoring target.

    3. Check the execution result of the wmic command.

    You must revise the network environment settings if execution of all the commands takes around 45 seconds or more when this connection is tested. Check the following log file in the RM host for WMI logs:

    <system-folder>\system32\WBEM\Logs\* #

    #: If a setting is made to output the log file to a different folder, obtain the information from that folder.

    When the monitored host is running UNIX:

    1. When you set up an instance, log in to the PFM - RM host as the user specified for RMHost_User.

    2. Calculate the time required for SSH connection.

    - When the PFM - RM host is running Windows

    To calculate the time required for SSH connection, you have to create a batch file. This can be done by using the plink command when PuTTY is used as the SSH client, or the ssh command when OpenSSH (supplied with Windows Server 2019) is used as the SSH client. Remember to insert a process that outputs time to the log file before and after the plink command or the ssh command.

    - When the PFM - RM host is running UNIX

    To calculate the time required for SSH connection, create a shell script that uses the ssh command. Remember to insert a process that outputs time to the log file before and after the ssh command.

    Example of a batch file using the plink command of PuTTY (when the PFM - RM host is running Windows)

    @echo off
    set TARGET=<monitored-host-name>
    set USER=<user-name>
    set PASSWORD=<password>
    set PLINK=<path-where-plink.exe-is-located>
    set KEY=<path-where-private-key-is-located>
    set COMMON_CMD=<common-command>
    set OS_CMD=<OS-specific-command>
    echo #Common command > C:\time.log
    echo %date%_%time% >> C:\time.log
    %PLINK% -ssh -noagent -i %KEY% -P 22 %USER%@%TARGET% %COMMON_CMD%
    echo %date%_%time% >> C:\time.log
    echo #OS peculiar command >> C:\time.log
    echo %date%_%time% >> C:\time.log
    %PLINK% -ssh -noagent -i %KEY% -P 22 %USER%@%TARGET% %OS_CMD%
    echo %date%_%time% >> C:\time.log

    Example of a batch file using the ssh command of OpenSSH (supplied with Windows Server 2019) (when the PFM - RM host is running Windows)

    @echo off
    set TARGET=<monitored-host-name>
    set USER=<user-name>
    set PASSWORD=<password>
    set SSH=<path-where-ssh.exe-is-located>
    set KEY=<path-where-private-key-is-located>
    set COMMON_CMD=<common-command>
    set OS_CMD=<OS-specific-command>
    echo #Common command > C:\time.log
    echo %date%_%time% >> C:\time.log
    %SSH% -i %KEY% -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -p 22 %USER%@%TARGET% %COMMON_CMD%
    echo %date%_%time% >> C:\time.log
    echo #OS peculiar command >> C:\time.log
    echo %date%_%time% >> C:\time.log
    %SSH% -i %KEY% -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -p 22 %USER%@%TARGET% %OS_CMD%
    echo %date%_%time% >> C:\time.log

    Example of a shell script that uses the ssh command (when the PFM - RM host is running UNIX)

    echo "#Common command" > /tmp/time.log
    date -u +'%Y/%m/%d_%H:%M:%S.%N' >> /tmp/time.log
    /usr/bin/ssh -i <path-where-private-key-is-located> -p 22
    <user-name>@<monitored-host-name> <common-command>
    date -u +'%Y/%m/%d_%H:%M:%S.%N' >> /tmp/time.log
    echo "#OS peculiar command" >> /tmp/time.log
    date -u +'%Y/%m/%d_%H:%M:%S.%N' >> /tmp/time.log
    /usr/bin/ssh -i <path-where-private-key-is-located> -p 22
    <user-name>@<monitored-host-name> <OS-specific-command>
    date -u +'%Y/%m/%d_%H:%M:%S.%N' >> /tmp/time.log

    - For <path-where-private-key-is-located>, use the value specified for Private_Key_File in the monitored host settings.

    - For <monitored-host-name>, use the value specified for Target Host in the monitored host settings.

    - Make sure to enclose monitored-host-name, path-where-plink.exe-is-located, path-where-ssh.exe-is-located, and path-where-private-key-is-located in double quotation marks.

    - For <user-name>, use the value specified for User in the monitored host settings.

    - Use the following for <common-command#>:

    "LANG=C;LC_ALL=C;export LANG;export LC_ALL;
    /bin/date -u +%Y-%m-%dT%H:%M:%SZ;/bin/uname -s;/bin/uname -a;
    /bin/uname -n;/bin/uname -r;/bin/uname -v;/bin/uname -m;
    /bin/uname -p;/bin/uname -o;/bin/uname -i"

    - Use the following for <OS-specific-command#>:

    For AIX

    "LANG=C;LC_ALL=C;export LANG;export LC_ALL;/usr/bin/mpstat 5 1;
    /usr/sbin/pstat -s;/usr/sbin/sar -r 5 1;
    /usr/sbin/sar -u -P ALL 5 1;/usr/bin/uptime;/usr/bin/vmstat -s;
    /usr/bin/vmstat -v;/usr/bin/df -k;/usr/sbin/sar -d 5 1;
    /usr/bin/netstat -i -n;/usr/bin/ps -A -X -o st,pid,ppid,comm,st,pid,ppid,etime,tty,wpar,st,pid,ppid,args"

    For HP-UX

    "LANG=C;LC_ALL=C;export LANG;export LC_ALL;
    /sbin/crashconf | grep system:;/usr/sbin/sar -Muw 5 1;
    /usr/sbin/swapinfo -m;/usr/bin/uptime;/usr/bin/vmstat 5 2;
    /usr/bin/vmstat -s;/usr/bin/df -lk;/usr/sbin/ioscan -m dsf;
    /usr/bin/iostat;/usr/sbin/sar -d 5 1;/usr/bin/netstat -i -n;UNIX95=1;export UNIX95;/usr/bin/ps -A -o state,pid,ppid,comm,state,pid,ppid,etime,tty,args"

    For Linux

    "LANG=C;LC_ALL=C;export LANG;export LC_ALL;/usr/bin/free -m -w;
    if [ $? -ne 0 ];then /usr/bin/free -m;fi;/usr/bin/mpstat -A 5 1;
    if [ $? -ne 0 ];then /usr/bin/mpstat -P ALL 5 1;fi;
    /usr/bin/sar -W 5 1;/usr/bin/uptime;/usr/bin/vmstat -s;
    /bin/df -lkP;/usr/bin/iostat -x -k -d 5 2;
    /bin/netstat -i -n;/bin/ps -e -o state,pid,ppid,comm,state,pid,ppid,etime,tty,args"

    For Solaris

    "LANG=C;LC_ALL=C;export LANG;export LC_ALL;/usr/bin/mpstat -p 5 2;
    /usr/bin/pagesize;/usr/sbin/prtconf | grep Memory;
    /usr/sbin/sar -rw 5 1;/usr/sbin/swap -l;/usr/bin/uptime;
    /usr/bin/vmstat -s;/usr/bin/df -lk;/usr/bin/iostat -x 5 2;
    /usr/bin/netstat -i -n;/usr/bin/ps -e -o s,pid,ppid,fname,s,pid,ppid,etime,tty,zone,s,pid,ppid,args"

    #

    - Copy and paste the commands above to specify them as one line.

    - As mentioned previously, you must enclose the entire command in double quotation marks.

    - Ignore the information that is output to the console when you execute the command.

    3. Check the log file for the execution result.

    When you execute this connection test, if it takes more than 10 seconds to execute a common command, or if it takes 60 seconds or longer to execute an OS-specific command, review the network environment settings.

    For logs related to SSH, check the syslog file of the monitored host. Note that, if you want to output the logs related to SSH to the syslog file of the monitored host, you must specify settings on the monitored host. For details about the settings, see the documentation of the OS.

    Note

    How to check the collection period in the environment during operation

    In the environment during operation, you can determine the collection period (the amount of time it takes to complete the collection of performance data from all monitored hosts in the instance) by calculating the difference between the start and end times of collection based on the log records in the PFM - RM for Platform log file as shown below:

    Log file name

    • In Windows

      installation-folder\agt7\agent\instance-name\log\timer_01

    • In UNIX

      installation-directory/agt7/agent/instance-name/log/timer_01

    Example records in the log file and how to calculate the collection period

    Time when the collection started:

    2016/03/16 11:20:10.135 TimerThread.cpp 141 I collecting start

    Time when the collection ended:

    2016/03/16 11:20:47.923 TimerThread.cpp 144 I collecting end

    Collection period:

    Time when the collection ended - Time when the collection started = 47.923 - 10.135 = Approximately 38 seconds

    Also, you can determine the collection period for each monitored host by calculating the difference between the start and end times of collection, based on the log records in the PFM - RM for Platform log file as shown below.

    Log file name

    • In Windows

      installation-folder\agt7\agent\instance-name\log\target_monitored-host-name_01

    • In UNIX

      installation-directory/agt7/agent/instance-name/log/target_monitored-host-name_01

    Example records in the log file and how to calculate the collection period

    • In Windows

      Time when the collection started:

      2016/03/16 11:20:19.575 WMI_Collector.cpp 58 I collect start

      Time when the collection ended:

      2016/03/16 11:20:26.024 WMI_Collector.cpp 261 I collect end

      Collection period:

      Time when the collection ended - Time when the collection started = 26.024 - 19.575 = Approximately 6 seconds

    • In UNIX

      Time when the collection started:

      2015/10/21 18:43:02.501 SSH_Collector.cpp 65 I collection start

      Time when the collection ended:

      2015/10/21 18:43:22.563 SSH_Collector.cpp 75 I collection end

      Collection period:

      Time when the collection ended - Time when the collection started = 22.563 - 2.501 = Approximately 20 seconds

  2. Calculate the average number of hosts processed per thread for collecting performance data

    PFM - RM for Platform uses 10 parallel threads to collect performance data. You can use the following formula to calculate the average number of hosts that are processed by a single thread which collects the data:

    Average number of hosts per thread = Total number of monitored hosts / 10 (rounded up to the next whole number)

  3. Determine the value set for the collection interval

    Based on the values calculated in steps 1 and 2, use the following formula to calculate the value for the collection interval:

    Collection interval value = (Maximum collection period determined in step 1 x Average number of hosts determined in step 2) + Offset value# + 15

    #

    This is the value set for the Offset label in the service startup initialization file of Remote Monitor Collector (jpcagt.ini).