#!/bin/ksh93 #---------------------------------------------------------------------------- # ALTRAN_PROLOG_BEGIN_TAG # This is an automatically generated prolog. # # Copyright (C) Altran ACT S.A.S. 2018,2019,2021. All rights reserved. # # ALTRAN_PROLOG_END_TAG # #---------------------------------------------------------------------------- # @(#) 7d4c34b 43haes/lib/ksh93/availability/cl_amlib.sh, 726, 2147A_aha726, Feb 05 2021 09:50 PM #---------------------------------------------------------------------------- # Global Definitions: #---------------------------------------------------------------------------- PATH=$(/usr/es/sbin/cluster/utilities/cl_get_path all) export PATH # For Availability metrics tool, log file by default is /var/hacmp/availability/clavailability.log export CLAM_LOG_FILE_NAME="clavailability.log" # Fetch the CLAM_LOG_DIR from HACMPlogs ODM CLAM_LOG_DIR=$(clodmget -q "name = $CLAM_LOG_FILE_NAME" -f value -n HACMPlogs) [[ -z $CLAM_LOG_DIR ]] && CLAM_LOG_DIR="/var/hacmp/availability" # Create a log directory, if it does not exists export CLAM_LOG_DIR [[ ! -d $CLAM_LOG_DIR ]] && mkdir -p $CLAM_LOG_DIR > /dev/null 2>&1 export CLAM_LOG_FILE="$CLAM_LOG_DIR/$CLAM_LOG_FILE_NAME" #Exporting the tags related to Availability Metrics # Tags related to ROHA Assesment, acquire and release export AM_ROHA_ASSESSMENT_BEGIN="" export AM_ROHA_ASSESSMENT_END="" export AM_ROHA_ASSESSMENT_FAILURE="" export AM_ROHA_ACQUIRE_BEGIN="" export AM_ROHA_ACQUIRE_END="" export AM_ROHA_RELEASE_BEGIN="" export AM_ROHA_RELEASE_END="" #Tags related to application start & stop export AM_APP_START_BEGIN="" export AM_APP_START_END="" export AM_APP_START_FAILURE="" export AM_APP_STOP_BEGIN="" export AM_APP_STOP_END="" export AM_APP_STOP_FAILURE="" #Tags related to Service IP alias & dealias export AM_SERVICEIP_ALIAS_BEGIN="" export AM_SERVICEIP_ALIAS_END="" export AM_SERVICEIP_ALIAS_FAILURE="" export AM_SERVICEIP_DEALIAS_BEGIN="" export AM_SERVICEIP_DEALIAS_END="" export AM_SERVICEIP_DEALIAS_FAILURE="" #Tags related to Volume Group export AM_VG_VARYON_BEGIN="" export AM_VG_VARYON_END="" export AM_VG_VARYON_FAILURE="" export AM_VG_VARYOFF_BEGIN="" export AM_VG_VARYOFF_END="" export AM_VG_VARYOFF_FAILURE="" export AM_VG_SYNC_BEGIN_RG_MOVE="" export AM_VG_SYNC_END_RG_MOVE="" export AM_VG_SYNC_FAILURE_RG_MOVE="" export AM_VG_SYNC_BEGIN_RG_MOVE_COMPLETE="" export AM_VG_SYNC_END_RG_MOVE_COMPLETE="" export AM_VG_SYNC_FAILURE_RG_MOVE_COMPLETE="" #Tags related to Filesystem mount & unmount export AM_FS_MOUNT_BEGIN="" export AM_FS_MOUNT_END="" export AM_FS_MOUNT_FAILURE="" export AM_FS_UMOUNT_BEGIN="" export AM_FS_UMOUNT_END="" export AM_FS_UMOUNT_FAILURE="" #Tags related to Network Filesystem activate & deactivate export AM_NFS_ACTIVATE_BEGIN="" export AM_NFS_ACTIVATE_END="" export AM_NFS_ACTIVATE_FAILURE="" export AM_NFS_DEACTIVATE_BEGIN="" export AM_NFS_DEACTIVATE_END="" export AM_NFS_DEACTIVATE_FAILURE="" #Tags related to WPAR activate & deactivate export AM_WPAR_START_BEGIN="" export AM_WPAR_START_END="" export AM_WPAR_START_FAILURE="" export AM_WPAR_STOP_BEGIN="" export AM_WPAR_STOP_END="" export AM_WPAR_STOP_FAILURE="" #Tags related to site_up start & stop export AM_SITE_UP_BEGIN="" export AM_SITE_UP_END="" export AM_SITE_UP_FAILURE="" #Tags related to site_up_complete start & stop export AM_SITE_UP_COMPLETE_BEGIN="" export AM_SITE_UP_COMPLETE_END="" export AM_SITE_UP_COMPLETE_FAILURE="" #Tags related to site_down start & stop export AM_SITE_DOWN_BEGIN="" export AM_SITE_DOWN_END="" export AM_SITE_DOWN_FAILURE="" #Tags related to site_down_complete start & stop export AM_SITE_DOWN_COMPLETE_BEGIN="" export AM_SITE_DOWN_COMPLETE_END="" export AM_SITE_DOWN_COMPLETE_FAILURE="" #Tags related to node_up start & stop export AM_NODE_UP_BEGIN="" export AM_NODE_UP_END="" export AM_NODE_UP_FAILURE="" #Tags related to node_up_complete start & stop export AM_NODE_UP_COMPLETE_BEGIN="" export AM_NODE_UP_COMPLETE_END="" export AM_NODE_UP_COMPLETE_FAILURE="" #Tags related to node_down start & stop export AM_NODE_DOWN_BEGIN="" export AM_NODE_DOWN_END="" export AM_NODE_DOWN_FAILURE="" #Tags related to node_down_complete start & stop export AM_NODE_DOWN_COMPLETE_BEGIN="" export AM_NODE_DOWN_COMPLETE_END="" export AM_NODE_DOWN_COMPLETE_FAILURE="" #Tags related to rg_move_acquire start & stop export AM_RG_MOVE_ACQUIRE_BEGIN="" export AM_RG_MOVE_ACQUIRE_END="" export AM_RG_MOVE_ACQUIRE_FAILURE="" #Tags related to rg_move_release start & stop export AM_RG_MOVE_RELEASE_BEGIN="" export AM_RG_MOVE_RELEASE_END="" export AM_RG_MOVE_RELEASE_FAILURE="" #Tags related to rg_move start & stop export AM_RG_MOVE_BEGIN="" export AM_RG_MOVE_END="" export AM_RG_MOVE_FAILURE="" #Tags related to rg_move_complete start & stop export AM_RG_MOVE_COMPLETE_BEGIN="" export AM_RG_MOVE_COMPLETE_END="" export AM_RG_MOVE_COMPLETE_FAILURE="" #Tags related to rg_move_fence start & stop export AM_RG_MOVE_FENCE_BEGIN="" export AM_RG_MOVE_FENCE_END="" export AM_RG_MOVE_FENCE_FAILURE="" #Tags related to swap_adapter start & stop export AM_SWAP_ADAPTER_BEGIN="" export AM_SWAP_ADAPTER_END="" export AM_SWAP_ADAPTER_FAILURE="" #Tags related to reconfig_topology_start start & stop export AM_RECONFIG_TOPOLOGY_START_BEGIN="" export AM_RECONFIG_TOPOLOGY_START_END="" export AM_RECONFIG_TOPOLOGY_START_FAILURE="" #Tags related to reconfig_topology_complete start & stop export AM_RECONFIG_TOPOLOGY_COMPLETE_BEGIN="" export AM_RECONFIG_TOPOLOGY_COMPLETE_END="" export AM_RECONFIG_TOPOLOGY_COMPLETE_FAILURE="" #Tags related to reconfig_resource_acquire start & stop export AM_RECONFIG_RESOURCE_ACQUIRE_BEGIN="" export AM_RECONFIG_RESOURCE_ACQUIRE_END="" export AM_RECONFIG_RESOURCE_ACQUIRE_FAILURE="" #Tags related to reconfig_resource_release start & stop export AM_RECONFIG_RESOURCE_RELEASE_BEGIN="" export AM_RECONFIG_RESOURCE_RELEASE_END="" export AM_RECONFIG_RESOURCE_RELEASE_FAILURE="" #Tags related to reconfig_configuration_complete start & stop export AM_RECONFIG_CONFIG_COMPLETE_BEGIN="" export AM_RECONFIG_CONFIG_COMPLETE_END="" export AM_RECONFIG_CONFIG_COMPLETE_FAILURE="" #Tags related to configuration changes in a cluster export AM_CONFIG_CHANGES_NODES="" export AM_CONFIG_CHANGES_RG="" export AM_CONFIG_CHANGES_VG="" export AM_CONFIG_CHANGES_FS="" export AM_CONFIG_CHANGES_APP="" export AM_CONFIG_CHANGES_SERVICEIP="" #Tags related to split-merge events export AM_SPLIT_BEGIN="" export AM_SPLIT_END="" export AM_MERGE_BEGIN="" export AM_MERGE_END="" export AM_QUORUM_BEGIN="" export AM_QUORUM_END="" #Tags related to FFDC events export AM_FFDC_BEGIN="" export AM_FFDC_END="" export AM_FFDC_FAILURE="" #Tag for process monitoring export AM_AIX_MON="" #Tags related to SAP Smart Assist export AM_SA_SAP_START_BEGIN="" export AM_SA_SAP_START_END="" export AM_SA_SAP_START_FAILURE="" export AM_SA_SAP_STOP_BEGIN="" export AM_SA_SAP_STOP_END="" export AM_SA_SAP_STOP_FAILURE="" #Tags related to ORACLE Smart Assist export AM_SA_ORACLE_START_BEGIN="" export AM_SA_ORACLE_START_END="" export AM_SA_ORACLE_START_FAILURE="" export AM_SA_ORACLE_STOP_BEGIN="" export AM_SA_ORACLE_STOP_END="" export AM_SA_ORACLE_STOP_FAILURE="" #Tags related to DB2 Smart Assist export AM_SA_DB2_START_BEGIN="" export AM_SA_DB2_START_END="" export AM_SA_DB2_START_FAILURE="" export AM_SA_DB2_STOP_BEGIN="" export AM_SA_DB2_STOP_END="" export AM_SA_DB2_STOP_FAILURE="" #Tags related to Verification Assist export AM_VERIFICATION_BEGIN="" export AM_VERIFICATION_END="" export AM_VERIFICATION_FAILURE="" #Tags related to network up/down events export AM_NETWORK_DOWN_BEGIN="" export AM_NETWORK_DOWN_END="" export AM_NETWORK_DOWN_COMPLETE_BEGIN="" export AM_NETWORK_DOWN_COMPLETE_END="" export AM_NETWORK_UP_BEGIN="" export AM_NETWORK_UP_END="" export AM_NETWORK_UP_COMPLETE_BEGIN="" export AM_NETWORK_UP_COMPLETE_END="" export AM_NETWORK_UP_FAILURE="" export AM_NETWORK_DOWN_FAILURE="" #Tags related to Synchronization Assist export AM_SYNC_BEGIN="" export AM_SYNC_END="" export AM_SYNC_FAILURE="" #Tags related to RG Failover export RG_FAILOVER_BEGIN="" export RG_FAILOVER_END="" export RG_FAILOVER_FAILURE="" #Tags related to RG ACQUIRE export RG_ACQUIRE_BEGIN="" export RG_ACQUIRE_END="" export RG_ACQUIRE_FAILURE="" #Tags related to RG RELEASE export RG_RELEASE_BEGIN="" export RG_RELEASE_END="" export RG_RELEASE_FAILURE="" #Tags related to application monitoring export AM_APPMON_BEGIN="" export AM_APPMON_END="" export AM_APPMON_FAILURE="" #Tags related to config too long export AM_CONFIGTL_BEGIN="" export AM_CONFIGTL_END="" export AM_CONFIGTL_FAILURE="" #Tags related to AIX shutdown and reboot export AM_AIX_DOWN_BEGIN="" export AM_AIX_DOWN_END="" #---------------------------------------------------------------------------- # Functions: # # amlog_trace # amlog_warn # amlog_err # #---------------------------------------------------------------------------- ############################################################## # # NAME: amlog_trace # # FUNCTION: Writes INFO message to CLAM_LOG_FILE # # PARAMETERS: # Trace Tag used to generate AM report # Trace information # # RETURNS: NA ############################################################### function amlog_trace { [[ "$VERBOSE_LOGGING" == "high" ]] && set -x # # call clcycle to cycle the log file when its size reaches # maximum size limit before logging the trace # clcycle $CLAM_LOG_FILE_NAME >/dev/null 2>&1 DATE=$(cltime) echo "$1|$DATE|INFO: $2" >> $CLAM_LOG_FILE } ############################################################## # # NAME: amlog_warn # # FUNCTION: Writes warning message to CLAM_LOG_FILE # # PARAMETERS: # Trace Tag used to generate AM report # Trace information # # RETURNS: NA ############################################################### function amlog_warn { [[ "$VERBOSE_LOGGING" == "high" ]] && set -x # # call clcycle to cycle the log file when its size reaches # maximum size limit before logging Warning # clcycle $CLAM_LOG_FILE_NAME >/dev/null 2>&1 DATE=$(cltime) echo "$1|$DATE|WARN: $2" >> $CLAM_LOG_FILE } ############################################################## # # NAME: amlog_err # # FUNCTION: Writes ERROR message to CLAM_LOG_FILE # # PARAMETERS: # Trace Tag used to generate AM report # Trace information # # RETURNS: NA ############################################################### function amlog_err { [[ "$VERBOSE_LOGGING" == "high" ]] && set -x # # call clcycle to cycle the log file when its size reaches # maximum size limit before logging ERROR # clcycle $CLAM_LOG_FILE_NAME >/dev/null 2>&1 DATE=$(cltime) echo "$1|$DATE|ERROR: $2" >> $CLAM_LOG_FILE }