Ad Widget

Collapse

Мониторинг отсутствия данных при парсинге.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Tonik
    Junior Member
    • Jun 2023
    • 13

    #1

    Мониторинг отсутствия данных при парсинге.

    Добрый день.
    В процессе парсинга данных бывают случая, когда основной элемент не смог вернуть значение (не сработала удаленная команда), либо значение пришло, но его формат некорректен для дальнейшего парсинга.
    Следовательно, зависимый от него элемент, не смог спарсить основной элемент.
    Что-бы знать, что запросы неуспешны, я создаю триггер на основной элемент с функцией nodata.
    Например, основной элемент опрашивает оборудование каждые 30 мин, тогда для триггера ставлю nodata = 1 за последние 35 мин.
    А для зависимого элемента делаю предобработку:
    1) Парсинг ответа основного элемента с галкой "Другое при ошибке" и "Задать значением" NODATA
    2) Проверяю ответ через JavaScript
    Code:
    if (value.trim() == "Optimal") {
    return 1;
    }
    else if (value == "NODATA") {
    return 2;
    }
    return 0;
    Тогда, при возврате 1 триггер не сработает, при возврате 2 сработает триггер об отсутствии данных, а при возврате 0 сработает дополнительный триггер о том, что состояние элемента не Optimal.
    Чтобы не срабатывало сразу два триггера при отсутствии данных от основного элемента (nodata основного элемента и значение 2 у зависимого элемента), выражение триггера зависимого элемента прописываю так:
    Code:
    last(<зависимый элемент>)=2 and nodata(<основной элемент>, 35m)=0
    То есть, основной элемент получил значение (nodata ложь), но зависимый элемент не смог его спарсить.

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