HEX
Server: Apache/2
System: Linux jingle.dotvndns.vn 2.6.32-754.17.1.el6.x86_64 #1 SMP Tue Jul 2 12:42:48 UTC 2019 x86_64
User: chuahuehuong (1863)
PHP: 7.3.16
Disabled: apache_note,apache_setenv,proc_get_status,exec,passthru,proc_nice,proc_terminate,shell_exec,system,ini_restore,syslog,define_syslog_variables,symlink,link,error_log,leak,dbmopen,closelog,stream_socket_server,execl,escapeshellcmd,ini_alter,dl,show_source,posix_getpwuid,posix_geteuid,posix_getegid,posix_getgrgid,open_basedir,safe_mode_include_dir,pcntl_exec,pcntl_fork,pclose,virtual,openlog,popen,escapeshellarg,eval,calo,posix_getpwuid,symlinks,symlink,getpwuid,mail
Upload Files
File: //var/lib/zabbix/check_raid_zabbix
#!/bin/bash

# Kiểm tra MegaCli có tồn tại không
cmd=$(command -v MegaCli64 || command -v sudo /opt/MegaRAID/MegaCli/MegaCli64 2>/dev/null)
if [ -z "$cmd" ]; then
    echo "ERROR: MegaCLI is required to run this script. Please install MegaCLI first." >&2
    exit 1
fi

# Biến hệ thống
HOSTNAME=$(hostname -f)
LOG_DIR="/var/log/zabbix"
LOG_FILE="$LOG_DIR/check_raid.log"
LOG_FILE_DETAIL="$LOG_DIR/check_raid_detail.log"

# Tạo thư mục log nếu chưa tồn tại & gán quyền đúng
mkdir -p "$LOG_DIR"

# Kiểm tra trạng thái RAID
result=$($cmd -cfgdsply -aALL | grep -A8 "Virtual Drive" | grep -i ^State | awk -F': ' '{print $2}' | grep -viE "Optimal|Online")

if [ -n "$result" ]; then
    MESSAGE=$($cmd -cfgdsply -aALL | grep -A15 "Virtual Drive")

    # Ghi log lỗi
    echo "Degraded at $(date '+%d/%m/%Y %H:%M')" > "$LOG_FILE"
    echo "$MESSAGE" > "$LOG_FILE_DETAIL"
    cat "$LOG_FILE"
else
    # Ghi log OK
    echo "Normal at $(date '+%d/%m/%Y %H:%M')" > "$LOG_FILE"

    # In ra màn hình đúng thông tin
    cat "$LOG_FILE"
fi