From 3b05390ec4ecb707bfa9fb744749937e564f65db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9drix?= Date: Tue, 17 Mar 2026 07:59:05 +0100 Subject: [PATCH] menage et adaptation dans check_disk --- servers/linux/monitoring/bin/check_disk.sh | 57 +++++++++---------- servers/linux/monitoring/manifest.txt | 7 +-- .../{bin => old-bin}/alert-engine.sh | 0 .../{lib => old-bin}/monitoring-lib.sh | 0 .../monitoring-update-config.sh | 0 .../{bin => old-bin}/monitoring-update.sh | 0 .../monitoring/{bin => old-bin}/monitoring.sh | 0 7 files changed, 29 insertions(+), 35 deletions(-) rename servers/linux/monitoring/{bin => old-bin}/alert-engine.sh (100%) rename servers/linux/monitoring/{lib => old-bin}/monitoring-lib.sh (100%) rename servers/linux/monitoring/{bin => old-bin}/monitoring-update-config.sh (100%) rename servers/linux/monitoring/{bin => old-bin}/monitoring-update.sh (100%) rename servers/linux/monitoring/{bin => old-bin}/monitoring.sh (100%) diff --git a/servers/linux/monitoring/bin/check_disk.sh b/servers/linux/monitoring/bin/check_disk.sh index 31ddec6..cc3b507 100755 --- a/servers/linux/monitoring/bin/check_disk.sh +++ b/servers/linux/monitoring/bin/check_disk.sh @@ -19,35 +19,34 @@ WARNING=80 CRITICAL=95 MOUNTS=("/" "/var" "/home") -for mount in "${MOUNTS[@]}"; do - # On vérifie si le point de montage existe avant de tester - if ! mountpoint -q "$mount"; then +log_to_php() { + local level="$1" + local event="$2" + local message="$3" + shift 3 + # On passe les arguments restants au format JSON ou chaine à PHP + php -r " + require '/opt/monitoring/lib/monitoring-lib.php'; + log_event('$level', '$event', '$message', ["$*"]); + " +} + +for mount in "${MOUNTS[@]}"; do + if ! mountpoint -q "$mount"; then continue; fi + + used_pct="$(df -P "$mount" 2>/dev/null | awk 'NR==2 {gsub("%","",$5); print $5}')" + + if [[ ! "$used_pct" =~ ^[0-9]+$ ]]; then + log_to_php "ERROR" "check_failed" "Impossible de lire l'usage" "'mount=$mount'" continue fi - used_pct="$(df -P "$mount" 2>/dev/null | awk 'NR==2 {gsub("%","",$5); print $5}')" - - if [[ ! "$used_pct" =~ ^[0-9]+$ ]]; then - log_error "check_failed" "Impossible de lire l'utilisation disque" "mount=$mount" - continue - fi - - level="$(threshold_level "$used_pct" "$WARNING" "$CRITICAL")" - - case "$level" in - INFO) - log_info "disk_ok" "Utilisation disque normale" \ - "mount=$mount" "used_pct=$used_pct" "warning=$WARNING" "critical=$CRITICAL" - ;; - WARNING) - log_warning "disk_usage_high" "Utilisation disque élevée" \ - "mount=$mount" "used_pct=$used_pct" "warning=$WARNING" "critical=$CRITICAL" - ;; - CRITICAL) - log_critical "disk_usage_critical" "Utilisation disque critique" \ - "mount=$mount" "used_pct=$used_pct" "warning=$WARNING" "critical=$CRITICAL" - ;; - esac -done - -exit_with_status \ No newline at end of file + # Détermination du niveau (logique bash simple) + if [ "$used_pct" -ge "$CRITICAL" ]; then + log_to_php "CRITICAL" "disk_usage_critical" "Disque plein" "'mount=$mount', 'used=$used_pct%'" + elif [ "$used_pct" -ge "$WARNING" ]; then + log_to_php "WARNING" "disk_usage_high" "Disque presque plein" "'mount=$mount', 'used=$used_pct%'" + else + log_to_php "INFO" "disk_ok" "Disque OK" "'mount=$mount', 'used=$used_pct%'" + fi +done \ No newline at end of file diff --git a/servers/linux/monitoring/manifest.txt b/servers/linux/monitoring/manifest.txt index bfef552..5da75ed 100644 --- a/servers/linux/monitoring/manifest.txt +++ b/servers/linux/monitoring/manifest.txt @@ -1,16 +1,11 @@ 9ff5d272cdda198132cdfc86be2452952523ff5a7efd5a9c5c821ff177ae6a3b 755 bin/alert-engine.php -62dfb7599bd3bfedf22baee9318f25758f6729a718ed6276b3b8fb960b861915 755 bin/alert-engine.sh -7ff2eb1163ca8b9aa3927ac7f0ebbcc1f90c944e51afbc880d57359b83a0c73f 755 bin/check_disk.sh +c49c6e8ff807056775ad3dded95bf89ef62ef1e6ea165d1c0800b340de24ea86 755 bin/check_disk.sh 3046c0fb3abdc4e99758cbf9279f4d60d86d815e598851ca362e558891118751 755 bin/install-monitoring.sh ea5a5d55bb877ae88da6e1cd1b798026a1de1d9845dc42af4b19685ad6a128c6 755 bin/monitoring.php -53fd5db14c5044b7981f8260eacab15780254a8beca2594db96d9751e1fe307a 755 bin/monitoring.sh 97d407d75a26bd2ebbb86a2e5f8dab8b24639e8a9164f42bd554ba7728ab8cb5 755 bin/monitoring-update-config.php -54eb520360c80b3146c5cdb846330a8743cbeb9fe6de0559357114b92d090c29 755 bin/monitoring-update-config.sh a87b67df995f1ad9878fdb9e3f2000eabbcb9a8854e239f9763f33ec7272e047 755 bin/monitoring-update.php -be6f5a5ad5d45641f004438f027c9484bfec9fa6f199f8580d80feb9d6f06d85 755 bin/monitoring-update.sh 83db39c8d0cfd6f6e9d3cc5b961a67db29dc73666304a91e0d4a6d5831c623cb 644 conf/alert-engine.conf 3a5598d73c52edeff561685ea7f026d77e9151d7445ab57749862a6da1ce7296 644 conf/alert-engine.conf.php caaa8f6031d66bc43a897ac2804124ce2050a64523734195d5505ae863836bf4 644 conf/monitoring.conf 8c40d1c177a40d47c72ba8aab757ca37faa06e64d5fa80e2ba59d9637f62c59e 644 conf/monitoring.conf.php c3794b4d69c772b87d3a61c2f94a3c8bf504257f7d466ee6ce160cd79766365e 644 lib/monitoring-lib.php -654cd98ecda1c485a0ea1224f160a3c4d7396ab95a491603574e2ad1981fe010 644 lib/monitoring-lib.sh diff --git a/servers/linux/monitoring/bin/alert-engine.sh b/servers/linux/monitoring/old-bin/alert-engine.sh similarity index 100% rename from servers/linux/monitoring/bin/alert-engine.sh rename to servers/linux/monitoring/old-bin/alert-engine.sh diff --git a/servers/linux/monitoring/lib/monitoring-lib.sh b/servers/linux/monitoring/old-bin/monitoring-lib.sh similarity index 100% rename from servers/linux/monitoring/lib/monitoring-lib.sh rename to servers/linux/monitoring/old-bin/monitoring-lib.sh diff --git a/servers/linux/monitoring/bin/monitoring-update-config.sh b/servers/linux/monitoring/old-bin/monitoring-update-config.sh similarity index 100% rename from servers/linux/monitoring/bin/monitoring-update-config.sh rename to servers/linux/monitoring/old-bin/monitoring-update-config.sh diff --git a/servers/linux/monitoring/bin/monitoring-update.sh b/servers/linux/monitoring/old-bin/monitoring-update.sh similarity index 100% rename from servers/linux/monitoring/bin/monitoring-update.sh rename to servers/linux/monitoring/old-bin/monitoring-update.sh diff --git a/servers/linux/monitoring/bin/monitoring.sh b/servers/linux/monitoring/old-bin/monitoring.sh similarity index 100% rename from servers/linux/monitoring/bin/monitoring.sh rename to servers/linux/monitoring/old-bin/monitoring.sh