Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 25.07.2018
Сообщений: 2

Обновление OID через MIB

18.10.2018, 17:58. Показов 1912. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени.
Имеется зоопарк девайсов, электро-снабжения, показания с которых парсятся в экселевский файл. Часть данных удаётся снять с XML а несколько приходиться запрашивать через snmp MIB.

Проблема следующая- Любой, первый MIB cчитывается и записывается в объект без проблем, второй отвечает нулями и вешает обновление Экселя.

Ниже код класса.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public class Device implements Callable {
 
    static int count = 0;
    private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(Device.class);
 
    private static int testOk = 0;
 
    Snmp snmp;
    private final String address;
    private final String name;
    private final int id;
    private final String ip;
    private BatteryTest ebt;
    private SnmpConnection snmpConn;
    private OID[] oids;
    private OID[] oidz;
    private BattTestDTO bt;
 
    public Device(String ip, String name, int id) {
        this.ip = ip;
        this.address = "udp:" + ip + "/161";
        this.name = name;
        this.id = id;
    }
 
    private void init() throws IOException {
        String oidString = Configuration.get("oid.batteryTimeleft");
        String oidStringTwo = Configuration.get("oid.batteryTemp");
        oids = new OID[]{new OID(oidString)};
        oidz = new OID[]{new OID(oidStringTwo)};
        ebt = new EltekBatteryTest(ip);
        snmpConn = new SnmpConnection(address);
 
    }
 
    @Override
    public Object call() {
 
        try {
 
            count++;
            init();
            int batteryTimeleft = snmpConn.getByOid(oids);
            int battTemp = snmpConn.getByOid(oidz);
            DeviceDAO device = new DeviceDAO();
 
            if (batteryTimeleft >= 0) {
                bt = ebt.get();
                if (bt != null) {
                    log.warn("DUR=" + bt.getDuration() + " VOLTAGE=" + bt.getVoltage());
                    device.update(id, batteryTimeleft, bt);
                    device.update(id, battTemp, bt);
                    testOk++;
                }
 
            } else {
                log.warn("This device cant be reached ID=" + id);
            }
        } catch (IOException ex) {
            log.error("Couldn't init devece: " + ex);
        } catch (NoDataException ex) {
            log.error(ex);
        } finally {
            count--;
        }
        return null;
    }
 
    public static int getTestOk() {
        return testOk;
    }
 
    public static void setTestOk(int testOk) {
        Device.testOk = testOk;
    }
 
}
С одним MIB всё работает прекрасно... Буду благодарен за направление к решению....
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.10.2018, 17:58
Ответы с готовыми решениями:

SNMP и mib oid
Нужны следующие mib oid. Для Windows 7 и Windows server 08 (если они различаться будут). HDD Температура жесткого диска ...

MIB SNMP
возникла следующая задача: в реализованной программе происходит получение mib дерева с сетевого оборудования. каким образом на основе этого...

Juniper srx220h MIB
Добрый день. Настраиваю мониторинг с помощью Zabbix/SNMP-builder. Помогите скачать MIB с официального сайта для Juniper srx 220h? SW:...

1
0 / 0 / 1
Регистрация: 25.07.2018
Сообщений: 2
19.10.2018, 08:15  [ТС]
Лучший ответ Сообщение было отмечено HighPredator как решение

Решение

доброго утра!
Изменения понадобилось сделать в опубликованом классе и в классе который непосредственно писал в SQL.

В данном случае затирался первый миб.
Java
1
2
                   device.update(id, batteryTimeleft, bt);
                    device.update(id, battTemp, bt);
изменено на
Java
1
                 device.update(id,  batteryTimeleft,battTemp, bt);
Всем хорошего дня!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.10.2018, 08:15
Помогаю со студенческими работами здесь

Что за ошибки: Cannot find module (IP-MIB) ?
вот такой текст появляется в браузере при запуске пустово php-файла: Cannot find module (IP-MIB): At line 0 in (none) Cannot find...

Формат OID-ов
Подскажите, какой формат у OID-ов ? то-есть, какова может быть его длинна, или это просто строка?

Подскажите OID
Здравствуйте. Есть Cisco 3825. На ней 2 модуля HWIС- 4eSW. Подскажите пожалуйста точный OID и ключ для сбора информации по траффику...

OID объекта
Есть пользовательский тип Как узнать его OID ?

SNMP OID Vlan
Доброго времени суток ув. админы. Подскажите плз какой OID отвечает за Vlan? Нужно по SNMP переключать порты в другие виланы. Второй день...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru