initial commit

This commit is contained in:
2026-03-12 20:12:20 +01:00
commit e7c4142294
9 changed files with 904 additions and 0 deletions

73
hana.conf Normal file
View File

@@ -0,0 +1,73 @@
#!/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"