NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: inspirit on May 12, 2012, 12:17:31 PM

Title: Интеграция с NETXMS
Post by: inspirit on May 12, 2012, 12:17:31 PM
Добрый день Виктор. Интересует такой вопрос.

Можно ли из скрипта (PERL) - добавлять устройства(коммутаторы) в NETXMS. Может есть какое то Аpi или еще какой путь?
вобщем не через графическую консоль.

Было бы удобно как то автоматизировать процесс добавления устройств.

Можете что то сказать по этому вопросу?

Вобщем что то вида AddNode(ip,container,some_parametrs)


И еще.. Можно ли в разделе где SNMP TRAP ы привязывают к EVENT ам - сделать что бы ивент возбуждался не сразу, а скажем после некоторого числа трапов которое можно указать там. Или скажем если трапов пришло какое то количество в течении какого то промежутка времени. Что то в таком духе.

Заранее спасибо.
Title: Re: Интеграция с NETXMS
Post by: Victor Kirhenshtein on May 15, 2012, 10:07:51 AM
Добрый день!

В NetXMS есть Java и C API. Проще использовать Java API. Например, создать новое устройство можно так:


package org.netxms.samples;

import org.netxms.api.client.NetXMSClientException;
import org.netxms.client.NXCSession;
import org.netxms.client.objects.GenericObject;
import java.net.InetAddress;
import java.io.IOException;

public class Sample {
    private static final String SERVER = "127.0.0.1";
    private static final String LOGIN = "admin";
    private static final String PASSWORD = "netxms";

    public static void main(final String[] args) throws NetXMSClientException, IOException {
        final NXCSession session = new NXCSession(SERVER, LOGIN, PASSWORD);
        session.connect();
NXCObjectCreationData cd = new NXCObjectCreationData(GenericObject.OBJECT_NODE, "TestNode", 2);
cd.setIpAddress(InetAddress.getByName("192.168.10.1"));
long id = session.createObject(cd);
        // id of new node object now is in variable "id"
        session.disconnect();
    }
}

Title: Re: Интеграция с NETXMS
Post by: enp on May 24, 2012, 12:11:03 PM
Спасибо!

А покажите, пожалуйста, как сделать push для какого-нибудь DCI
Title: Re: Интеграция с NETXMS
Post by: enp on May 24, 2012, 12:35:31 PM
Пока что у меня даже список объектов добыть не получается. Пытаюсь так:


NXCSession session = new NXCSession(SERVER, LOGIN, PASSWORD);
session.connect();
GenericObject[] o = session.getAllObjects();
System.out.println(Arrays.asList(o));
session.disconnect();


Получаю пустой список. Прав у пользователя достаточно, он администратор
Title: Re: Интеграция с NETXMS
Post by: Victor Kirhenshtein on May 24, 2012, 10:36:19 PM
Надо сначала сделать session.syncObjects().
Title: Re: Интеграция с NETXMS
Post by: enp on May 25, 2012, 08:32:41 AM
Спасибо, но как все же сделать push?
Title: Re: Интеграция с NETXMS
Post by: Victor Kirhenshtein on May 25, 2012, 10:35:09 AM
Сейчас push можно сделать только через C API - там есть функция NXCPushDCIData. Сделаю соответствующий метод в NXCSession в следующем релизе.