![]() ADDAX(матрица) v.6 SQL запросы , Полезные SQL запросы к базе ADDAX и NMS |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() ADDAX(матрица) v.6 SQL запросы , Полезные SQL запросы к базе ADDAX и NMS |
![]()
Сообщение
#1
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 198 Регистрация: 6.12.2013 Из: Санкт-Петербург Пользователь №: 36827 ![]() |
Запрос для определения "сдохших" счетчиков
Запрос для вывода показаний за указанный интервал для счетчиков 5 и 7 серии Тут вставляете период Код and( [RW_ReceivedData].[Time]>='11.01.2016' and [RW_ReceivedData].[Time]<='11.01.2016') Добавляйте свое... |
![]() |
|
|
![]()
Сообщение
#2
|
|
=VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1987 Регистрация: 13.12.2010 Из: Украина Пользователь №: 20654 ![]() |
Сдохших счетчиков- это которые просто данные не передают?
Судя с запроса это так. Так могут быть и шумы в линии, а счетчики нормальны. Мой любимый скрипт -------------------- |
![]() |
|
![]()
Сообщение
#3
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 198 Регистрация: 6.12.2013 Из: Санкт-Петербург Пользователь №: 36827 ![]() |
Сдохших счетчиков- это которые просто данные не передают? "Сдохшие" - это счетчики, которые были зарегистрированы в системе, а теперь отсутствуют в таблице маршрутизации роутера (NMS) А что делает "любимый скрипт" ??? Сообщение отредактировал Alexisss - 13.1.2016, 15:39 |
![]() |
|
![]()
Сообщение
#4
|
|
=VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1987 Регистрация: 13.12.2010 Из: Украина Пользователь №: 20654 ![]() |
А что делает "любимый скрипт" ??? Скрипт по обновлению статистики Позволяет ускорить работу SQL и Sims при выполнении запросов к базе данных -------------------- |
![]() |
|
|
![]()
Сообщение
#5
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
Использую этот код
для проверки счетчиков ушедших со связи. Получаем список номеров счётчиков в одном столбце, и кол-во мастеров (кол-во маршрутизаторов на деле, которые видят данный счётчик) в другом столбце. Если кол-во мастеров >0 то устройство считается на связи. Если нужного нам счётчика/маршрутизатора/дисплея (короче любого матричного устройства, видимого в NMS) нет в этом списке, то он никогда не регистрировался. Минусы: - если счётчик был физически отключен, то об этом мы узнаем через 3 дня (это так ПО матрицы оперативно обновляет маршрутную карту). Скрипт этот используется как представление (View) в MS SQL (база NMS). - даже если счётчик на связи, не факт что передача данных с него идёт успешно. Возможно что с устройства ещё даже паспорт не пришёл. Используется для отображения на картах населённых пунктов в MS Visio. Прихожу с утра, открываю файл с картами, жму обновить данные и Visio сам подтянет данные из MS SQL и "разрисует" узлы учёта: красный: нет связи зелёный: на связи желтый: если мы запрашиваем данные по счётчику, а он в NMS ни разу не появлялся. Ну и пример для наглядности: ![]() Ещё использую при анализе подключения новых узлов (в excel список номеров счётчиков так же раскрашивает тремя цветами). Сообщение отредактировал yuoras - 14.1.2016, 15:26 |
![]() |
|
![]()
Сообщение
#6
|
|
=VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1987 Регистрация: 13.12.2010 Из: Украина Пользователь №: 20654 ![]() |
Tu160, Да , с Визио хорошо.
Актуально при не больших обьемах счётчиков , а вот у кого за 10000 играться с привязками не особо хочется )) Я тут более углублённей решил промониторить . Делаю выводы , все скрипты имеют право на жизнь ,но как по мне 1. Alexisss, Запрос для определения "сдохших" счетчиков. Лучше было бы и информативнее было б выводить последние данные от этого счётчика (к примеру только сумму (0x01000F0800FF) ) , а не StatusDate. Я понимаю , времени это заняло б на порядки больше. В принципе я согласен , скрипт выполняет свою работу. 2.Tu160, Наверное ,лучше не выводить значение равные 0. Кстати , информативнее смотреть про мультимастерность . P.S. Это лично моё мнение, каждый преследовал свою цель в процессе написания. За труды всем СПАСИБО. Надеюсь на этом не остановимся -------------------- |
![]() |
|
![]()
Сообщение
#7
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
|
![]() |
|
|
![]()
Сообщение
#8
|
|
=VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1987 Регистрация: 13.12.2010 Из: Украина Пользователь №: 20654 ![]() |
Отчего же? 0 - значит наш прибор никто не видит, значит он NoRoute. Ввел в заблуждение . Имелось введу не выводить значения больше нуля, а не выводить все устройства Ниже в своем сообщении я описал , что так лучше смотреть мультимастерность -------------------- |
![]() |
|
![]()
Сообщение
#9
|
|
Заглянувший ![]() Группа: Новые пользователи Сообщений: 2 Регистрация: 19.1.2016 Пользователь №: 48003 ![]() |
|
![]() |
|
![]()
Сообщение
#10
|
|
Заглянувший ![]() Группа: Новые пользователи Сообщений: 3 Регистрация: 19.1.2016 Пользователь №: 48004 ![]() |
Я бы тоже посмотрел пример visio.
|
![]() |
|
|
![]()
Сообщение
#11
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
По просьбам трудящихся
1) в архиве папка test, которую нужно распаковать в C:\ (и только туда, пояснение ниже) 2) файл test\source.xlsx - источник наших данных. 3) файл test\test.vsd - наша "анимированная" схема. Для вас я связал визио с файлом экселя, куда помести буквально десяток значений. Минус в том, что при создании источника данных в визио, он не понимает относительные пути, поэтому файл экселя должен лежать именно в C:\test\source.xlsx. Файл визио в принципе может быть в любой другой директории на этом компе. Цитата В моей версии источником данных является View в SQL Express, база NMS (SQL-код этой вьюшки я писал в предыдущем сообщении). Думаю вы сами прекрасно разберётесь, как вместо экселя с помощью мастера в визио изменить источник данных с экселя на SQL-сервер. При замене источника данных, если наименование "столбцов" NMSDevice_ID, Status не изменятся, то все данные прекрасно подтянутся. Теперь о приложенной тестовой версии: Открываем оба файла. В визио на вкладке "данные" (у меня 2010, в своих ищите сами) включаем обе галки (в русской: Окно данных фигуры, окно внешних данных) для удобства. В экселе вы можете менять значения в столбце Status. В визио на вкладке данные, после изменений и сохранения в экселе, жмите кнопку "обновить все" и схема окрасится согласно новым значениям. При связи с SQL значения обновляются автоматом, остается только настроить автообновление данных в визио (раз в час, там можно выбрать любое удобное значение). Только учитывайте в момент обновления визио запрашивает ВЕСЬ объём данных, а не только связанных. Связанные данные видно в визио в окне внешних данных. При привязке там появляется значек, мол привязано. Нужны новые объекты? Берём, копируем существующий (зажимая контрол и перетаскиваем мышкой). При попытке копировать/вставить визио запрашивает обновление данных, если у вас связь с SQL это ппц как напрягает, так что рекомендую через Ctrl+мышкой. Короче создали копию объекта, потом из окна внешних данных мышкой перетаскиваем строку с данными и отпускаем над нашей новой фугурой. Если брали за основу мои фигуры, то номер нашего устройства автоматом изменится на вновь привязанный. Надеюсь понятно, ньюансов много, и писатель я ещё тот, так что спрашивайте, что не ясно, но сначала методом тыка поиграйтесь день-два, много вопросов сами решите ![]() Сообщение отредактировал Tu160 - 20.1.2016, 12:03
Прикрепленные файлы
|
![]() |
|
![]()
Сообщение
#12
|
|
Заглянувший ![]() Группа: Новые пользователи Сообщений: 2 Регистрация: 19.1.2016 Пользователь №: 48003 ![]() |
По просьбам трудящихся ...тут текст... Надеюсь понятно, ньюансов много, и писатель я ещё тот, так что спрашивайте, что не ясно, но сначала методом тыка поиграйтесь день-два, много вопросов сами решите ![]() Благодарю Вас. Все в принципе ясно. Рисовать только накладно ![]() ![]() Сообщение отредактировал d3frag - 21.1.2016, 6:28 |
![]() |
|
![]()
Сообщение
#13
|
|
=VIP= ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1987 Регистрация: 13.12.2010 Из: Украина Пользователь №: 20654 ![]() |
0- молчит более двух суток.
Из инструкции к рутроутеру -------------------- |
![]() |
|
![]()
Сообщение
#14
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
Можно немножко комментариев ![]() Рисование - да, занимает большую часть времени. Число, Status, это кол-во устройств-мастеров, которые видят наше устройство. Например, если два маршрутизатора видят счётчик с номером 123456, то в нашей таблице будет строчка: "123456","2". 0 - как верно заметили выше - нет связи более 2 суток >0 - значит устройство на связи (или было на связи в течении 2-х прошедших суток) --- Всё что ниже ТОЛЬКО для маршрутизаторов. Подумал, что стоит написать подобный скрипт для маршрутизаторов отдельно, по признаку NoData (в авариях можно увидеть). Т.е. по идеи стоит считать маршрутизатор ушедшим со связи уже тогда, когда у него статус NoData допустим после 6 часов утра (ночью по GPRS все данные скинут, и ночью допустим обзвон по GSM стоит. Так вот если после обзвона остались марш-ы со статусом NoData - это уже подозрительно). Возможно перепишу скрипт. Тестовая версия для себя уже есть, проблемно пока получить список всех маршрутизаторов и только маршрутизаторов. Для себя сделал просто: у меня у каждого маршрутизатора заполнено поле Description. Т.е. все устройства, у которых есть дискрипшн являются маршрутизаторами. --- Забавно, что в Alarm есть тип NoData, но в alarm_log он ни разу не появляется. Видимо считается, что если с начала текущих суток не поступило допустим сообщения "Restart counter", то отображается NoData. Сообщение отредактировал Tu160 - 22.1.2016, 13:20 |
![]() |
|
![]()
Сообщение
#15
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 218 Регистрация: 3.3.2013 Пользователь №: 31291 ![]() |
Привет всем!
Подскажите как у себя Вы делаете выборку конфигурации (действующий тарифный план) для версии NP7. Раньше для NP-06, выбирали тарифный план нормально, а в 7-ки конфигурация сложная. С показателем понятно, в Profile2 есть logical name=0х01000F0800FF, 0х01000F0801FF, 0х01000F0802FF Интересует как узнать какой счетчик 2-х или 3-х тарифный? В разделе TariffPlanPassive_DayProfile есть точки переключения по времени Tariff2, Tariff1, для всех одинаковое Logical name = 0х00000A0164FF. Как у Вас идет выборка по тарифному плану для NP7? |
![]() |
|
![]()
Сообщение
#16
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
Как у Вас идет выборка по тарифному плану для NP7? Не понял вопроса. По тарифному плану выборка чего? показаний? * Profile2, Profile3, Profile4 - по сути своей не отличаются. Отличия в кол-ве накопленных данных (в руководстве пользователя SIMS об этом детально расписано). * logical name в профилях (Profile 2/3/4) это, как я понимаю, некоторое уникально имя показаний (активка, реактивка, время, ток, напряжение...) получаемое с узла учёта. В разделе TariffPlanPassive_DayProfile есть script logical name - тоже некоторое уникальное имя параметра конфигурации. Если выполнить GET запрос для TariffPlanPassive_DayProfile, то данный параметр в базе в таблицу RW_ReceivedData не придёт (проверено экспериментально сегодня). Т.е. другими словами, искать что-то общее между этими именами врятли стоит. |
![]() |
|
![]()
Сообщение
#17
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 198 Регистрация: 6.12.2013 Из: Санкт-Петербург Пользователь №: 36827 ![]() |
Большая чистка от старых данных
Код delete from [ADDAXDB_APPSERVER].[dbo].[RW_ReceivedData] where [ReceivedTime]<'01.01.2016';
delete from [ADDAXDB_APPSERVER].[dbo].[cfg_history] where [SetTime]<'01.01.2016'; delete from [ADDAXDB_APPSERVER].[Security].[tEventHistory] where [date_create]<'01.01.2016'; delete FROM [ADDAXDB_APPSERVER].[dbo].[SM_States] where [Time]<'01.01.2016'; delete FROM [ADDAXDB_APPSERVER].[dbo].[SM_AlarmsStatistics]; delete FROM [ADDAXDB_APPSERVER].[dbo].[rm_ReqData]; delete FROM [ADDAXDB_APPSERVER].[dbo].[rm_Request]; |
![]() |
|
![]()
Сообщение
#18
|
|
Заглянувший ![]() Группа: Пользователи Сообщений: 61 Регистрация: 31.3.2015 Пользователь №: 44763 ![]() |
Цитата delete from [ADDAXDB_APPSERVER].[dbo].[RW_ReceivedData] where [ReceivedTime]<'01.01.2016'; удалить все принятые данные с узлов до 1 января 2016? Чистка под самый корешок ![]() Вдогонку подчищаем NMS delete FROM [ADDAXDB_APPSERVER].[dbo].[rm_Request]; а что Вы удаляете этой строкой? (что хранится в таблице rm_Request) Сообщение отредактировал Tu160 - 5.4.2016, 5:41 |
![]() |
|
![]()
Сообщение
#19
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 198 Регистрация: 6.12.2013 Из: Санкт-Петербург Пользователь №: 36827 ![]() |
|
![]() |
|
![]()
Сообщение
#20
|
|
Посетитель ![]() ![]() Группа: Пользователи Сообщений: 218 Регистрация: 3.3.2013 Пользователь №: 31291 ![]() |
|
![]() |
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 21.6.2025, 0:49 |
|
![]() |