Ad Widget

Collapse

Мониторинг локального времени устройства

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Ramzes III
    Junior Member
    • Jan 2019
    • 7

    #1

    Мониторинг локального времени устройства

    Доброго времени суток,

    Нужна ваша квалифицированная помощь вот в каком вопросе.
    Мне нужно мониторить расхождение во времени между zabbix сервером и устройством.
    Локальное дату и время с устройства могу получить только в формате YYYY-MM-DD HH:MM:SS.
    Точнее изначально получаю данные через HTTP-агент в виде строки "result=
    YYYY-MM-DD HH:MM:SS
    "
    Затем с помощью правил предобработки получаю уже
    YYYY-MM-DD HH:MM:SS.
    Способа вытащить эти данные по SNMP похоже нет. Браузером прошелся по MIBу, ничего не нашел.


    - При получении времени в таком формате fuzzytime использовать не получается.
    - Прикрутить внешний скрипт/команду для преобразования времени так же не смог (возможно не разобрался)
    - Механизм предобработки в элементе данных не обладает необходимым функционалом

    В итоге мне нужен триггер, который сообщал бы о расхождении во времени.
    Каким образом это реализовать?
    Zabbix 4

    P.S. Мне не хотелось бы рассматривать варианты типа написать собственный HTTP-агент, создать элемент данных с внешней обработкой и получать время в нужном формате.

    Заранее спасибо!
    Last edited by Ramzes III; 19-01-2019, 12:16.
  • DSV12
    Senior Member
    Zabbix Certified Specialist
    • Nov 2018
    • 156

    #2
    Originally posted by Ramzes III
    Доброго времени суток,
    ...
    Способа вытащить эти данные по SNMP похоже нет. Браузером прошелся по MIBу, ничего не нашел.
    Каким браузером, по какому MIB-у? snmptranslate не задействовали?

    Comment

    • Ramzes III
      Junior Member
      • Jan 2019
      • 7

      #3
      MG-Soft MIB Browser

      MIB прислан мне производителем


      -- File Name : DAHUA-SNMP-MIB
      -- Date : 2014-01-07 15:27:57
      -- Author : NetWork Team([email protected])

      --
      -- Dahua enterprise MIB tree
      --

      Зачем вам это? Какая разница каким способом получать с железки данные? Важно то, что это не unixtime.

      Comment

      • DSV12
        Senior Member
        Zabbix Certified Specialist
        • Nov 2018
        • 156

        #4
        Originally posted by Ramzes III
        MG-Soft MIB Browser

        MIB прислан мне производителем


        -- File Name : DAHUA-SNMP-MIB
        -- Date : 2014-01-07 15:27:57
        -- Author : NetWork Team([email protected])
        Это: https://github.com/librenms/librenms...DAHUA-SNMP-MIB ?
        Originally posted by Ramzes III
        Зачем вам это?
        Что "это"?

        Originally posted by Ramzes III
        Какая разница каким способом получать с железки данные?
        Что значит "какая разница"? Или вы снимаете данные по snmp или по http - принципиально разные способы "добычи" данных, разное представление, разная интепретация "снятых" данных.
        Originally posted by Ramzes III
        Важно то, что это не unixtime.


        Если вернутся к исходной задаче: не понимаю, зачем нужно мониторить время на устройстве и вешать триггер на его "уход". Какая подразумевается реакция на срабатывание триггера (допустим, время ушло на 10сек)? Ручная подстройка времени на устройстве через веб-интерфейс? Не проще ли (и не правильнее ли) активировать sntp-синхронизацию (она на всех попадавших мне в руки устройств от DAHUA работала исправно, в отличие от некоторых конкурентов-аналогов от других производителей)?

        PS: Кстати:
        # snmptranslate .1.3.6.1.4.1.1004849.2.12.2
        DAHUA-SNMP-MIB::currentTime

        Comment

        • Semiadmin
          Senior Member
          • Oct 2014
          • 1625

          #5
          Абстагируясь от вопросов "зачем это надо" и "почему это не получается через SNMP", озадачимся вопросом "как это сделать при помощи того, что есть".
          Через препроцессинг можно взять как отдельные целочисленные айтемы год, месяц, день, час, минуту и секунду. Потом в триггере можно написать формулу, вычисляющую через эти айтемы unixtime и сравнить его с выводом функции now. Не знаю, можно ли считать этот совет квалифицированным.

          Comment

          • Ramzes III
            Junior Member
            • Jan 2019
            • 7

            #6
            Originally posted by DSV12
            Похоже.

            Originally posted by DSV12
            Если вернутся к исходной задаче: не понимаю, зачем нужно мониторить время на устройстве и вешать триггер на его "уход". Какая подразумевается реакция на срабатывание триггера (допустим, время ушло на 10сек)? Ручная подстройка времени на устройстве через веб-интерфейс? Не проще ли (и не правильнее ли) активировать sntp-синхронизацию (она на всех попадавших мне в руки устройств от DAHUA работала исправно, в отличие от некоторых конкурентов-аналогов от других производителей)?
            Конечно синхронизация включена. Но иногда некоторые регистраторы по непонятным причинам меняют дату и время (как при перезагрузке ПК с дохлой батарейкой CMOS) и до следующего цикла синхронизации работают с неверным временем. Вот такие баги и хочется отловить. Ставить очень маленький интервал синхронизации не хочется.

            Originally posted by DSV12
            PS: Кстати:
            # snmptranslate .1.3.6.1.4.1.1004849.2.12.2
            DAHUA-SNMP-MIB::currentTime
            Кстати:
            # snmpget -c community -v 2c <my-dahua-device-addr> .1.3.6.1.4.1.1004849.2.12.2
            SNMPv2-SMI::enterprises.1004849.2.12.2 = No Such Object available on this agent at this OID

            Видимо такая железка.

            P.S. Я так понимаю, что на данный момент нет человеческого способа решить мою задачу в Zabbix ?

            Comment

            • Ramzes III
              Junior Member
              • Jan 2019
              • 7

              #7
              Originally posted by Semiadmin
              Через препроцессинг можно взять как отдельные целочисленные айтемы год, месяц, день, час, минуту и секунду. Потом в триггере можно написать формулу, вычисляющую через эти айтемы unixtime и сравнить его с выводом функции now.
              Спасибо за наводку. Представил как писать такую формулу в триггере, особенно с учетом високосных готов, секунд и т.п. В результате, как временный костыль, набросал внешний обработчик на питоне
              Хотя мне кажется, что формула для триггера была бы очень полезна.
              Last edited by Ramzes III; 19-01-2019, 19:56.

              Comment

              Working...