Ad Widget

Collapse

Триггер на пропавший hdd.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • _vit
    Junior Member
    • Jul 2013
    • 2

    #1

    Триггер на пропавший hdd.

    На сервере (Windows) имеются жесткие диски, и требуется узнавать, когда диск выходит из строя (исчезают разделы).

    Хочется более-менее универсальное решение, т. к. серверов много, и дисков на них разное количество.

    Попробовал настроить низкоуровневое обнаружение файловых систем (vfs.fs.discovery). Но как только диск пропадает, все элементы данных переходят в состояние "Не поддерживается", и триггеры к ним уже не прикрутить.

    К сожалению, нету элемента данных vfs.fs.exists, подошел бы идеально
  • ableev
    Senior Member
    Zabbix Certified Specialist
    • Oct 2012
    • 276

    #2
    Originally posted by _vit
    Но как только диск пропадает, все элементы данных переходят в состояние "Не поддерживается", и триггеры к ним уже не прикрутить.
    Можно извратиться немножко: как только айтемы этих дисков переходят в состояние "не поддерживается" - зажигать лампочку. Делать запрос напрямую в базу и считать количество таких дисков.

    Comment

    • bga83
      Senior Member
      • Sep 2011
      • 268

      #3
      Originally posted by ableev
      Можно извратиться немножко: как только айтемы этих дисков переходят в состояние "не поддерживается" - зажигать лампочку. Делать запрос напрямую в базу и считать количество таких дисков.
      можно поробовать и без прямых обращений к базе. На уровне идеи:
      - для низкоуровневого обнаружения выставить, чтобы обнаруженнеы данные при пропадании из базу не удалялись сразу, а хранились еще какое0то время
      - создать прототип триггреа с использованием функции nodata, который при отсутсвии поступления новых данных в течении определнного интервала будет ругаться.

      По идее при выпадении диска в таком случае, элемент перейдет в состояние не поддерживается, и через время такой триггер ругнется, потому как данных новых не поступило. Но это только идея, надо проверять.
      Last edited by bga83; 12-08-2013, 12:53. Reason: опечатка

      Comment

      • _vit
        Junior Member
        • Jul 2013
        • 2

        #4
        Originally posted by ableev
        Можно извратиться немножко
        Извратиться - это всегда можно успеть. Хотелось бы пока без этого .

        Originally posted by bga83
        По идее при ывпадении диска в таком случае, элемент перейдет в состояние не поддерживается, и через время такой триггре ругнется, потому как данных новых не поступило. Но это только идея, надо проверять.
        Проверил еще разок хорошенько - не работает. Как только элемент данных переходит в статус "Не поддерживается", никакие триггеры не срабатывают. Все-таки "нет данных" и "не поддерживается" - это разные вещи.

        Originally posted by _vit
        К сожалению, нету элемента данных vfs.fs.exists, подошел бы идеально
        Оказалось, что его довольно просто реализовать:
        Code:
        system.run["IF EXIST {#FSNAME} (echo 1) ELSE (echo 0)"]
        Теперь столкнулся со следующей проблемой:
        Как только выполняется в очередной раз vfs.fs.discovery, и элемент данных больше не обнаруживается, все привязанные к нему триггеры удаляются (элемент данных при этом продолжает исправно работать столько времени, сколько указано в настройках обнаружения. Для триггеров такой опции нету).

        Так, если обнаружение выполняется раз в час, то триггер будет активным максимум час. После этого он удаляется, и также удаляется вся история срабатываний из Событий.

        Можно конечно запускать обнаружение раз в сутки, но это не совсем хорошо.

        Есть какие-нибудь идеи?

        P.S: Использую готовое решение версии 2.0.6.

        Comment

        Working...