Ad Widget

Collapse

Триггер не учитывает новые данные.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #1

    Триггер не учитывает новые данные.

    Коллеги, приветствую.

    Сервер 5.2.4
    HistoryStorageType=clickhouse

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

    Code:
    ┌────────day─┬──itemid─┬───────────────clock─┬─ns─ ┬─value─┬─value_dbl─┬─value_str─────────────────── ─────────────────┐
    │ 1970-01-01 │ 2116993 │ 2021-11-08 09:30:02 │ 0 │ 0 │ 0 │ status='Ok',' │
    └────────────┴─────────┴─────────────────────┴──── ┴───────┴───────────┴───────────────────────────── ─────────────────┘
    ┌────────day─┬──itemid─┬───────────────clock─┬─ns─ ┬─value─┬─value_dbl─┬─value_str─────────────────── ──────────────────────────────────────────────┐
    │ 1970-01-01 │ 2116993 │ 2021-09-08 09:30:00 │ 0 │ 0 │ 0 │ status='Critical',' │
    └────────────┴─────────┴─────────────────────┴──── ┴───────┴───────────┴───────────────────────────── ──────────────────────────────────────────────┘
    ┌────────day─┬──itemid─┬───────────────clock─┬─ns─ ┬─value─┬─value_dbl─┬─value_str─────────────────── ──────────────────────────────────────────────┐
    │ 1970-01-01 │ 2116993 │ 2021-08-08 09:30:00 │ 0 │ 0 │ 0 │ status='Critical', │
    └────────────┴─────────┴─────────────────────┴──── ┴───────┴───────────┴───────────────────────────── ──────────────────────────────────────────────┘
    ┌────────day─┬──itemid─┬───────────────clock─┬─ns─ ┬─value─┬─value_dbl─┬─value_str─────────────────── ─────────────────┐
    │ 1970-01-01 │ 2116993 │ 2021-07-08 09:30:00 │ 0 │ 0 │ 0 │ status='Ok' │
    └────────────┴─────────┴─────────────────────┴──── ┴───────┴───────────┴───────────────────────────── ─────────────────┘
    ┌────────day─┬──itemid─┬───────────────clock─┬─ns─ ┬─value─┬─value_dbl─┬─value_str─────────────────── ──────────────────────────────────────────────┐
    │ 1970-01-01 │ 2116993 │ 2021-06-08 09:30:00 │ 0 │ 0 │ 0 │ status='Critical',' │
    └────────────┴─────────┴─────────────────────┴──── ┴───────┴───────────┴───────────────────────────── ──────────────────────────────────────────────┘
    Тут все Ок и мы видим, что данные за октябрь отсутствуют, а в данных на сентябрь - не Ок.


    Есть триггер
    {элемент данных].str(status='Ok')}=0

    Вроде бы все нормально, если при получении данных нет Ок - то срабатывает.
    Так вот сегодня Идет запрос на получение данных. Данные получаются, но триггер срабатывает:

    Code:
    select *, FROM_UNIXTIME(clock) from events where objectid=255029 order by clock desc limit 5;
    +-----------+--------+--------+----------+------------+-------+--------------+-----------+----------------------------------------------------------------------------------------------+----------+----------------------+
    | eventid | source | object | objectid | clock | value | acknowledged | ns | name | severity | FROM_UNIXTIME(clock) |
    +-----------+--------+--------+----------+------------+-------+--------------+-----------+----------------------------------------------------------------------------------------------+----------+----------------------+
    | 223385317 | 0 | 0 | 255029 | 1636353002 | 1 | 0 | 776865322 | Мониторинг  | 3 | 2021-11-08 09:30:02 |
    В действие в макросе ITEM.VALUE передается status='Critical'

    Т.е. что мы имеем:
    1. Срабатывает пользовательсткий интервал на получение данных.
    2. Данные получаются.
    3. Дается команда триггеру на проверку
    4. Триггер не находит их в кеши ( почему? они же вот, пришли) и делает запрос в history.
    5. Триггер получает данные из хистори (а там новые еще не записались) и срабатывает.
    6. Данные записываются в хистори.

    Вот такая загогулина.
    Это баг? Фича или мне что-то поправить надо?


Working...