По некоторым причинам мне не очень подходит API.
Мне нужно получить из базы данных информацию Zabbix (версия 5.4.2), в частности список аварий за определенный период.
Если включить режим отладки и запросить список проблем за указанный период, этот список отображается.
В окне отладки отображаются соответствующие запросы API и SQL-запросы.
Список проблем запрашивается из таблицы problem. Однако когда я делаю подобный SQL-запрос, то я получаю только недавние проблемы, а проблемы старше определенного возраста в данной таблице отсутствуют. Более того, на следующий день там не будет проблем, которые еще имеются сегодня.
Вероятно это связано с тем, что у меня установлена надстройка TimescaleDB и исторические данные перемещаются в другое место.
Подскажите, где их искать?
Мне нужно доработать данный запрос так, чтобы он стал рабочим:
Мне нужно получить из базы данных информацию Zabbix (версия 5.4.2), в частности список аварий за определенный период.
Если включить режим отладки и запросить список проблем за указанный период, этот список отображается.
В окне отладки отображаются соответствующие запросы API и SQL-запросы.
Список проблем запрашивается из таблицы problem. Однако когда я делаю подобный SQL-запрос, то я получаю только недавние проблемы, а проблемы старше определенного возраста в данной таблице отсутствуют. Более того, на следующий день там не будет проблем, которые еще имеются сегодня.
Вероятно это связано с тем, что у меня установлена надстройка TimescaleDB и исторические данные перемещаются в другое место.
Подскажите, где их искать?
Мне нужно доработать данный запрос так, чтобы он стал рабочим:
Code:
select p.eventid as "event#"
, p.objectid as "object#"
, i.hostid as "host#"
, h.name as "host"
, h.status as "status"
, p.name as "name"
, p.severity as "lvl"
, p.acknowledged as "ack"
, to_timestamp(p.clock) as "started"
, to_timestamp(p.r_clock) as "finish"
, p.r_clock - p.clock as "duration"
, p.r_eventid as "close#"
, p.ns, p.r_ns
from "problem" p
left join "triggers" t on (t.triggerid = p.objectid)
left join "functions" f on (f.triggerid = t.triggerid and concat('{',f.functionid,'}=0') = t.expression)
left join "items" i on (i.itemid = f.itemid and i.key_ = 'icmpping')
left join "hosts" h on (h.hostid = i.hostid)
where p.source = 0
and p.object = 0
and p.severity = 4
and p.r_clock >= extract(epoch from timestamp '2024-02-01')
and p.r_clock < extract(epoch from timestamp '2024-03-01')
and (p.r_clock - p.clock) > 1200
order by p.eventid asc
Comment