Работа с Alarm через nxshell

Started by 7novds, January 11, 2017, 12:02:07 PM

Previous topic - Next topic

 Как вы считаете будет ли полезной возможность обновления "полей" Alram, а так же изменения статуса Alram ( Ack, Sticky ack, resolved, terminated ) через nxshell

Да
2 (100%)
Нет
0 (0%)

Total Members Voted: 2

7novds

Для 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 )

Alex Kirhenshtein

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

7novds

Спасибо за ответ.

Подскажите, а где бы хранить референс инцидента из Service Desk. Суть в слебующем:

По расписанию, запускается сценарий который перебирает outstanding алармы. На этом шаге нужно открыть инцидент в SD и каким-то образом сохранить в NetXMS его референс. Кране не хочется использовать для этого третью БД.

Думал, что  hepldesk reference как раз подходит....

Victor Kirhenshtein

Ну можно сделать hdlink для ServiceDesk и открывать тикет через него, тогда и helpdesk reference выставится. Что у вас за продукт? И есть ли у него API для открытия тикетов?

7novds

Виктор,

Для регистрации инцидентов используем 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"? Что это? Как пользоваться? Есть примеры?

Спасибо

Victor Kirhenshtein

hdlink - это по сути драйвер интерфейса тикет системы. Сейчас есть для Jira. Я посмотрю API ManageEngines - возможно мы сможем добавить драйвер для них тоже.

7novds

А может быть дать возможность записи в поля Alarm, а так же их закрытие через nxshell?

В целом это очень сильно развяжет руки пользователям системы, так как Service Desk систем большое количество. А так вот вам штатное средство интеграции. Интегрирутесь на здоровье.

7novds

Создал в топике голосование по этому поводу

Victor Kirhenshtein

"изменения статуса Alram ( Ack, Sticky ack, resolved, terminated ) через nxshell" - это есть уже сейчас, через методы acknowledgeAlarm, resolveAlarm, terminateAlarm. Комментарии также можно добавлять/смотреть. Единственно что нельзя - напрямую менять helpdesk status и helpdek reference.

7novds

Нет никаких подвижек по интеграции с ManageEngine ServiceDesk?