Ad Widget

Collapse

непонятки с UserParameter

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ProstoAlex
    Junior Member
    • Jan 2015
    • 11

    #1

    непонятки с UserParameter

    Есть задача: мерить на винде дисковую скорость (чтение/запись), но не так, как есть в агенте (измерение производительности), а типа вотчдога (т.е. чтобы убедиться, что ничего в сервере не просело/зависло и он может выполнять свои функции). Для этого подправил конфиг агента:
    DebugLevel=4
    Server=172.141.27.249
    EnableRemoteCommands=1
    LogRemoteCommands=1
    Hostname=host.local
    HostnameItem=system.hostname[host]
    ListenPort=10050
    LogFile=c:\zabbix\zabbix_agentd.log
    # Maximum size of log file in MB. Set to 0 to disable automatic log rotation.
    LogFileSize=10
    Timeout=29
    UnsafeUserParameters=1
    UserParameter=Write,c:\zabbix\hdd_speed.bat
    написал батник:
    @echo off

    set begin_HH=1%time:~0,2%
    set /a begin_HH=%begin_HH%-100
    set begin_MM=1%time:~3,2%
    set /a begin_MM=%begin_MM%-100
    set begin_SS=1%time:~6,2%
    set /a begin_SS=%begin_SS%-100


    for /l %%i in (1,1,1000) do echo %time%>>test.tmp


    set end_HH=1%time:~0,2%
    set /a end_HH=%end_HH%-100
    set end_MM=1%time:~3,2%
    set /a end_MM=%end_MM%-100
    set end_SS=1%time:~6,2%
    set /a end_SS=%end_SS%-100
    set /a begin=(%begin_HH%*3600)+(%begin_MM%*60)+%begin_SS%
    set /a end=(%end_HH%*3600)+(%end_MM%*60)+%end_SS%
    set /a worktime=%end%-%begin%
    set /a wt=%worktime%

    echo %wt%
    который выдает длительность выполнения цикла записи в файл в секундах,
    и создал элемент данных:
    Имя: Write
    Тип: Zabbix агент
    Ключ: Write
    Тип информации: Числовой (целое положительное)
    И что имеем:
    если цикл совсем короткий (1-2 секунды), то все отрабатывает и Zаbbix получает данные.
    Но как только я увеличиваю его до 3-5 секунд - Zabbix перестает получать данные.
    При этом остальные (штатные) данные с агента идут,
    в лог агента пишется что-то типа: Sending back [1].
    Zabbix-get с сервера отрабатывает нормально, терминал в обе стороны соединение устанавливает, права на папку с агентом дал "everyone full control".

    PS: долго ковыряясь, сделал вышеуказанный конфиг вообще неработоспособным.

    В чем может быть проблема?
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by prostoalex
    Есть задача: мерить на винде дисковую скорость (чтение/запись), но не так, как есть в агенте (измерение производительности), а типа вотчдога (т.е. чтобы убедиться, что ничего в сервере не просело/зависло и он может выполнять свои функции). Для этого подправил конфиг агента:

    написал батник:

    который выдает длительность выполнения цикла записи в файл в секундах,
    и создал элемент данных:

    И что имеем:
    если цикл совсем короткий (1-2 секунды), то все отрабатывает и zаbbix получает данные.
    Но как только я увеличиваю его до 3-5 секунд - zabbix перестает получать данные.
    При этом остальные (штатные) данные с агента идут,
    в лог агента пишется что-то типа: Sending back [1].
    Zabbix-get с сервера отрабатывает нормально, терминал в обе стороны соединение устанавливает, права на папку с агентом дал "everyone full control".

    Ps: долго ковыряясь, сделал вышеуказанный конфиг вообще неработоспособным.

    В чем может быть проблема?
    1) таймаут в конфиге сервера?
    2) Вы не измеряете скорость работы диска, а нагружаете его лишней нашрузкой, которая в итоге будет лишний раз вымывать дисковый кэш и тем самым снижать общую производительность дисковой подпистемы. Не понимаю зачем так делать. Вам просто стоит следить что бы данные, выдаваемые агентом не ложились в максимальную полку.

    Comment

    • ProstoAlex
      Junior Member
      • Jan 2015
      • 11

      #3
      Спасибо большое!
      про таймаут на клиенте я знал, а про таймаут на сервере даже мысли не было!

      По поводу "нестандартности" подхода - у нас были ситуации, когда сервер "подзависал" именно по дисковой подсистеме.
      Все замораживалось, очередь нулевая, активность нулевая. Клиенты файлы сохранить не могут.
      Поскольку лучше варианта я предложить не смог, поэтому мне была поставлена задача именно в таком не очень традиционном виде...

      Еще раз спасибо! (сколько я времени потерял...)

      Comment

      • rekby
        Member
        • Jul 2010
        • 91

        #4
        Есть вариант мониторить не только максимальную, но и минимальную активность.

        На работающей системе активность на системном диске никогда не будет ровно 0. Думаю что на дисках с базами и т.п. - тоже.

        На крайняк можно делать toch факого-то файла раз в минуту - он будет создавать оч. маленькую нагрузку, но по нему можно будет понять повисло ли что-то.

        Comment

        • yukra
          Senior Member
          • Apr 2013
          • 1359

          #5
          Originally posted by ProstoAlex
          По поводу "нестандартности" подхода - у нас были ситуации, когда сервер "подзависал" именно по дисковой подсистеме.
          Все замораживалось, очередь нулевая, активность нулевая. Клиенты файлы сохранить не могут.
          Поскольку лучше варианта я предложить не смог, поэтому мне была поставлена задача именно в таком не очень традиционном виде...
          Нее, я как-то видел фрю, у которой по мониторингу вылетело из раид1 2 диска и она продолжала работать кэширующим DNS сервером, и пускать по ssh, но это легко объясняется дисковым кэшем в ОЗУ, но что у вас подразумевается под "подзависал" я догадаться не могу.

          Comment

          • ProstoAlex
            Junior Member
            • Jan 2015
            • 11

            #6
            Спасибо всем за ответы.

            К сожалению, подвисания лично я не видел, поэтому достоверно не скажу.
            Но один случай знаю несколько лет назад - умер (или завис) сидиром, сервак решил к нему обратиться, и харды легли. Могу предположить, что харды здесь были IDE, что для сервака странно. Но почем купил...

            Мой первоначальный способ замера производительности диска оказался никаким - показывает температуру по больнице, поэтому пока буду просто мерить IO Data Operations/sec (отсюда: https://zabbix.org/wiki/File:Templat...Monitoring.xml), мониторя "затухание" в ноль. По результатам пары ночей будет ясно, может ли такая ситуация быть на живом серваке.
            Еще раз спасибо!

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #7
              Originally posted by prostoalex
              Мой первоначальный способ замера производительности диска оказался никаким - показывает температуру по больнице, поэтому пока буду просто мерить io data operations/sec (отсюда: https://zabbix.org/wiki/file:templat...monitoring.xml), мониторя "затухание" в ноль. По результатам пары ночей будет ясно, может ли такая ситуация быть на живом серваке.
              Еще раз спасибо!
              не знаю как на винде, а на линуксе, на не очень загруженном сервере по ночам иногда такое бывает. Но ни разу не видел что бы было 2 значения подрят (интервал 60 сек).

              Comment

              Working...