NetXMS Support Forum

Please login or register.

Login with username, password and session length

Poll

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

Да
- 1 (100%)
Нет
- 0 (0%)

Total Members Voted: 1


Author Topic: Работа с Alarm через nxshell  (Read 874 times)

7novds

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Работа с Alarm через nxshell
« on: January 11, 2017, 12:02:07 pm »

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

Alex Kirhenshtein

  • Team Member
  • Administrator
  • Hero Member
  • *****
  • Posts: 875
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #1 on: January 11, 2017, 04:21:07 pm »

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
Logged

7novds

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #2 on: January 12, 2017, 07:37:18 am »

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

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

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

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

Victor Kirhenshtein

  • Lead Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 5960
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #3 on: January 14, 2017, 11:11:34 am »

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

7novds

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #4 on: January 16, 2017, 06:42:02 am »

Виктор,

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

Спасибо
Logged

Victor Kirhenshtein

  • Lead Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 5960
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #5 on: January 18, 2017, 12:25:27 am »

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

7novds

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #6 on: January 18, 2017, 02:09:53 pm »

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

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

7novds

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #7 on: January 18, 2017, 03:42:29 pm »

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

Victor Kirhenshtein

  • Lead Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 5960
    • View Profile
Re: Работа с Alarm через nxshell
« Reply #8 on: January 18, 2017, 06:47:22 pm »

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