refactor(monitoring): remove hardcoded tool paths
Remove SAPCONTROL_PATH and HDBSQL_PATH variables from configuration. Update scripts to rely on the system PATH environment variable when executing as the <sid>adm user. Remove redundant existence checks for these commands.
This commit is contained in:
@@ -17,8 +17,7 @@ HANA_INSTANCE_NR="00"
|
||||
HANA_USER_KEY="CRONKEY"
|
||||
|
||||
# --- Paths ---
|
||||
SAPCONTROL_PATH="/usr/sap/hostctrl/exe/sapcontrol"
|
||||
HDBSQL_PATH="/usr/sap/HDB/HDB${HANA_INSTANCE_NR}/exe/hdbsql"
|
||||
# Commands are executed as <sid>adm user without full paths
|
||||
|
||||
# --- Monitoring Directories ---
|
||||
DIRECTORIES_TO_MONITOR=(
|
||||
|
||||
@@ -19,13 +19,6 @@ trap 'release_lock "$SCRIPT_NAME"' EXIT
|
||||
|
||||
log_message "$SCRIPT_NAME" "Starting backup status check..."
|
||||
|
||||
# Check if hdbsql is available
|
||||
if [ ! -x "$HDBSQL_PATH" ]; then
|
||||
log_message "$SCRIPT_NAME" "ERROR: hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
send_alert "$SCRIPT_NAME" "HANA Monitor Error" "hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SQL Query for last successful backup
|
||||
BACKUP_SQL="SELECT TOP 1 SYS_START_TIME FROM M_BACKUP_CATALOG WHERE ENTRY_TYPE_NAME = 'complete data backup' AND STATE_NAME = 'successful' ORDER BY SYS_START_TIME DESC"
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ execute_hana_sql() {
|
||||
local sql_query="$1"
|
||||
local output
|
||||
|
||||
output=$(su - "$HANA_USER" -c "$HDBSQL_PATH -U $HANA_USER_KEY -j -a -x \"$sql_query\"" 2>&1)
|
||||
output=$(su - "$HANA_USER" -c "hdbsql -U $HANA_USER_KEY -j -a -x \"$sql_query\"" 2>&1)
|
||||
local sql_status=$?
|
||||
|
||||
if [ $sql_status -ne 0 ]; then
|
||||
|
||||
@@ -19,13 +19,6 @@ trap 'release_lock "$SCRIPT_NAME"' EXIT
|
||||
|
||||
log_message "$SCRIPT_NAME" "Starting log segment check..."
|
||||
|
||||
# Check if hdbsql is available
|
||||
if [ ! -x "$HDBSQL_PATH" ]; then
|
||||
log_message "$SCRIPT_NAME" "ERROR: hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
send_alert "$SCRIPT_NAME" "HANA Monitor Error" "hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SQL Query for log segments
|
||||
SQL_QUERY="SELECT b.host, b.service_name, a.state, count(*) FROM PUBLIC.M_LOG_SEGMENTS a JOIN PUBLIC.M_SERVICES b ON (a.host = b.host AND a.port = b.port) GROUP BY b.host, b.service_name, a.state;"
|
||||
|
||||
|
||||
@@ -19,15 +19,8 @@ trap 'release_lock "$SCRIPT_NAME"' EXIT
|
||||
|
||||
log_message "$SCRIPT_NAME" "Starting HANA process status check..."
|
||||
|
||||
# Check if sapcontrol is available
|
||||
if [ ! -x "$SAPCONTROL_PATH" ]; then
|
||||
log_message "$SCRIPT_NAME" "ERROR: sapcontrol not found or not executable at ${SAPCONTROL_PATH}"
|
||||
send_alert "$SCRIPT_NAME" "HANA Monitor Error" "sapcontrol not found or not executable at ${SAPCONTROL_PATH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get process list
|
||||
process_list=$(su - "$HANA_USER" -c "${SAPCONTROL_PATH} -nr ${HANA_INSTANCE_NR} -function GetProcessList" 2>&1)
|
||||
process_list=$(su - "$HANA_USER" -c "sapcontrol -nr ${HANA_INSTANCE_NR} -function GetProcessList" 2>&1)
|
||||
sapcontrol_status=$?
|
||||
|
||||
if [ $sapcontrol_status -ne 0 ]; then
|
||||
|
||||
@@ -19,13 +19,6 @@ trap 'release_lock "$SCRIPT_NAME"' EXIT
|
||||
|
||||
log_message "$SCRIPT_NAME" "Starting statement queue check..."
|
||||
|
||||
# Check if hdbsql is available
|
||||
if [ ! -x "$HDBSQL_PATH" ]; then
|
||||
log_message "$SCRIPT_NAME" "ERROR: hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
send_alert "$SCRIPT_NAME" "HANA Monitor Error" "hdbsql not found or not executable at ${HDBSQL_PATH}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# SQL Query for statement queue
|
||||
STATEMENT_QUEUE_SQL="SELECT COUNT(*) FROM M_SERVICE_THREADS WHERE THREAD_TYPE = 'SqlExecutor' AND THREAD_STATE = 'Queueing';"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user