Size: a a a

2020 October 31

G

Gitlab in NOC Project
источник

ID

Iacopo Dalla Verità in NOC Project
Dmitry K.
Its recommend do not delete managed_objects by web interface. Only uncheck is_managed. If you really want to delete object from noc you need to use this method:
cd /opt/noc
./noc wipe managed_object MO_NAME
Ok thanks, i didn't know this thing.

But maybe because our Cisco WLC sending snmp trap to NOC, and NOC it's not able to finding WLC interfaces?
So in this case the allarm not matching with object, correct?
источник

DK

Dmitry K. in NOC Project
Iacopo Dalla Verità
Ok thanks, i didn't know this thing.

But maybe because our Cisco WLC sending snmp trap to NOC, and NOC it's not able to finding WLC interfaces?
So in this case the allarm not matching with object, correct?
I dont think so, in error trace i see that you have some active alarm, and this alarm haven't managed_object key.
I think that you can delete this alarm by shell. But i didn't do it by myself . May be somebody have solution here.
источник

DK

Dmitry K. in NOC Project
You can clear all active alarms by this script
источник

DK

Dmitry K. in NOC Project
Переслано от Ilya Somov
from noc.fm.models import *
from noc.sa.models import *
from noc.fm.models.activealarm  import ActiveAlarm
from noc.core.debug import error_report
from noc.core.mongo.connection import connect
connect()

alarms = ActiveAlarm.objects.filter()
for a in alarms:
   try:
       a.clear_alarm("close")
   except:
       print(error_report())
источник

NA

N A in NOC Project
Aleksey Shirokikh
монорепа с монолитом
На го проект, поэтому контейнеры там не нужны?
источник

DK

Dmitry K. in NOC Project
source /opt/noc/bin/activate
/opt/noc/noc shell
#here script
exit()
deactivate
источник

DV

Dmitry Volodin in NOC Project
гоша, в принципе, ничего
источник

DV

Dmitry Volodin in NOC Project
но ей сильно не хватает макросов нормальных
источник

DV

Dmitry Volodin in NOC Project
и аналога растовского serde
источник

DV

Dmitry Volodin in NOC Project
чтобы сериализацию/десереализацию в compile time делать
источник

DK

Dmitry K. in NOC Project
Iacopo Dalla Verità
there is a fast way for finding this alarms without object?
from noc.fm.models.activealarm  import ActiveAlarm
from noc.core.mongo.connection import connect
connect()


# if you want only check alarms without objects
def print_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           print(active_alarm.id)

def delete_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           active_alarm.delete()

alarms = ActiveAlarm.objects.filter()
print_alarms_without_objects(alarms)

#uncomment string below if you decided to delete alarm
#delete_alarms_without_objects(alarms)
источник

DV

Dmitry Volodin in NOC Project
ActiveAlarm._get_collection().find({"managed_object": {"$exists": False}})
источник

DV

Dmitry Volodin in NOC Project
somethin like this
источник

DK

Dmitry K. in NOC Project
Dmitry Volodin
somethin like this
Дим ты трейс ошибки глянь там в коде ведь проблема ?
источник

DK

Dmitry K. in NOC Project
q = {'severity': {'$exists': True}}
источник

DK

Dmitry K. in NOC Project
Dmitry Volodin
ActiveAlarm._get_collection().find({"managed_object": {"$exists": False}})
Corrected
from noc.fm.models.activealarm  import ActiveAlarm
from noc.core.mongo.connection import connect
connect()


# if you want only check alarms without objects
def print_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           print(active_alarm.id)

def delete_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           active_alarm.delete()

alarms = ActiveAlarm._get_collection().find({"managed_object": {"$exists": False}})
print_alarms_without_objects(alarms)

#uncomment string below if you decided to delete alarm
#delete_alarms_without_objects(alarms)
источник

NA

N A in NOC Project
Dmitry Volodin
и аналога растовского serde
Тут интересен кейс, почему моно сервис, это архитектурная особенность, или докер с кубером слишком сложно содержать по человеко-ресурсам
источник

NA

N A in NOC Project
С го удобно, что скомпилил и один бинарник, который можно просто в систему скопировать, т.к. нет кучи зависимостей, соотв. докер особо не нужен
источник

ID

Iacopo Dalla Verità in NOC Project
Dmitry K.
Corrected
from noc.fm.models.activealarm  import ActiveAlarm
from noc.core.mongo.connection import connect
connect()


# if you want only check alarms without objects
def print_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           print(active_alarm.id)

def delete_alarms_without_objects(alarms):
   for active_alarm in alarms:
       if not active_alarm.managed_object:
           active_alarm.delete()

alarms = ActiveAlarm._get_collection().find({"managed_object": {"$exists": False}})
print_alarms_without_objects(alarms)

#uncomment string below if you decided to delete alarm
#delete_alarms_without_objects(alarms)
Thank you, i'm trying to execute the script
источник