Здравствуйте!
Получить список алармов из БД (PostgreSQL) можно так:
select
    name,
    message,
    timestamp 'epoch' + creation_time * interval '1 second' as begin, 
    timestamp 'epoch' + last_change_time * interval '1 second' as last_change    
from alarms inner join object_properties 
    on source_object_id = object_id
order by creation_time desc
Однако я не могу найти поле с отметкой о том, когда аларм был закрыт, а также кем и по какой причине.
			
			
			
				Да, искать по БД приходится не от хорошей жизни - в Alarm Log с фильтром по Source удается найти записи до апреля, остальных нет. Хотя в БД с тем же object_id есть записи вплоть до сегодняшнего дня. Что может так влиять на неотображение данных?
			
			
			
				Странно. На всякий случай - в лог выдаются первые 400 найденных записей, следующие подгружаются при нажатии "get more data" - действительно больше ничего не выдается?
			
			
			
				Спасибо, я просто не увидел кнопочку "get more data" :)
Однако вопрос с выборкой алармов средствами SQL по-прежнему актуален, потому что текущее представление включает слишком много колонок. Актуальность, наверное, потеряется только с решением этой проблемы -  https://www.radensolutions.com/chiliproject/issues/224
			
			
			
				Вот такой SQL даст пользователей, которые делали acknowledge, resolve, и terminate:
select
    op.name,
    message,
    creation_time as begin, 
    last_change_time as last_change,
    u1.name as user_ack_by,    
    u2.name as user_resolved_by,    
    u3.name as user_term_by    
from alarms 
inner join object_properties op 
    on source_object_id = object_id
left outer join users u1
    on u1.id=ALARMS.ack_by
left outer join users u2
    on u1.id=ALARMS.resolved_by
left outer join users u3
    on u1.id=ALARMS.term_by
order by creation_time desc
Отдельных timestamp'ов на это нет, при каждом изменении обновляется last_change_time.
			
			
			
				Т.е. закрытые алармы - это те, у которых term_by <> 0, и в этом случае дата/время закрытия - last_change_time?
			
			
			
				Не совсем так. Надо проверять на alarm_state = 3, term_by может быть равен 0 если аларм был закрыт пользователем admin или системой. last_change_time будет в этом случае содержать время закрытия, да.
			
			
			
				понятно, спасибо!