Forum Linux.général Alerte mdadm toutes les x heures

Posté par  .
Étiquettes : aucune
2
8
déc.
2009
Bonjour à tous

J'utilise pas mal de RAID logiciels qui sont surveillés par mdadm. Ca fonctionne bien. Dès qu'une machine a un problème, j'ai un email d'alerte.

Je préfère avoir un email toutes les 6 heures. Comme ça si le premier email est perdu, ou si j'oubli etc, j'ai un rappel.

Actuellement j'ai une tâche dans cron qui fait un "/etc/init.d/mdadm restart" 4 fois par jour. Si l'état du RAID n'est pas optimal, j'ai un email 4 fois par jour.

Je trouve que cette solution n'est pas élégante. Je n'ai pas trouvé d'option de mdadm qui donne le même résultat.

Quelqu'un a-t-il une meilleure idée ?
  • # man mdadm

    Posté par  . Évalué à 3.

    extrait de 'man mdadm':
    -1, --oneshot
        Check arrays only once. This will generate NewArray events and more significantly DegradedArray and SparesMissing events. Running
            mdadm --monitor --scan -1
        from a cron script will ensure regular notification of any degraded arrays.


    Tu n'as plus qu'à configurer cron:
    0 */6 * * * root mdadm --monitor --scan -1
    • [^] # Re: man mdadm

      Posté par  . Évalué à 2.

      Tient je n'avais jamais pensé à cela. C'est vrai qu'avoir une notification régulièrement me semble prudent.

      Je sens que je vais utiliser ton astuce :-)

      Par contre il est vrai que si c'était directement accessible via les options du fichier de configuration, ce serait plus propre. Pourquoi donc aller faire une tâche cron alors qu'il y a un démon qui tourne en permanence pour cette vérification ? C'est un peu crétin.
  • # start|stop|restart|reload|status

    Posté par  . Évalué à 1.

    y a pas une option status à ta commande ?

    ce serait plus propre ?

    sinon man mdadm

    me dit qu'il existe un mode 'monitoring'
    avec option d'un email (--mail)
    d'un interval de surveillance (--delay)

    ...

    c'est surement ce que tu cherches
    • [^] # Re: start|stop|restart|reload|status

      Posté par  . Évalué à -1.

      Salut,
      pour ton problème, ce serait quelque chose comme :
      mdadm Monitor /dev/raiddevice -m admin@mydomain.com -d 3600 -f

      pour monitorer /dev/raiddevice toutes les 3600 s (en tant que tsr) et envoyer un mail à admin@mydomain.com.

      A lancer au démarrage en l'ajoutant dans /etc/inittab par exemple ou dans un script de /etc/init.d/...

      man mdadm :
      For Monitor mode:
      -m, --mail
      Give a mail address to send alerts to.

      -p, --program, --alert
      Give a program to be run whenever an event is detected.

      -y, --syslog
      Cause all events to be reported through ’syslog’. The messages have facility of ’daemon’ and varying priorities.

      -d, --delay
      Give a delay in seconds. mdadm polls the md arrays and then waits this many seconds before polling again. The default is 60 sec-
      onds.

      -f, --daemonise
      Tell mdadm to run as a background daemon if it decides to monitor anything. This causes it to fork and run in the child, and to
      disconnect form the terminal. The process id of the child is written to stdout. This is useful with --scan which will only con-
      tinue monitoring if a mail address or alert program is found in the config file.

      -i, --pid-file
      When mdadm is running in daemon mode, write the pid of the daemon process to the specified file, instead of printing it on stan-
      dard output.

      -1, --oneshot
      Check arrays only once. This will generate NewArray events and more significantly DegradedArray and SparesMissing events. Run-
      ning
      mdadm --monitor --scan -1
      from a cron script will ensure regular notification of any degraded arrays.

      -t, --test
      Generate a TestMessage alert for every array found at startup. This alert gets mailed and passed to the alert program. This can
      be used for testing that alert message do get through successfully.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.