Child pages
  • Автоматическое раскидывание по сегментам

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1.  У нас есть некоторое количество сегментов сети созданных по префиксам. Это удобно тем что ManagedObject с адресом из указанной таблицы префиксов автоматически показывается в нужном сегменте.

  2. Однако есть обратная задача - определить к какому сегменту сети относится данный объект, и выставить ему соотвествующий сегмент.
  3. Поскольку руками перелопачивать тысячи объектов нам не хочется - это можно автоматизировать при помощи noc shell

Пример:

Info
iconfalse
from noc.sa.models import *
from noc.inv.models.networksegment import *
for seg in NetworkSegment.objects.filter() :
    if seg.name[:4]=="net-":
        print seg.name
        for obj in  seg.managed_objects :
            print "\t%s / %s (%s -> %s )" % ( obj.name, obj.address,obj.segment,seg.name )
            if obj.segment != seg:
                obj.segment = seg
                obj.save()

В моем примере расставляются только сегменты чье имя начинается с  "net-". Другие сегменты не являются автоматически-генерируемыми и управляются отдельно.

...