@nocproject

Страница 1933 из 2357
E_zombie
26.03.2018
08:40:38




Victor
26.03.2018
08:41:34
Andrey
26.03.2018
08:41:47
это плохо, да

Google
Andrey
26.03.2018
08:42:00
лучше Failed

E_zombie
26.03.2018
08:42:22
нехост живой. всё норм.

но никаких эвентов нет по нему.

уже и пересохранял и включал выключал.

не помогает.

Andrey
26.03.2018
08:43:33
E_zombie
26.03.2018
08:43:41
эвентов.

должно быть хотябы пинг ап один

или я просто туплю .

Andrey
26.03.2018
08:45:07
должно быть хотябы пинг ап один
не должен. По умолчанию считает что хост в апе

Ivan
26.03.2018
08:49:10




надо не только алармы почистить, но ещё и ивенты?

Google
Ivan
26.03.2018
08:54:44
а нельзя? люблю смотреть, что там перед ошибкой

можно дебаг не тыкать

ошибка-то не в принте, а в закрытии

Andrey
26.03.2018
09:00:22
а нельзя? люблю смотреть, что там перед ошибкой
я же скидывал как уже это решать. Надо вычищать аварий через delete

Andrey
26.03.2018
09:01:02
он закрывает аварию

Ivan
26.03.2018
09:01:17
Вот тут два цикла, так?

Ilya
26.03.2018
09:01:22
Maintenance, etc

Andrey
26.03.2018
09:01:32
А как же связи?
человек вычистил MO из базы

Ilya
26.03.2018
09:01:38
А, ясно

Andrey
26.03.2018
09:01:39
очевидно, что связи стали битые

Ivan
26.03.2018
09:02:34
человек вычистил MO из базы
надо чистилку обучить всё подчищать. Или ввести закрытие алармов по длительности.

не важно в данный момент

Andrey
26.03.2018
09:02:52
for aa in ActiveAlarm.objects.filter(managed_object__exists=False) a.delete()

надо чистилку обучить всё подчищать. Или ввести закрытие алармов по длительности.
ты не можешь ничего сделать с объектом у которого битая ссылка

будешь получать трейс на всё

Google
Ivan
26.03.2018
09:03:28
@aversant ты видишь, на картинке этот цикл есть, он тоже исполняется.

я туплю?

Andrey
26.03.2018
09:05:19
@aversant ты видишь, на картинке этот цикл есть, он тоже исполняется.
ты увидел юань на дороге, поскольку ты мнительный человек - привязал к нему верёвочку, пошёл и спрятался за кусты

твой более продвинутый альтер пошёл, увидел этот юань, отрезал верёвочку и пошёл дальше

вот если ты сейчас потяешь за верёвочку - то что получишь ?

ощущаю, что ничего, ибо юань уже отрезал твой альтер эго, который шёл за тобой

alarms - это твои ниточки

ты вначае положил их, и следующим шагом удалил их

т.е. в базе удалил, а у тебя они остались до завершения сеанса

и ты получаешь по ним ту же ошибку

обнови alarms

ибо ты возишься с тем, чего нет

Ivan
26.03.2018
09:09:13
Ivan
26.03.2018
09:09:27
Andrey
26.03.2018
09:09:30
на основе данных БД создаётся переменная

она уже лежит в памяти процесса

ибо база где-то там, я процесс питона у тебя

Ivan
26.03.2018
09:10:23
Допустим. Первый цикл выполнился, если я падаю на втором. Значит фактически он удалил ненужное, так? почему птогда при втором проходе я снова падаю там же?

Google
Andrey
26.03.2018
09:10:42
потому что ты обновил данные в базе

а данные в переменной alarms остались те же

а как?
alarms =

Ivan
26.03.2018
09:12:04
а данные в переменной alarms остались те же
она каждый раз заново же считается. Вот смотри:

delta=172800 time_brd = datetime.datetime.now() - datetime.timedelta(seconds=delta) alarms = ActiveAlarm.objects.filter(timestamp__lt=time_brd) #print alarms for aa in ActiveAlarm.objects.filter(managed_object__exists=False): aa.delete() for a in alarms: print a print a.managed_object a.clear_alarm("close")

Andrey
26.03.2018
09:12:26
она каждый раз заново же считается. Вот смотри:
она прочиталась в момент присвоения

alarms =

до момента следующего присвоения оно там лежит

в случае же фильтра у тебя кэш работает

т.е. считалось первые там 5 объектов

Ivan
26.03.2018
09:13:34
alarms = "" alarms = ActiveAlarm.objects.filter(timestamp__lt=time_brd) так норм будет?

Andrey
26.03.2018
09:13:35
но тебе этого хватит) чтобы нарваться на трейс

alarms = "" alarms = ActiveAlarm.objects.filter(timestamp__lt=time_brd) так норм будет?
достаточно повторить вторую строчку

Ivan
26.03.2018
09:14:40
достаточно повторить вторую строчку
ок. Это — py файл, который я выполняю как обно целое из кастомных команд, в виде ./noc clear_old_alarms

Andrey
26.03.2018
09:14:56
он тоже породит процесс питона

со всеми вытекающими

Ivan
26.03.2018
09:15:35
просто я понимаю, когда кеш остаётся, если я работаю в шелле. Но вот при каждом новом запуске?

Andrey
26.03.2018
09:18:07
timedelta(seconds=delta) тут можно минуты указывать или часы

Ivan
26.03.2018
09:18:33
Это хорошо, кстати! +)

Google
Ivan
26.03.2018
09:18:54
но всё ещё не работает.

Andrey
26.03.2018
09:18:56
и каждый раз он вываливается в этой части?

Ivan
26.03.2018
09:19:00
Ага

Andrey
26.03.2018
09:19:46
Ага
точно?

Ivan
26.03.2018
09:19:49
И идёт он вот сюда:



Andrey
26.03.2018
09:19:58
прямо 5 раз другд за другом ?

Ivan
26.03.2018
09:20:43
давай я ивенты тоже так почищу?

у которых нет МО

он же на event ругается, а не на alarm

Andrey
26.03.2018
09:22:50
а, вижу.....

у тебя там 2 части которые делают разные вещи

a.clear_event=None a.save() в цикл добавь

Ivan
26.03.2018
09:30:21
a.clear_event=None a.save() в цикл добавь
алармы тоже сохранять можно?

Andrey
26.03.2018
09:30:48
Ivan
26.03.2018
09:35:02


пойду от обратного, буду чистить алармы только для существующих МО

А в крон только хэндлеры пока можно?

Dmitry
26.03.2018
10:05:40
а что еще?

Ivan
26.03.2018
10:24:39
Да вот свои командочки из кастом-коммандс например

Страница 1933 из 2357