Poll
Question:
Как вы считаете будет ли полезной возможность обновления "полей" Alram, а так же изменения статуса Alram ( Ack, Sticky ack, resolved, terminated ) через nxshell
Option 1: Да
votes: 2
Option 2: Нет
votes: 0
Для alarm есть куча методов get:
'getAckByUser',
'getAckTime',
'getClass',
'getCommentsCount',
'getCreationTime',
'getCurrentSeverity',
'getDciId',
'getHelpdeskReference',
'getHelpdeskState',
'getId',
'getKey',
'getLastChangeTime',
'getMessage',
'getOriginalSeverity',
'getRepeatCount',
'getResolvedByUser',
'getSourceEventCode',
'getSourceEventId',
'getSourceObjectId',
'getState',
'getTerminateByUser',
Но отсутсвют set методы.
А каким образом при помощи nxshell`а можно обновить свойства alarm`а? В частности: обновить hepldesk reference, выполнить закрытие ( ack, terminate )
helpdesk reference поменять нельзя, он выставляется на стороне сервера.
Из операций со стороны клиента - только убрать helpdesk id (нужны дополнительные права)
public void unlinkHelpdeskIssue(String helpdeskReference) throws IOException, NXCException
поменять состояние аларма (копирую из NXCSession.java, в nxshell это будет session.acknowledgeAlarm(xxx)):
public void acknowledgeAlarm(final long alarmId) throws IOException, NXCException
public void acknowledgeAlarm(String helpdeskReference) throws IOException, NXCException
public void acknowledgeAlarm(final long alarmId, boolean sticky, int time) throws IOException, NXCException
public void resolveAlarm(final long alarmId) throws IOException, NXCException
public void resolveAlarm(final String helpdeskReference) throws IOException, NXCException
public void terminateAlarm(final long alarmId) throws IOException, NXCException
public void terminateAlarm(final String helpdeskReference) throws IOException, NXCException
этот метод гораздо эффективнее для большого количества алармов:
private Map<Long, Integer> bulkAlarmOperation(int cmd, List<Long> alarmIds) throws IOException, NXCException
Спасибо за ответ.
Подскажите, а где бы хранить референс инцидента из Service Desk. Суть в слебующем:
По расписанию, запускается сценарий который перебирает outstanding алармы. На этом шаге нужно открыть инцидент в SD и каким-то образом сохранить в NetXMS его референс. Кране не хочется использовать для этого третью БД.
Думал, что hepldesk reference как раз подходит....
Ну можно сделать hdlink для ServiceDesk и открывать тикет через него, тогда и helpdesk reference выставится. Что у вас за продукт? И есть ли у него API для открытия тикетов?
Виктор,
Для регистрации инцидентов используем ManageEngine Service Desk. API у него есть ( https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&sqi=2&ved=0ahUKEwiFpLrO7MXRAhWEfxoKHUwQDjAQFgg9MAA&url=https%3A%2F%2Fwww.manageengine.com%2Fproducts%2Fservice-desk%2Fhelp%2Fadminguide%2Fapi%2Fapi.html&usg=AFQjCNEtbbfeV90pesnbr6HPVGrJjsgDxQ&sig2=fwxgCpiTOGKk96uaMVZc5g&bvm=bv.144224172,d.bGs&cad=rjt)
А можно подробнее про "hdlink"? Что это? Как пользоваться? Есть примеры?
Спасибо
hdlink - это по сути драйвер интерфейса тикет системы. Сейчас есть для Jira. Я посмотрю API ManageEngines - возможно мы сможем добавить драйвер для них тоже.
А может быть дать возможность записи в поля Alarm, а так же их закрытие через nxshell?
В целом это очень сильно развяжет руки пользователям системы, так как Service Desk систем большое количество. А так вот вам штатное средство интеграции. Интегрирутесь на здоровье.
Создал в топике голосование по этому поводу
"изменения статуса Alram ( Ack, Sticky ack, resolved, terminated ) через nxshell" - это есть уже сейчас, через методы acknowledgeAlarm, resolveAlarm, terminateAlarm. Комментарии также можно добавлять/смотреть. Единственно что нельзя - напрямую менять helpdesk status и helpdek reference.
Нет никаких подвижек по интеграции с ManageEngine ServiceDesk?