nocproject.org
02:38
Закоммитил автоматический suspend/resume job'ов по изменению capabilities
 
03:07
при ping failed они тоже будут приостанавливаться
03:16
 
03:26
dvolodin: чего где посмотреть что работает? или ты вполне уверен что все гут
03:26
noc=# SELECT status, count(*) FROM sa_maptask GROUP BY status ORDER BY 2 DESC;
03:26
status | count
03:26
--------+-------
03:26
R      |    24
03:26
C      |    18
03:26
(2 rows)
 
03:28
TSergey: оно при изменении статуса объекта или при изменении capabilities будет работать
03:29
db.noc.schedules.inv.discovery.aggregate([{$group: {_id: "$s", "count": {$sum: 1}}}])
 
03:29
dvolodin: не замечал такую штуку: SA\Monitor\Pools при первом входе показывает итогову строчку, после рефреша нет
03:30
>  db.noc.schedules.inv.discovery.aggregate([{$group: {_id: "$s", "count": {$sum: 1}}}])
03:30
{ "_id" : "R", "count" : 18 }
03:30
{ "_id" : "S", "count" : 1 }
03:30
{ "_id" : "W", "count" : 10276 }
03:31
dvolodin: можно сделать прыжок в алармы из карт?
03:31
или требует переделки алармов?
 
03:32
from noc.inv.discovery.scheduler import get_scheduler
03:32
from noc.sa.models.managedobject import ManagedObject
03:32
scheduler = get_scheduler()
03:32
for o in ManagedObject.objects.filter(is_managed=True):
03:32
    scheduler.ensure_jobs(o, o.get_status())
03:32
нет, переделки не требует
03:32
я собираюсь сделать там кнопочку *show on map*
03:33
там если и потребуется доработки в картах, так для подсветки и центрирования на объекте
 
03:33
погоди, я другое прошу
03:34
у тебя, если выбрать мо и ткнуть на глаз, попадаем в SA\MO
03:34
я прошу сделать восклицательный знак, если выбрать МО и ткнуто на него, попадаем в ФМ\Алармс\с выборкой для этого МО
03:36
----> 1 scheduler = get_scheduler()
03:36
NameError: name 'get_scheduler' is not defined
03:36
сорри
03:38
код ничего не написал
 
03:40
он и не должен писать
03:40
db.noc.schedules.inv.discovery.aggregate([{$group: {_id: "$s", "count": {$sum: 1}}}])
 
03:41
db.noc.schedules.inv.discovery.aggregate([{$group: {_id: "$s", "count": {$sum: 1}}}])
03:41
{ "_id" : "R", "count" : 8 }
03:41
{ "_id" : "s", "count" : 1743 }
03:41
{ "_id" : "S", "count" : 1 }
03:41
{ "_id" : "W", "count" : 8543 }
 
03:45
ну вот
03:46
1743 job'а отключило
03:46
там interface discovery будет устанавливать capability DB | Interfaces
03:46
и по нему будут включаться job'ы, которым нужны интерфейсы в базе
 
03:55
может добавишь вот это с шедулером в фикс?
03:57
и вот это:
03:57
truncate table sa_maptask; REINDEX TABLE sa_maptask ; REINDEX TABLE sa_reducetask ; vacuum analyze sa_maptask;
 
04:06
TSergey: это как-то шестко
 
04:07
ну сделай в вфиксе ключ clear_job
04:08
не у одного меня, как выяснилось, в  sa_maptask завал
04:09
нужны комменты
04:09
 
04:14
добавил в fix проверку job'ов и vacuum
 
04:18
спасиб!
04:25
про итоговую строчку в SA\Monitor\Pools --- у тебя тоже так?
 
04:36
IRevent:  в self.types нет "vl"
 
04:37
yfitk e;t fuf
04:37
нашел уже ага
04:37
поправишь или патч сделать?
 
04:42
dvolodin: вот это
04:42
db.noc.schedules.inv.discovery.aggregate([{$group: {_id: "$s", "count": {$sum: 1}}}])
04:42
показывает SUSPEND`ы?
 
04:42
да
04:42
статус "s"
04:42
IRevent: патч сделать
 
04:51
dvolodin: сделал пулл запрос
 
04:58
а что такое в пирулях? "Error saving record"
 
04:59
IRevent: а может там .lower() использовать и сократить число комбинаций?
04:59
не стоит?
04:59
   "VL": "SVI",         # VLAN, found on C3500XL
04:59
жесть :)
 
05:00
штож за нахер такой
 
05:01
да я про пируль, не сохраняет изменения
05:01
а импорты, написанные по старому не работают
05:01
хотел поправить
 
05:02
dvolodin:  может тебе виднее я с питоном не очень
 
05:05
нет, видимо с пирулями пока никак
05:05
жаль
 
05:05
а что с ними не так?
 
05:07
1. сломались импорты
05:07
2. не сохраняются изменения
05:08
конструкиця вида
05:08
from noc.inv.models import *
05:08
больше не работает
05:08
правлю на
05:08
from noc.inv.models import InterfaceProfile
05:08
сэйвлюсь
05:08
"Error saving record"
 
05:08
и правильно не работает
05:09
noc.inv.models.interfaceprofile
 
05:09
да, конечно правильно
05:09
хм, сохранилось
05:13
global name 'Interface' is not defined
 
05:25
пришлось убирать их из __init__.py
05:26
иначе циклические зависимости образуются
 
05:29
а сэйв анализирует пируль?
05:30
может тогда чуть поменять "Error saving record", ну типа что синтаксис некорректный
05:34
о, некий Mr.Philip Hammond жаждет вернуть мне USD10,700,000.00
05:35
наконец-то
05:38
свершилось чудо, нажатие Run в дисковери запустило инвентрои и он выполнился
05:46
 
05:50
TSergey: еще сделал полезный отчет
05:50
inv > reports > discovery
 
05:51
dvolodin: интересно чего из предпринятого тобой решио проблему, что Run в вебе не запускал дискавери сразу
05:51
*решило
 
05:53
много чего
05:54
снижение нагрузки на postgres
05:54
гашение неработающих job'ов
05:54
оптимизация scheduler'а
 
05:56
inv > reports > discovery summary --- этот отчет?
 
05:56
Discovery Jobs Statuses
05:56
Wait 	10 001
 
05:57
предлагаю до понедельника устроить отлов багов
 
05:57
SELECT status, count(*) FROM sa_maptask GROUP BY status ORDER BY 2 DESC;
05:57
status | count
05:57
--------+-------
05:57
C      |  1678
05:57
R      |   404
05:57
W      |   113
05:57
F      |    20
05:57
это другое Wait?
 
06:02
да
06:02
совсем
06:06
 но тоже надо бы вывести
 
06:07
и реально у меня ожидает более 10 000 задач дискавери?
 
06:07
да
06:07
обновись
06:07
я разбил wait на 2 части
 
06:12
обновился
06:12
в отчете один Wait
06:13
root@noc:/opt/noc# hg tip
06:13
Not trusting file /opt/noc/.hg/hgrc from untrusted user noc, group noc
06:13
hg tip
06:13
changeset:   11408:6a35803fbdcc
06:13
branch:      develop
06:13
tag:         tip
06:13
parent:      11407:bbc9ef8838e8
06:13
parent:      11405:a3d3bfa99603
06:13
user:        Dmitry Volodin  <dv@nocproject.org>
06:13
date:        Thu Jul 16 08:53:18 2015 +0300
06:13
summary:     Merged
 
06:18
это нормально
06:18
Wait (Late) нет?
06:18
В suspend много job'ов увело?
06:19
короче - багхантинг до понедельника и релизимся
 
06:19
Discovery Jobs Statuses
06:19
Wait 	10 251
06:19
Suspend 	15
06:19
Run 	10
06:19
Stop 	1
06:19
	10 277
06:19
Wait (Late) нет
 
06:19
ok, это хорошо
06:21
отрелизим как 15.07
 
06:22
только сейчас увидел патч
06:22
Discovery Jobs Statuses
06:22
Wait 	9 676
06:22
Wait (Late) 	568
06:22
Run 	17
06:22
Suspend 	15
06:22
Stop 	1
06:22
	10 277
06:22
Map Tasks
06:22
Complete 	1 498
06:22
Running 	444
06:22
Failed 	22
06:22
	1 964
 
06:22
а вот следующий релиз будет дос
06:22
достаточно тяжелым и масштабным
06:22
поедем в сторону микросервисов
06:23
перелопатится etc
06:23
вместо ланчера будет supervisor
06:24
появится кластеризация
 
06:27
опять нок два года нельзя будет людям показывать
 
06:27
а еще через релиз sa_maptask уйдет совсем и клиент будет взаимодействовать с активатором напрямую
06:27
zi_rus: все в ваших руках :)
 
06:28
вот как бы замутить селектор для мо, у которых на портах с определенным профиелм есть определенный влан
06:29
я вот думаю как побить сеть на сегменты
06:29
dvolodin: сделай прыжок из карты на алармы, карты уже можно будет техподу показать
 
06:32
карты, вроде, более юзабельные, чем прошлая ревизия
06:34
TSergey: из карты на алармы именно?
06:34
или из алармов на карту?
 
06:34
шото у меня фикс на суспенд\ресуме задумался адово
 
06:35
Скопипастить кнопку Alarms с SA-MO в INV-MAP
 
06:35
dvolodin: именно из карты, в FM\Alarms с фильтром на МО
 
06:35
по аналогии как ты сделал прыжок из карт на МО
06:36
dvolodin: есть, но из них тоже нет перехода в FM\Alarms
06:36
и закрыть его нельзя
06:37
идея такая:
06:37
на карте МО оранжевым, значит есть алармы, выделяем, жахаем, попадаем в FM\Alarms c выбранным Objects = MO
06:37
и закрывам алармы :)
 
06:40
dvolodin также в etc/requirements/noc.txt можно обновить Django до 1.4.20 у меня работает без замечаний.
 
06:41
я смотрел, там нет ничего для нас
 
06:42
про алармы не прокатило предложение?
 
06:42
в модулях, которые мы не используем
06:43
TSergey: делаю переход из managed object > Alarms на просмотр аларма
06:44
ну и на алармы переход сделаю
 
06:44
ок, а если на МО десяток алармов? ловчее бы было прыгнуть с карты на отфильтрованные алармы в ФМ\Алармс
 
06:44
Просмотра алярма мало, хочется иметь возможность его закрыть.
 
06:45
xetle: из аларма и закроешь
06:45
TSergey: я посмотрю
 
06:48
у вас нок фикс быстро отработал? у меня уже минут 15 лопатит
 
06:49
а я фикс ещё ниразу не запускал..
 
06:54
e_zombie: на расписаниях?
06:54
или на sa_maptask?
 
06:55
Checking fm.Outages
06:55
Suspending/Resuming discovery jobs
06:55
очень долго
06:55
сейчччас мурижит базу с интерфейсами
06:55
пришлось нок остановить
 
06:57
TSergey: из sa.alarms переход сделал
06:57
sa.managedobject > alarms
 
06:59
И эту же кнопку надо в inv-map скопировать.
06:59
кнопку Alarms с SA-MO скопировать в INV-MAP
 
07:04
зачем
07:05
с одной стороны можно просто переход сделать
07:05
с другой - у техподдержки не должно быть доступа к managed objects
 
07:05
Fixing *DB | Interfaces* capability
07:05
Optimizing sa_maptask
07:05
Exception in thread Thread-1 (most likely raised during interpreter shutdown):
07:05
Traceback (most recent call last):
07:05
  File "/usr/lib64/python2.6/threading.py", line 532, in __bootstrap_inner[root@nocproject noc]#
07:05
[root@nocproject noc]#
07:05
[root@nocproject noc]#
 
07:08
это не страшно
07:08
поднялось?
 
07:09
сейчас поглядим.
07:10
вроде потекло говно по трубам
 
07:17
dvolodin: к SA-MO у техподдержки доступа нет, но к карте и алярмам есть. Желательно возле глаза в inv-map сделать ссылку на отфильтрованные для выбранного MO алармы в ФМ\Алармс. Как TSergey предложил.
 
07:37
люди добрые подскажите
07:39
из питона завожу объект ManagedObject
07:39
делаю ему save()
07:39
что-еще нужно ему сделать, чтобы он запустил discovery по этому объекту?
 
07:43
07:43
с утром.
07:43
филосовский вопрос - приходить ли на работу после утреннего минета или в пизду всё и спать ?
 
07:44
у кого экстимы есть?
07:45
 
07:45
teroni: если MO заведён нормально дискавери само должно запустится. Можно также через веб дернуть или через шел.
 
07:45
dvolodin: заапрувь пожалуйста. а то то что сейчас в апстриме нерабочее, по крайней мере по части интерфейсов
 
07:49
Night_Snake1: как pull request, пожалуйста
07:49
и тушенку мне на beef@
 
07:49
мм... ткни в ман плиз. я такого не делал еще ни разу
 
07:52
как сделать тушенку?
 
07:56
и тушенку и пулреквест
 
07:59
мнда. овер дохуя у меня портов
 
08:01
teroni:
08:01
from lib.scheduler import utils
08:01
utils.refresh_schedule("inv.discovery", "config_discovery", m.id)
08:01
или так
08:01
utils.refresh_schedule("inv.discovery", "config_discovery", m.id, delta=300)
08:01
вот так зашедулерить конфиг дискавери
 
08:03
TSergey: но это зашедулит только "config_discovery"
08:03
а мне надо что-бы все дискавери появились
 
08:04
это программно передвинуть, если тебя встроенное расписание не устраивает
 
08:04
в веб интерфейсе это кнопка Run в discovery
08:04
а как это запустить из питона
 
08:04
вот так как я тебе показал :)
08:04
делаешь для каждого дискавери, что тебя интересует
 
08:05
у меня сейчас в дисковери только галочки стоят зеленые - но ни одного NextRun не написано
 
08:06
у кого такая же штука в логах шедулера Rescheduling job support.report_crashinfo ?
08:06
постоянно решедулит
 
08:06
а пробовали ли ./noc fix ?
08:06
из сегодняшних патчей
 
08:06
пробовал с утра. долго. и наверное лучше тормознуть нок.
 
08:07
ну и дружно смотрим в Inventory \ Reports \ Discovery Summary
 
08:07
обнови его. там фикс был недавно
 
08:08
08:10
e_zombie: ага
 
08:12
TSergey: а в discovery summary в jobs status какой статус нормальный ? Wait ?
 
08:13
так все нормальные :)
08:13
hartmy: Map Tasks  покажи
 
08:13
running 7 complete 5 :)
 
08:14
все гут
08:15
а в Discovery Jobs Statuses у меня
08:15
Wait 	10 196
08:15
Wait (Late) 	58
08:15
и Дима ответил, что это тоже гут
 
08:15
а что при помощи этого саммери можно увидеть )
08:15
всмысле траблшутинга
 
08:22
TSergey: refresh_schedule - не помогает. у меня на этом МО в веб-интерфейсе только зеленые галки. но ни одного NextRun не написано
 
08:22
да, с новыми МО такой трабл был, и однозначного решения нет
08:22
попробуй пересохранить профиль, например
08:23
через некоторое время отлипнет
 
08:24
но если я создаю МО из вебы - то все работает нормально
08:24
а если из питона - то нет
 
08:25
а, тогда пересохрани МО в вебе
 
08:26
дык теряется смысл питона :-(
 
08:26
я импорчу тоже питоном, дискавери отработает, но позже
08:26
а почему так, хз
 
08:28
раньше работало нормально... (в версии от сентября 2014)
 
08:31
TSergey: научи как пулреквесты делать плиз
 
08:31
ща
08:32
08:32
я делаю по вот этим своим запискам :)
08:33
там есть некоторый изврат, но дефолт сильно отличался ои девелопа и поэтому там несколько окольный путь
08:33
Night_Snake1: спрашивай, отвечу
08:33
1 форк
08:34
2 ищем файл в форкнутом репо
08:34
3. правим
08:34
4 апрувим в своем репо
08:35
5 делаем пуллреквест в общий девелоп
08:35
6 форкнутый репо удаляем
08:36
комрады, у кого какая цифра в Discovery Jobs Statuses\Wait? у меня 10 188
08:40
на 1000 МО
 
08:44
Discovery Jobs Statuses
08:44
Wait (Late)	49 318
08:44
Wait	28 206
08:44
Suspend	2 086
08:44
Disabled	1 881
08:44
Run	71
 
08:45
ну так и сеть у меня на порядок больше
 
08:45
у меня портов почти астрономическая цифра
 
08:50
TSergey: после создания МО из питона, надо запустить DiscoveryJob.apply_object_jobs(o)
 
08:50
ух ты
08:50
спасиб
08:52
DiscoveryJob откуда импортишь?
 
08:53
from noc.inv.models.discoveryjob import DiscoveryJob
 
08:54
teroni: а покажи как добавляешь сегмент ALL
 
08:55
извращенно
08:55
у меня есть готовый объект в МО DiscoverPass1
08:55
m=ManagedObject.objects.filter(name="DiscoverPass1")[0]
08:55
mseg=m.segment.id
08:56
можно вообще делать клон данного МО если хочется
 
08:56
неспортивно
08:57
мой добавляльщик сейчас и вовсе в ауте из-за импортов
 
08:59
ну можно в базе сегментов поискать..
08:59
хотя можно вообще ни чего не писать - оно и так сохраняет
 
09:22
from noc.inv.models.networksegment import NetworkSegment
09:22
ns = NetworkSegment.objects.filter(name="ALL").first()
09:23
що тут щукати?
 
09:27
я только не понял зачем обязательно NetworkSegment заполнять в вебе
 
09:33
evyscr: так прокатит? segment=NetworkSegment.objects.get(name="ALL")
 
09:34
починил csv-import managed object'ов
 
09:34
TSergey: ну проверь в ./noc shell
 
09:36
неохота было, а новых под рукой нет
09:36
ну ща сделаю
 
09:37
в смысле новых?
09:38
тебя ж кусок интересует, его и проверь
 
09:41
да вопрос как его съедает ManagedObject()
09:42
нужен ли ему id
09:42
"u'ALL' is not a valid ObjectId, it must be a 12-byte input of type 'str' or a 24-character hex string"
09:43
вот так берет:
09:43
segment=NetworkSegment.objects.get(name="ALL").id
 
09:45
first() -обязательно там массив
 
09:48
:)
09:49
если фильтр, то массив, если гет, то объект
 
09:49
аа слепая ... тетеря
 
10:01
у кого-нибудь ещё noc-activator зависает? последний отработанный скрипт eneric.get_interface_status_ex - Stopping. Cancelled. Если noc-launcher-у сказать стоп, то активатор остаётся висеть в списке процессов
 
10:09
есть такая бага.
10:09
смотри в логи дискавери. тама зависат процесси ifindex
10:09
во всяком случае у меня
 
10:11
дискавери делает вид, что продолжает работать.
 
10:21
в каких логах видно "покраску" интерфейсов?
 
10:21
это расстановку профилей?
10:21
или что-то еще?
 
10:22
в моем пируле, в noc-scheduler
10:23
но у меня в пимруле есть:
10:23
logging.info("[pyrule.set_interfaces_profile] set interface.profile %s '%s'->'%s'" % (i, current_profile_name, new_profile_name))
10:23
*в пируле
10:39
а что у нас сейчас с удалением МО? достаточно удалить из интерфейса?
 
10:41
 /noc wipe managed_object 10.64.104.104
 
10:43
ты этим намекаешь, что недостаточно удалить из веба? :)
 
10:43
так надёжнее.
10:43
оно же ещё и вычищается эвенты и тд.
 
10:45
так в интерфейсе я его уже удалил
 
10:45
ну что скажу. поздняк метаться
 
10:45
и не было у него ноковской жизни
 
10:45
тогда ничег ои не осталось. наверное.
10:45
я давно не удаляю ничего из веба
 
11:07
Как расстановку железок на карте сбросить?
11:07
Например db.noc.mapsettings.drop() &
11:07
?
 
11:08
jxtym gj[j;t
11:08
очень похоже
11:08
сперва глянь что там
 
11:09
{ "_id" : ObjectId("559a43e04a5e68022d98d546"), "segment" : "55952d924a5e680fbd4e8e87", "changed" : ISODate("2015-07-15T13:02:27.548Z"), "width" : 287.76666259765625, "height" : 265.3833312988281, "nodes" : [ { "type" : "managedobject", "id" : "1", "x" : 0, "y" : 217.78797561222393 }, { "type" :
11:09
 "managedobject", "id" : "2", "x" : 141.1914842086233, "y" : 0 }, { "type" : "managedobject", "id" : "3", "x" : 210, "y" : 110 }, { "type" : "managedobject", "id" : "4", "x" : 70, "y" : 210 }, { "type" : "managedobject", "id" : "5", "x" : 30, "y" : 10 }, { "type" : "managedobject", "id" : "6", "x" : 30,
11:09
 "y" : 80 }, { "type" : "managedobject", "id" : "7", "x" : 40, "y" : 150 } ], "links" : [ ], "user" : "admin" }
11:09
{ "_id" : ObjectId("55a6811e4a5e684d37a6464e"), "segment" : "55a681054a5e684d37a6464d", "changed" : ISODate("2015-07-15T18:49:50.138Z"), "width" : 0, "height" : 0, "nodes" : [ ], "links" : [ ] }
11:09
Вторую запись не понимаю.
11:12
Это, похоже, осколки от удаленного сегмента.
 
11:13
зачем тебе такой изврат? сделай второй нетворк селектор, с другим именем
 
11:16
Зачем плодить одинаковые селекторы только из-за того, что нет кнопки rearrange?
 
11:17
ну чтоб карту получить заново
11:18
пока нет кнопки
 
11:19
А потом их удалять? Та не, это не путь самурая. *CRAZY*
 
11:20
Если я дропну noc.mapsettings - оно не сломается?
 
11:35
ок, тогда так --- конечно дропай, заново заполнится
 
11:36
А, это как раз то, что надо.
 
11:36
действуй
11:36
ты из какого города?
 
11:37
ну так, мало ли :)
11:38
не заморачивайся, дропай
 
11:38
Failed to get data
11:38
Не заполняется снова.
11:41
И чо теперь? Где моя карта?
 
11:44
все, ты же все удалил
 
11:45
Эм. Ты ж сказал, заново заполнится. Я так и думал - карту перегенерит и добавит.
 
11:48
я же сказал, что все сломается, ты не поверил
11:48
перезапускай нок, смотри логи
11:48
чго и где ругается
 
11:48
Я спросил, что сломается.
 
11:49
сделай селектор и пары объектов
11:49
*из пары
 
11:49
Отлично помог, чувак, спасибо тебе.
 
11:49
[14:35] <TSergey> конечно сломается
 
11:50
abyrvalg: Ты сверху вон вставлял данные из монги) Верни обратно)
 
11:51
welcome: смеешься :) там по каждому МО должна быть запись
11:51
abyrvalg: ну в логах-то чего?
 
11:51
welcome: Я ж переспросил, что сломается. Если просто расстановка съедет - это как раз то, что надо.
 
11:52
да поздняк метаться, путь самурая, все дела
11:52
чего в логах-то?
11:53
db.noc.mapsettings.find().count()
11:53
12
11:53
это вряд-ли расстановка, это наверное сегменты
11:54
сегменты открываются?
11:54
у меня их 9, но несколько я удалял, возможно что именно три
 
11:54
TSergey: это как раз сегменты) А в нодах уже МО с координатами)
 
11:58
abyrvalg: попробуй upgrade, может восставновит базу с одним селектором
11:58
abyrvalg: а бэкап ноковский у теяб делается?
 
11:58
Эээ, не.
11:59
Про бэкап не знаю. Я вообще пока не понимаю как оно работает.
 
11:59
ты настоящий самурай
 
12:00
а я попер домой :)
12:00
(экипаж прощается с вами, счастливого полета)
 
12:01
Что такого-то? Все сразу знали все, что-ли?
12:01
Документировано-то все чуть лучше, чем никак.
 
12:02
abyrvalg: ну мы сильно боимся чего-то грохать из баз
12:02
но у каждого свой путь
 
12:03
Мне сие неведомо, и другого способа узнать, кроме как тут спросить - нет.
 
12:03
по новой все установи
 
12:04
чем апргейд тебе не нравится? может есть проверка на пустую базу
 
12:06
Может есть, а может и нет. Вот этим как раз не нравится.
 
12:18
failed to get data было до вчерашних коммитов
 
12:23
>>> from noc.fm.models import *
12:23
>>> ac = AlarmClass.objects.get(name='Network | Link | Link Down')
12:23
>>> alarms = ActiveAlarm.objects.filter(alarm_class=ac)
12:23
>>> for a in alarms:
12:23
...     if a['vars']['ip']=='88.147.128.88':
12:23
...         a.clear_alarm("close")
12:23
...
12:23
Traceback (most recent call last):
12:23
  File "<console>", line 2, in <module>
12:23
  File "/opt/noc/lib/python2.6/site-packages/mongoengine/base/datastructures.py", line 27, in __getitem__
12:23
    value = super(BaseDict, self).__getitem__(key)
12:23
KeyError: 'ip'
 
12:24
и чего?
12:24
ну нет такого ключа
 
12:25
{ "_id" : ObjectId("5497dce6989fcf649ff83faa"), "alarm_class" : ObjectId("52b2e614989fcf63fbe3f9cd"), "discriminator" : "1846e537a1b5d32545c6e4a059e24c4cbb3e29fa", "last_update" : ISODate("2015-03-17T15:00:29Z"), "log" : [ 	{ 	"timestamp" : ISODate("2014-12-22T11:57:10.553Z"), 	"from_status" : "A", 	"to_status" : "A", 	"message" : "Alarm risen from event 5497dce5989fcf6496ebacf5(Network | IP | ARP Moved) by rule 'Network | IP | AR
12:25
vars есть ip
 
12:26
а вот это хз
12:26
что у меня там в алярмах
 
12:26
ну и тут сосалити напрашивается
12:26
проверяй наличие ключа, а уже потом - его значение
 
13:07
e_zombie: что за интерфейсы на фото?
 
13:07
хз. может какой то инфинитибанд
13:08
хотя больще похоже на коаксиал
 
13:12
Карту вернул.
13:12
Расстановка объектов была в nodes : [ ]. Если оттуда все вычистить - расставляет по новой. Если вдруг кому интересно.
 
13:16
На карте присутствует объект с дескрипшном "Wiping! Do not touch!". Когда оно его вайпнуть должно, как понять?
 
13:18
 ./noc fix их выпиливать должен.
13:18
хотя странно что они к тебе туда попали
 
13:21
погодите, в картах есть кнопочка new layout
13:22
она сбрасывает раскладку
13:22
прямо из web
 
13:23
Давно есть? Я сегодня не обновлял.
 
13:39
Да, есть такая кнопочка.
13:41
Любопытное поведение у нее - каждый раз по разному расстановку генерит.
13:41
Интуитивно ожидал, что расстановка после нее будет всегда одинаковой.
 
13:53
abyrvalg: алгоритм с рандомного заполнения начинает
 
13:56
e_zombie:
13:56
./noc fix упешно выпилил wiping объект.
13:56
Только крашится при запуске от рута. Неожиданно было для меня.
 
14:07
e_zombie: ну а что делать
14:07
не будете тестировать feature/microservices, будет вам всем полный pagerless :)
 
14:31
там уже сейчас запуск процессов через supervisord
14:31
по идее должно нормально с systemd заработать
 
14:31
а как юзер вайпнуть ? ./noc wipe users "username"
14:32
а то через веб морду трейс вываливает
 
14:32
users ?
14:33
а, user
 
14:34
 /noc wipe user name
 
14:37
А почему часть линков отдискаверина по stp, а часть - по cdp? По какому быстрее нашлось?
14:37
Ну, в смысле, на одном хосте раньше stp запустился, и потому линки считаются отдискаверенными по stp?
 
14:38
Да, я это и имел ввиду. На разных хостах по разному - это потому что дискаверинг мог вразнобой отработать?
 
14:41
Есть ли какая-либо возможность автоматически заполнять Name MO хостнеймами?
 
14:49
:-D
14:50
14:50
есть такой извращённый способ
14:51
14:51
но надо чтобы snmp было включено
 
14:53
оно крайне глючное. сразу предупреждаю.
14:53
плюс там устаревшая фигня
 
14:54
По второй ссылке - почти network discovery.
 
14:54
:-D
14:54
я с ним ебусь ужо с декабря прошлого года.
 
14:57
и нонр работает ?
14:57
хочу у себя попробовать
 
14:57
есть не просит.
14:57
автодобавление хостов работает стабильно.
14:57
а вот с снмп там есть нюансы.
 
14:58
но если включено то в целом ОК. правда есть там парочка маджикнамберов.
14:58
например если хостнеймы на двух коммутаторах одинаковые то обновится только первый.
14:59
и есть отдельный скрипт который такие вещи вынимает из логов постгресса
14:59
и строит отчёт по которому уже надо переравлять настройки
14:59
а есть ещё один скрипт который по телнету принудительнопытается настроить снмп на железке.
15:00
короче куча костылей.
 
15:00
Пффф. Да это почти готовый продукт. С модульной архитектурой.
 
15:00
но я полностью закрыл проблему добавления новых хостов, прописку хостнейма, включение снмп.
 
15:02
Туда еще фильтры добавить - будет обнаружение как в заббиксе. :)
 
15:02
брррр ф пизду. меня от забикса передёргивает. так как один мудак форсит его установку
 
15:03
А передергивает чего? Что с ним не так?
 
15:03
хихик
15:04
у заббикса хотя бы сейчас все элементы доступны через API?
 
15:04
потому что она НАХЕР не нужен. вот нахрен . графики строятся в какти. а ФМ есть в ноке и даже им никто не пользуется.
 
15:04
а хрен ли ты хотел?
 
15:05
я конечно поставлю забикс, но только для внутреннего использования некоторыми сотрудниками.
 
15:05
а кто-то может просветить, чего сейчас с постгисом и гисом вообще?
 
15:05
а тратиться на эту поебень не хочу.
15:05
нахер выпилили оба
 
15:05
а то я чегот отстал
 
15:05
e_zombie: Ну, это в твоем конкретном случае. Я думал, тебе сам продукт не нравится.
 
15:05
нихрена
15:06
гис есть в инвентори
 
15:06
abyrvalg:  он просто не нужен. фм там не удобный. и на наших объёмах это будет лютый  ..... ...
15:06
зачем мне ещё одна система которая дублирует НОК
 
15:06
у тебя ньет виртуалок?
 
15:07
ноком виртуалки хреново мониторить
 
15:08
ааа в этом плане соглашусь. но у меня их конечное количество и я больше заинтересован в чём то типа Sattelite для них.
15:08
и достаточно небольшое.
 
15:08
их, кажется, у всех конечное количетво-)
15:09
хотя тут вот давеча кляти оракли звонили, по клауды хотели перетереть
 
15:09
фпизду хомячка
15:09
ораклы зло и должны подохнуть
 
15:09
я культурней ответил
 
15:10
у меня приоритет сейчас - сеть передачи и Б2Б сегмент.
15:10
там полнейший кавардак.
15:10
и анархия.
 
15:11
Вопрос не в тему немного - какое количество tcp retransmission допустимо на l2 канале? С учетом того, что я канал не продаю, а покупаю.
 
15:11
как прописано в договоре, видимо
 
15:11
а с б2б-то какие проблемы ? все ровно жеж
 
15:12
evyscr: Там только доступность и время восстановления.
 
15:12
а чо про доступность?
 
15:13
ufir: ну как бы тебе сказать. у меня лично около 100 коммутаторов Б2Б не управляются из нока так как нет от них паролей в ноке. админы областные не прислали. и ни один порт там не подписан. во что это выливается - догадайся с трёх раз.
 
15:13
а. ну просто у меня все подписано, расписано, разрисовано и задокументировано в википедиии
 
15:13
ну и вписывай в эти проценты
15:14
вылезешь за 0.1 - ругайся
15:14
ufir: блджад, ну зачем называть медиавики педивикией?
 
15:15
Да ну. Ящетаю, что их вообще быть не должно. Ну и кроме того, доступность в это время есть, но качество связи просто ужасное.
 
15:15
evyscr да мне пофигу так-то, как привык так и называю
 
15:16
ufir: смотри, кто-нить привыкнет называть тебя нехорошим словом-)
 
15:16
так я и пиздюлину могу отвесить же
 
15:17
Вычислить по айпи. :)
 
15:17
конечно ;) классика
 
15:18
abyrvalg: ретрансмишн можно рассматривать как лост
 
15:19
Хм. Вариант. Осталось придумать, как их посчитать.
 
15:23
это ж сколько времени до релиза пройдёт...
 
15:31
ужас но да
15:32
ладно коллеги. я вас покидаю. пойду смотреть на плёночное творчество коллег фотографов
 
15:50
<class 'noc.sa.interfaces.base.InterfaceTypeError'> DictParameter: {'mac': '00:04:7A:09:D9:40', 'type': 'D', 'interfaces': ['seq_no:0'], 'vlan_id': 10}. Invalid value for 'interfaces': Invalid interface 'seq_no:0'
15:50
Такое уже было у кого-то?
15:56
Каталиста этот seq_no:0 вместо интерфейса сообщает.
16:02
А, не , нифига, вот как она возвращает:
16:02
  10    0004.7a09.d940    DYNAMIC     Gi1/0/25   seq_no:0
16:02
  10    0004.7a09.e000    DYNAMIC     Gi1/0/26   seq_no:0
16:02
  10    0004.7a0d.8fc0    DYNAMIC     Gi1/0/27   seq_no:0
 
16:04
срезать нужно этот хлам
 
16:05
Мне в каталисте или тебе в парсере? Или, лучше и там и там...
 
    Share this page
    Share this page: