74 lines
2.1 KiB
Bash
74 lines
2.1 KiB
Bash
#!/bin/bash
|
|
# =============================================================================
|
|
# SAP HANA Common Configuration
|
|
# =============================================================================
|
|
|
|
# --- HANA Instance Configuration ---
|
|
# HANA SID (e.g., "NDB") - used to derive the HANA user (<sid>adm)
|
|
HANA_SID="NDB"
|
|
|
|
# Derived HANA Linux user (automatically computed from HANA_SID)
|
|
HANA_USER="$(echo "$HANA_SID" | tr '[:upper:]' '[:lower:]')adm"
|
|
|
|
# HANA Instance Number (e.g., "00")
|
|
HANA_INSTANCE_NR="00"
|
|
|
|
# HANA User Key for hdbsql (hdbuserstore key)
|
|
HANA_USER_KEY="CRONKEY"
|
|
|
|
# --- Paths ---
|
|
SAPCONTROL_PATH="/usr/sap/hostctrl/exe/sapcontrol"
|
|
HDBSQL_PATH="/usr/sap/HDB/HDB${HANA_INSTANCE_NR}/exe/hdbsql"
|
|
|
|
# --- Monitoring Directories ---
|
|
DIRECTORIES_TO_MONITOR=(
|
|
"/hana/shared"
|
|
"/hana/log"
|
|
"/hana/data"
|
|
"/usr/sap"
|
|
)
|
|
|
|
# --- Log Directories for Auto-Cleanup ---
|
|
# These directories will be automatically cleaned when disk space is low
|
|
# Format: "mount_point:log_directory_path"
|
|
# The script will check if a monitored directory is on the same mount point
|
|
# as a log directory and can clean the log directory to free up space
|
|
LOG_DIRS_FOR_CLEANUP=(
|
|
"/hana/log:/hana/log"
|
|
"/usr/sap:/usr/sap/trans/log"
|
|
"/usr/sap:/usr/sap/hostctrl/work/log"
|
|
)
|
|
|
|
# --- Disk Cleanup Configuration ---
|
|
# Minimum free space percentage to maintain after cleanup
|
|
MIN_FREE_SPACE_AFTER_CLEANUP=5
|
|
# Maximum age of log files to delete (in days)
|
|
MAX_LOG_FILE_AGE_DAYS=7
|
|
# Enable automatic cleanup when disk usage exceeds threshold
|
|
AUTO_CLEANUP_ENABLED=true
|
|
|
|
# --- Thresholds ---
|
|
DISK_USAGE_THRESHOLD=85
|
|
TRUNCATED_PERCENTAGE_THRESHOLD=50
|
|
FREE_PERCENTAGE_THRESHOLD=10
|
|
STATEMENT_QUEUE_THRESHOLD=10
|
|
STATEMENT_QUEUE_CONSECUTIVE_RUNS=3
|
|
BACKUP_THRESHOLD_HOURS=32
|
|
|
|
# --- Notification Configuration ---
|
|
NTFY_TOKEN=""
|
|
NTFY_TOPIC_URL=""
|
|
COMPANY_NAME="My Company"
|
|
|
|
# --- Logging Configuration ---
|
|
LOG_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
LOG_FILE="${LOG_DIR}/hana_monitor.log"
|
|
|
|
# --- State Directory ---
|
|
STATE_DIR="${LOG_DIR}/monitor_state"
|
|
mkdir -p "${STATE_DIR}"
|
|
|
|
# --- Lock Directory ---
|
|
LOCK_DIR="/tmp"
|
|
|