Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Добавить ответ в эту темуОткрыть тему
> 

ADDAX(матрица) v.6 SQL запросы , Полезные SQL запросы к базе ADDAX и NMS

Alexisss
сообщение 12.1.2016, 16:43
Сообщение #1


Посетитель
**

Группа: Пользователи
Сообщений: 198
Регистрация: 6.12.2013
Из: Санкт-Петербург
Пользователь №: 36827



Запрос для определения "сдохших" счетчиков


Запрос для вывода показаний за указанный интервал для счетчиков 5 и 7 серии

Тут вставляете период
Код
and( [RW_ReceivedData].[Time]>='11.01.2016' and [RW_ReceivedData].[Time]<='11.01.2016')

Добавляйте свое...
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
yuoras
сообщение 13.1.2016, 8:56
Сообщение #2


=VIP=
**********

Группа: Модераторы
Сообщений: 1987
Регистрация: 13.12.2010
Из: Украина
Пользователь №: 20654



Сдохших счетчиков- это которые просто данные не передают?
Судя с запроса это так.
Так могут быть и шумы в линии, а счетчики нормальны.
Мой любимый скрипт


--------------------
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Alexisss
сообщение 13.1.2016, 15:32
Сообщение #3


Посетитель
**

Группа: Пользователи
Сообщений: 198
Регистрация: 6.12.2013
Из: Санкт-Петербург
Пользователь №: 36827



Цитата(yuoras @ 13.1.2016, 8:56) *
Сдохших счетчиков- это которые просто данные не передают?

"Сдохшие" - это счетчики, которые были зарегистрированы в системе, а теперь отсутствуют в таблице маршрутизации роутера (NMS)

А что делает "любимый скрипт" ???

Сообщение отредактировал Alexisss - 13.1.2016, 15:39
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
yuoras
сообщение 13.1.2016, 17:21
Сообщение #4


=VIP=
**********

Группа: Модераторы
Сообщений: 1987
Регистрация: 13.12.2010
Из: Украина
Пользователь №: 20654



Цитата(Alexisss @ 13.1.2016, 14:32) *
А что делает "любимый скрипт" ???

Скрипт по обновлению статистики
Позволяет ускорить работу SQL и Sims при выполнении запросов к базе данных


--------------------
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 14.1.2016, 12:27
Сообщение #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
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
yuoras
сообщение 14.1.2016, 15:20
Сообщение #6


=VIP=
**********

Группа: Модераторы
Сообщений: 1987
Регистрация: 13.12.2010
Из: Украина
Пользователь №: 20654



Tu160, Да , с Визио хорошо.
Актуально при не больших обьемах счётчиков , а вот у кого за 10000 играться с привязками не особо хочется ))

Я тут более углублённей решил промониторить .
Делаю выводы , все скрипты имеют право на жизнь ,но как по мне
1. Alexisss,
Запрос для определения "сдохших" счетчиков.
Лучше было бы и информативнее было б выводить последние данные от этого счётчика (к примеру только сумму (0x01000F0800FF) ) , а не StatusDate.
Я понимаю , времени это заняло б на порядки больше.
В принципе я согласен , скрипт выполняет свою работу.

2.Tu160,
Наверное ,лучше не выводить значение равные 0.


Кстати , информативнее смотреть про мультимастерность .
P.S. Это лично моё мнение, каждый преследовал свою цель в процессе написания.
За труды всем СПАСИБО.
Надеюсь на этом не остановимся


--------------------
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 18.1.2016, 6:59
Сообщение #7


Заглянувший
*

Группа: Пользователи
Сообщений: 61
Регистрация: 31.3.2015
Пользователь №: 44763



Цитата(yuoras @ 14.1.2016, 16:20) *
Наверное ,лучше не выводить значение равные 0.


Отчего же? 0 - значит наш прибор никто не видит, значит он NoRoute.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
yuoras
сообщение 18.1.2016, 9:14
Сообщение #8


=VIP=
**********

Группа: Модераторы
Сообщений: 1987
Регистрация: 13.12.2010
Из: Украина
Пользователь №: 20654



Цитата(Tu160 @ 18.1.2016, 5:59) *
Отчего же? 0 - значит наш прибор никто не видит, значит он NoRoute.

Ввел в заблуждение .
Имелось введу не выводить значения больше нуля, а не выводить все устройства
Ниже в своем сообщении я описал , что так лучше смотреть мультимастерность


--------------------
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
d3frag
сообщение 19.1.2016, 14:27
Сообщение #9


Заглянувший
*

Группа: Новые пользователи
Сообщений: 2
Регистрация: 19.1.2016
Пользователь №: 48003



Цитата(Tu160 @ 14.1.2016, 12:27) *
Используется для отображения на картах населённых пунктов в MS Visio.

Уважаемый, а можно посмотреть один из примеров MS Visio ваш? Тестовый хотя бы скинуть не могли бы на мыло?
Причина редактирования: Зачем копировать такую простынь?
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Kind
сообщение 19.1.2016, 14:40
Сообщение #10


Заглянувший
*

Группа: Новые пользователи
Сообщений: 3
Регистрация: 19.1.2016
Пользователь №: 48004



Я бы тоже посмотрел пример visio.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 20.1.2016, 12:01
Сообщение #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+мышкой. Короче создали копию объекта, потом из окна внешних данных мышкой перетаскиваем строку с данными и отпускаем над нашей новой фугурой. Если брали за основу мои фигуры, то номер нашего устройства автоматом изменится на вновь привязанный.

Надеюсь понятно, ньюансов много, и писатель я ещё тот, так что спрашивайте, что не ясно, но сначала методом тыка поиграйтесь день-два, много вопросов сами решите icon_smile.gif

Сообщение отредактировал Tu160 - 20.1.2016, 12:03
Прикрепленные файлы
Прикрепленный файл  test.zip ( 225.39 килобайт ) Кол-во скачиваний: 166
 
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
d3frag
сообщение 21.1.2016, 6:27
Сообщение #12


Заглянувший
*

Группа: Новые пользователи
Сообщений: 2
Регистрация: 19.1.2016
Пользователь №: 48003



Цитата(Tu160 @ 20.1.2016, 12:01) *
По просьбам трудящихся

...тут текст...

Надеюсь понятно, ньюансов много, и писатель я ещё тот, так что спрашивайте, что не ясно, но сначала методом тыка поиграйтесь день-два, много вопросов сами решите icon_smile.gif

Благодарю Вас. Все в принципе ясно. Рисовать только накладно icon_smile.gif статусы в базе хранятся аналогично в 0,1,2,3 ? А за что отвечает каждая из них? 0 - это сколько он молчит? Можно немножко комментариев icon_smile.gif

Сообщение отредактировал d3frag - 21.1.2016, 6:28
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
yuoras
сообщение 21.1.2016, 8:45
Сообщение #13


=VIP=
**********

Группа: Модераторы
Сообщений: 1987
Регистрация: 13.12.2010
Из: Украина
Пользователь №: 20654



0- молчит более двух суток.
Из инструкции к рутроутеру


--------------------
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 21.1.2016, 13:38
Сообщение #14


Заглянувший
*

Группа: Пользователи
Сообщений: 61
Регистрация: 31.3.2015
Пользователь №: 44763



Цитата(d3frag @ 21.1.2016, 7:27) *
Можно немножко комментариев icon_smile.gif

Рисование - да, занимает большую часть времени.

Число, 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
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
РоманК
сообщение 29.3.2016, 8:43
Сообщение #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?

Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 29.3.2016, 14:08
Сообщение #16


Заглянувший
*

Группа: Пользователи
Сообщений: 61
Регистрация: 31.3.2015
Пользователь №: 44763



Цитата(РоманК @ 29.3.2016, 8:43) *
Как у Вас идет выборка по тарифному плану для NP7?

Не понял вопроса. По тарифному плану выборка чего? показаний?

* Profile2, Profile3, Profile4 - по сути своей не отличаются. Отличия в кол-ве накопленных данных (в руководстве пользователя SIMS об этом детально расписано).
* logical name в профилях (Profile 2/3/4) это, как я понимаю, некоторое уникально имя показаний (активка, реактивка, время, ток, напряжение...) получаемое с узла учёта. В разделе TariffPlanPassive_DayProfile есть script logical name - тоже некоторое уникальное имя параметра конфигурации. Если выполнить GET запрос для TariffPlanPassive_DayProfile, то данный параметр в базе в таблицу RW_ReceivedData не придёт (проверено экспериментально сегодня). Т.е. другими словами, искать что-то общее между этими именами врятли стоит.
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Alexisss
сообщение 4.4.2016, 23:08
Сообщение #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];
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Tu160
сообщение 5.4.2016, 5:46
Сообщение #18


Заглянувший
*

Группа: Пользователи
Сообщений: 61
Регистрация: 31.3.2015
Пользователь №: 44763



Цитата
delete from [ADDAXDB_APPSERVER].[dbo].[RW_ReceivedData] where [ReceivedTime]<'01.01.2016';

удалить все принятые данные с узлов до 1 января 2016? Чистка под самый корешок icon_biggrin.gif

Вдогонку подчищаем NMS


Цитата(Alexisss @ 5.4.2016, 0:08) *
delete FROM [ADDAXDB_APPSERVER].[dbo].[rm_Request];

а что Вы удаляете этой строкой? (что хранится в таблице rm_Request)

Сообщение отредактировал Tu160 - 5.4.2016, 5:41
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
Alexisss
сообщение 5.4.2016, 9:33
Сообщение #19


Посетитель
**

Группа: Пользователи
Сообщений: 198
Регистрация: 6.12.2013
Из: Санкт-Петербург
Пользователь №: 36827



Цитата(Tu160 @ 5.4.2016, 5:46) *
а что Вы удаляете этой строкой? (что хранится в таблице rm_Request)

Там валяются не отработанные запросы к счетчикам.
Смысла их хранить нет...
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения
РоманК
сообщение 5.4.2016, 22:16
Сообщение #20


Посетитель
**

Группа: Пользователи
Сообщений: 218
Регистрация: 3.3.2013
Пользователь №: 31291



Цитата(Tu160 @ 29.3.2016, 13:08) *
Не понял вопроса. По тарифному плану выборка чего? показаний?


Мой вопрос в том, как выборкой узнать тарифный план (2 или 3 тарифа)?
Вернуться в начало страницы
Вставить ник
+Ответить с цитированием данного сообщения

2 страниц V   1 2 >
Быстрый ответДобавить ответ в эту темуОткрыть тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 21.6.2025, 0:49
Rambler's Top100     
Стиль от Desi.Ru - сайты и домены