White_Alex Опубликовано 19 июня, 2009 · Жалоба Дмитрий, а давайте еще пару правил для лога дибилинков добавим: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port UP SYSLOG ## class DLink_DES35xx_Port_UP_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port UP SYSLOG" event_class=LinkUp preference=1000 patterns=[ (r"^profile$",r"^DLink\.DES3xxx$"), (r"^source$",r"^syslog$"), (r"^message$",r"INFO: Port .* link up"), ] и тоже самое на порт down: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port Down SYSLOG ## class DLink_DES35xx_Port_Down_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port Down SYSLOG" event_class=LinkDown preference=1000 patterns=[ (r"^source$",r"^syslog$"), (r"^profile$",r"^DLink\.DES3xxx$"), (r"^message$",r"INFO: Port .* link down"), ] Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 июня, 2009 · Жалоба Дмитрий, а давайте еще пару правил для лога дибилинков добавим: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port UP SYSLOG ## class DLink_DES35xx_Port_UP_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port UP SYSLOG" event_class=LinkUp preference=1000 patterns=[ (r"^profile$",r"^DLink\.DES3xxx$"), (r"^source$",r"^syslog$"), (r"^message$",r"INFO: Port .* link up"), ] и тоже самое на порт down: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port Down SYSLOG ## class DLink_DES35xx_Port_Down_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port Down SYSLOG" event_class=LinkDown preference=1000 patterns=[ (r"^source$",r"^syslog$"), (r"^profile$",r"^DLink\.DES3xxx$"), (r"^message$",r"INFO: Port .* link down"), ] Надо еще имя интерфейса извлечь. Может быть (r"^message$",r"INFO: Port (?P<interface>\S+) link down"), ? Так матчится? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Huko Опубликовано 19 июня, 2009 · Жалоба Какое правило получилось? (Там рядом с правилом ссылочка Python)мне вполне хватило этого: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## Link Down (Zyxel) ## class Link_Down_Zyxel__Rule(ClassificationRule): name="Link Down (Zyxel)" event_class=LinkDown preference=1000 patterns=[ (r"^source$",r"^SNMP Trap$"), (r"^1\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0$",r"^1\.3\.6\.1\.6\.3\.1\.1\.5\.3$"), (r"^profile$",r"^Zyxel\.ZyNOS$"), (r"^SNMPv2-MIB::snmpTrapOID\.0$",r"^IF-MIB::linkDown$"), (r"^RFC1213-MIB::ifIndex\.\d+$",r"(?P<interface>.*)"), ] и этого: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## Link Up (Zyxel) ## class Link_Up_Zyxel__Rule(ClassificationRule): name="Link Up (Zyxel)" event_class=LinkUp preference=1000 patterns=[ (r"^SNMPv2-MIB::snmpTrapOID\.0$",r"^IF-MIB::linkUp$"), (r"^profile$",r"^Zyxel\.ZyNOS$"), (r"^1\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0$",r"^1\.3\.6\.1\.6\.3\.1\.1\.5\.4$"), (r"^source$",r"^SNMP Trap$"), (r"^RFC1213-MIB::ifIndex\.\d+$",r"(?P<interface>.*)"), ] все работает и кореллятор отрабатывает. но повторюсь, что я доливал еще штук 7 всяких MIB'ов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Huko Опубликовано 19 июня, 2009 (изменено) · Жалоба Вот еще трап с циски не отловился (2610XM, 12.4) : ps хотя может это из-за того что я его ручками через shutdown положил. Изменено 19 июня, 2009 пользователем Huko Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 июня, 2009 · Жалоба Засунули в базу 280 свичей одинаковых практически. Попытался сделать матричный отчет по get_version - выдало минуты через три fail. Что смотреть, что крутить? С последними апдейтами работает гораздо веселее, поправили несколько ошибок и подкрутили таймауты Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mikevlz Опубликовано 20 июня, 2009 · Жалоба при наличии local/sa/profiles/DLink/* отказалось напрочь синхронизироваться (post-update)Где именно обламывается? Обламывалось с плачем "нету у меня профиля DLink, а должен быть, куда дели сволочи?" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 (изменено) · Жалоба Надо еще имя интерфейса извлечь.Может быть (r"^message$",r"INFO: Port (?P<interface>\S+) link down"), ? Так матчится? да, проверил - все отлично, в таком виде зело красивее:-) Изменено 22 июня, 2009 пользователем White_Alex Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Надо еще имя интерфейса извлечь.Может быть (r"^message$",r"INFO: Port (?P<interface>\S+) link down"), ? Так матчится? да, проверил - все отлично, в таком виде зело красивее:-) Как выглядят правила в окончательном варианте? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Какое правило получилось? (Там рядом с правилом ссылочка Python)мне вполне хватило этого: from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## Link Down (Zyxel) ## class Link_Down_Zyxel__Rule(ClassificationRule): name="Link Down (Zyxel)" event_class=LinkDown preference=1000 patterns=[ (r"^source$",r"^SNMP Trap$"), (r"^1\.3\.6\.1\.6\.3\.1\.1\.4\.1\.0$",r"^1\.3\.6\.1\.6\.3\.1\.1\.5\.3$"), (r"^profile$",r"^Zyxel\.ZyNOS$"), (r"^SNMPv2-MIB::snmpTrapOID\.0$",r"^IF-MIB::linkDown$"), (r"^RFC1213-MIB::ifIndex\.\d+$",r"(?P<interface>.*)"), ] В принципе эти трапы должны матчиться правилами Cisco.IOS Link Up SNMP и Cisco.IOS Link Down SNMP, там такой же набор масок Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 · Жалоба Как выглядят правила в окончательном варианте? from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port Down SYSLOG ## class DLink_DES35xx_Port_Down_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port Down SYSLOG" event_class=LinkDown preference=1000 patterns=[ (r"^source$",r"^syslog$"), (r"^profile$",r"^DLink\.DES3xxx$"), (r"^message$",r"INFO: Port (?P<interface>\S+) link down"), ] и второе from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port UP SYSLOG ## class DLink_DES35xx_Port_UP_SYSLOG_Rule(ClassificationRule): name="DLink.DES35xx Port UP SYSLOG" event_class=LinkUp preference=1000 patterns=[ (r"^profile$",r"^DLink\.DES3xxx$"), (r"^source$",r"^syslog$"), (r"^message$",r"INFO: Port (?P<interface>\S+) link up"), ] Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 · Жалоба Дмитрий, тут с коррелятором что-то я сломал, это вылезло после манипуляция с правилами для Д-линков, я так понимаю он не смог правильно определить соответствие одного другому и просто валистя вот с таким трейсом: ERROR UNHANDLED EXCEPTION (2009-06-22 13:50:07.751715) Working directory: /opt/noc <type 'exceptions.KeyError'> u'interface' START OF TRACEBACK ------------------------------------------------------------------------ File: scripts/../../noc/lib/daemon.py (Line: 165) Function: start 158 ## "start" command handler 159 ## 160 def start(self): 161 # Daemonize 162 if self.options.daemonize: 163 self.become_daemon() 164 try: 165 ==> self.run() 166 except KeyboardInterrupt: 167 pass 168 except: 169 error_report() 170 ## 171 ## "stop" command handler Variables: self = <noc.fm.correlator.Correlator object at 0xb7df0a8c> ------------------------------------------------------------------------ File: ./scripts/../../noc/fm/correlator.py (Line: 190) Function: run 183 "event_id" : str(e.id), 184 "timestamp" : "%04d-%02d-%02d %02d:%02d:%02d"%(ts.year,ts.month,ts.day,ts.hour,ts.minu te,ts.second), 185 "managed_object_id" : str(e.managed_object.id), 186 } 187 vars=dict([(d.key,d.value) for d in e.eventdata_set.all()]) 188 # Try to correlate events 189 for r in self.ec_to_rule[event_class_id]: 190 ==> for e_id,action in r.correlate(self.cursor,event,vars): 191 if action=="C": 192 # Close event 193 ce=Event.objects.get(id=e_id) 194 if ce.status=="A": 195 ce.close_event("Event closed by event %d (Correlation rule: %s)"%(e.id,r.name)) 196 logging.debug("Event %d closed by event %d (Correlation rule: %s)"%(e_id,e.id,r.na me)) Variables: e = <Event: Event #13144476: Link Down: > d = <EventData: EventData object> vars = {u'profile': u'DLink.DES3xxx', u'source': u'syslog', u'message': u'Jun 22 10:50:03 10.1.31.110 INFO: Port 7 link down', u'severity': u'6', u'facility': u'16'} n_checked = 1 n_closed = 0 self = <noc.fm.correlator.Correlator object at 0xb7df0a8c> INTERVAL = 10 ts = datetime.datetime(2009, 6, 22, 10, 50, 5) t0 = 1245664204.045867 event_class_id = 21 r = <noc.fm.correlator.PairRule object at 0xa77174c> ws = datetime.datetime(2009, 6, 22, 10, 50, 4, 45908) event = {'event_id': '13144476', 'timestamp': '2009-06-22 10:50:05', 'managed_object_id': '129'} last_id = 13144476 ------------------------------------------------------------------------ File: ./scripts/../../noc/fm/correlator.py (Line: 72) Function: correlate 65 pass 66 ## 67 ## Accepts a hash of event parameters 68 ## and a hash of vars 69 ## Returns a list of (event_id,action) 70 ## 71 def correlate(self,cursor,event,vars): 72 ==> cursor.execute(self.exec_statement,[f(event,vars) for f in self.var_map]) 73 return [(x[0],self.action) for x in cursor.fetchall()] 74 ## 75 ## Matches a nearest event of given classes with matching vars 76 ## 77 class PairRule(Rule): 78 def prepare_sql_statement(self,cursor): Variables: cursor = <django.db.backends.util.CursorDebugWrapper object at 0xa2612cc> vars = {u'profile': u'DLink.DES3xxx', u'source': u'syslog', u'message': u'Jun 22 10:50:03 10.1.31.110 INFO: Port 7 link down', u'severity': u'6', u'facility': u'16'} f = <function <lambda> at 0xaa4a7d4> self = <noc.fm.correlator.PairRule object at 0xa77174c> _[1] = ['13144476', '2009-06-22 10:50:05'] event = {'event_id': '13144476', 'timestamp': '2009-06-22 10:50:05', 'managed_object_id': '129'} ------------------------------------------------------------------------ File: ./scripts/../../noc/fm/correlator.py (Line: 87) Function: <lambda> 80 "event_id" : lambda e,v: e["event_id"], 81 "timestamp" : lambda e,v: e["timestamp"] 82 } 83 # Create SQL select 84 stmt="SELECT e.id FROM fm_event e" 85 # Join tables 86 for i,var in enumerate(self.vars): 87 ==> vars["var::%s"%var]=lambda e,v: v[var] 88 stmt+=" JOIN fm_eventdata ed%d ON (e.id=ed%d.event_id)"%(i,i) 89 stmt+=" WHERE " 90 stmt+=" e.id!=${event_id}::int " 91 stmt+=" AND e.timestamp<=${timestamp}::timestamp " 92 # Restrict to window 93 if self.window: Variables: var = u'interface' e = {'event_id': '13144476', 'timestamp': '2009-06-22 10:50:05', 'managed_object_id': '129'} v = {u'profile': u'DLink.DES3xxx', u'source': u'syslog', u'message': u'Jun 22 10:50:03 10.1.31.110 INFO: Port 7 link down', u'severity': u'6', u'facility': u'16'} ------------------------------------------------------------------------ END OF TRACEBACK можно ему как-то сказать, чтоб так сильно не нервничал, а то падает:-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Как выглядят правила в окончательном варианте? from noc.fm.rules.classification import ClassificationRule,Expression,CLOSE_EVENT,DROP_EVENT ## ## DLink.DES35xx Port Down SYSLOG ## class DLink_DES35xx_Port_Down_SYSLOG_Rule(ClassificationRule): .... ] Закоммитил: r1376.Можно вытащить апдейты, появятся правила DLink DES35xx Link Up/Down SYSLOG. Старые правила можно потереть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 · Жалоба Дмитрий, день добрый! еще момент - при логине в noc не супервайзером, который встроенный noc, а обычным юзером с правами например делать все и везде при обновлении страниц с конфигами (в принципе любых страниц) при отображении оно залипает на некоторое время, я так понимаю обрабатывает чего юзеру можно, чего нельзя, если под noc зайти, то этой задержки нет, оно излечимо или это генетика? В последних коммитах (r1364) оптимизировали эти запросы. Проверьте, полегчало ему? PS: Комментарий "Idiotic implementation" там не зря стоял :) да, вроде как полегчало, коммент убойный, как и реализация бывшая до патча:-))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Дмитрий, день добрый!PS: Комментарий "Idiotic implementation" там не зря стоял :) да, вроде как полегчало, коммент убойный, как и реализация бывшая до патча:-))) Я вообще удивляюсь, как оно работало хоть с такой скоростью. Сейчас, по идее, вообще никакого торможения быть не должно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 · Жалоба Я вообще удивляюсь, как оно работало хоть с такой скоростью. Сейчас, по идее, вообще никакого торможения быть не должно. именно так, отзывается вообще без задумчивости Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Уважаемые коллеги, в связи с тем, что мы неимоверно раскормили тему на этом почтенном форуме и в общем потоке можно легко затеряться, предлагаю перенести все обсуждение проекта на специально оборудованный форум forum.nocproject.org :) . Если чьи-то вопросы остались без ответа, продублируйте их, пожалуйста, на новом форуме. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
White_Alex Опубликовано 22 июня, 2009 (изменено) · Жалоба Уважаемые коллеги, в связи с тем, что мы неимоверно раскормили тему на этом почтенном форуме и в общем потоке можно легко затеряться, предлагаю перенести все обсуждение проекта на специально оборудованный форум forum.nocproject.org :) . Если чьи-то вопросы остались без ответа, продублируйте их, пожалуйста, на новом форуме. каптча зачетная, чуть глаза не сломал:-))) ЗЫЖ тут в многостраничной теме достаточно много всяких полезностей накопилось, может попереносим в виде проекта FAQ на официальноый форум, раз он теперь есть? Изменено 22 июня, 2009 пользователем White_Alex Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 · Жалоба Уважаемые коллеги, в связи с тем, что мы неимоверно раскормили тему на этом почтенном форуме и в общем потоке можно легко затеряться, предлагаю перенести все обсуждение проекта на специально оборудованный форум forum.nocproject.org :) . Если чьи-то вопросы остались без ответа, продублируйте их, пожалуйста, на новом форуме. каптча зачетная, чуть глаза не сломал:-))) ЗЫЖ тут в многостраничной теме достаточно много всяких полезностей накопилось, может попереносим в виде проекта FAQ на официальноый форум, раз он теперь есть? Добавил ссылку на главной странице Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 22 июня, 2009 (изменено) · Жалоба Вышел релиз NOC 0.2.5. Изменений достаточно много: RELEASE NOTES Изменено 22 июня, 2009 пользователем dvolodin Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Max P Опубликовано 26 июня, 2009 · Жалоба а поддержка lldp планируется? можно будет дерево сети строить Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 13 июля, 2009 · Жалоба а поддержка lldp планируется? можно будет дерево сети строить Планируется полный набор скриптов для l2 и l3 topology discovery (CDP, LLDP, OSPF/ISIS adjacency etc) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 21 июля, 2009 · Жалоба После месячного перерыва вышла новая версия NOC: NOC 0.2.6. Список изменений достаточно большой. [*]Появился новый демон noc-launcher, который умеет автоматически запускать нужные демоны NOC и перезапускать их в случае падения. В результате упрощается запуск и остановка NOC, так как достаточно запустить только один демон noc-launcher, а также повышается общая надежность. [*]Появилась возможность online-редактирования справочников Reference Books. Теперь их можно использовать как замену электронным таблицам (различные пользовательские таблицы, инвентаризационные ведомости и так далее) [*]Появился полноценный аудит действий пользователя. Все изменения данных протоколируются, журнал событий можно просматривать из web-интерфейса. [*]Появился новый отчет: main.database_summary, в котором видно заполнение таблиц базы данных. [*]Появилась поддержка новых устройств: Edge-Core ES4xxx и Linksys SPS2xx. [*]Теперь активатору можно задать список адресов и портов, на которых нужно слушать SYSLOG/SNMP Trap'ы [*]Появился новый отчет sa.activator_status, который показывает текущий статус всех активаторов. [*]В селекторах объектов появилась возможность дополнительной фильтрации по активатору. [*]Появилась вожможность клонирования правил Post-Processing [*]При открытии/закрытии/переклассификации событий из списка событий перестал сбрасываться фильтр событий Release Notes Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 5 августа, 2009 · Жалоба Вышел NOC 0.2.7. Основные изменения: Профили пользователя Появились профили пользователя, в которых можно самостоятельно менять пользовательские настройки и задавать контактную информацию Гибкая настройка механизма оповещений Механизм оповещений о событиях полностью переработан. Появились шаблоны для определения интервалов времени (Time Patterns) и группы оповещения (Notification Groups). Оповещения рассылаются новым демоном (noc-notifier), которые поддерживает механизм плагинов. В версии 0.2.7 реализована поддержка SMTP и записи в log-файл. Notification Groups в комбинации с Time Pattern'ами дают возможность гибко настроить рассылку оповещений в зависимости от времени суток. Предпочтительный способ получения оповещения может быть настроен пользователем в своем профиле. Обсуждение Time Patterns Обсуждение Notification Groups Доработан noc-launcher Начиная с версии 0.2.7 noc-laucher умеет выставлять UID и GID для запускаемых демонов. Теперь для запуска NOC достаточно прописать в init-script'ах только noc-launcher, который сам будет запускать и перезапускать нужных демонов Автоматическое удаление старых backup'ов Начиная с версии 0.2.7 можно настроить автоматическое удаление старых backup'ов. Обсуждение SSL между SAE и Activator'ами Появилась возможность SSL-шифрования всего обмена данными между SAE и активаторами. Обсуждение Настройка поведения опции pref в RPLS[/url] Появилась возможность изменять способ генерации опции pref в RPSL. Возможны два варианта: pref=localpref и pref=65535-localpref Обсуждение Доработан макрос rack в KB В теге allocation появился дополнительный атрибут "reserved". Появилась возможность помечать место в стойке как зарезервированое, что полезно при планировании установки нового оборудования Прочие доработки Улучшена совместимость с DLink DGS3100, появились новые классы событий и правила классификации, добавлено множество мелких улучшений, исправлено множество мелких ошибок Детали... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 2 сентября, 2009 · Жалоба Вышел NOC 0.3. Релиз содержит множество улучшений и серьезно расширяет функционал: * Появился новый модуль Performance Management, позволяющий контролировать производительность сети и приложений. * Добавлена поддержка 5 новых платформ: Zyxel.ZyNOSv2, HP.iLO2, Cisco.NXOS, Cisco.AireOS, Raisecom.ROS * Появился контроль за сроками окончания делегации доменов * Расширен функционал модулей и повышено общее удобство использования. * Исправлено несколько неприятных ошибок См. RELEASE NOTES Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vadislaus Опубликовано 3 сентября, 2009 · Жалоба Привет всем! Раза три пытался переустановить NOC но вылезает все та-же ошибка при попытке ПОСМОТРЕТЬ/Добавить Managed Objects Система - Gentoo Linux, вроде все, что описано в документации сделал, все модули к перлу поставил. При установке, были грабли, но спасибо dvolodin-у исправил. Да, у меня веб морда к апачу прикручена, в некоторых меню пропадает, такое ощущение CSS. TraceBack: Environment: Request Method: GET Request URL: http://10.39.225.123/admin/sa/managedobject/1/ Django Version: 1.1 Python Version: 2.6.2 Installed Applications: ['django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.admin', 'django.contrib.databrowse', 'south', 'noc.main', 'noc.sa', 'noc.fm', 'noc.pm', 'noc.cm', 'noc.ip', 'noc.vc', 'noc.dns', 'noc.peer', 'noc.kb'] Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.middleware.doc.XViewMiddleware', 'django.middleware.transaction.TransactionMiddleware', 'noc.main.middleware.TLSMiddleware') Traceback: File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response 93. response = callback(request, *callback_args, **callback_kwargs) File "/usr/lib/python2.6/site-packages/django/contrib/admin/sites.py" in root 490. return self.model_page(request, *url.split('/', 2)) File "/usr/lib/python2.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 44. response = view_func(request, *args, **kwargs) File "/usr/lib/python2.6/site-packages/django/contrib/admin/sites.py" in model_page 509. return admin_obj(request, rest_of_url) File "/usr/lib/python2.6/site-packages/django/contrib/admin/options.py" in __call__ 1098. return self.change_view(request, unquote(url)) File "/usr/lib/python2.6/site-packages/django/db/transaction.py" in _commit_on_success 240. res = func(*args, **kw) File "/usr/lib/python2.6/site-packages/django/contrib/admin/options.py" in change_view 809. ModelForm = self.get_form(request, obj) File "/usr/lib/python2.6/site-packages/django/contrib/admin/options.py" in get_form 348. return modelform_factory(self.model, **defaults) File "/usr/lib/python2.6/site-packages/django/forms/models.py" in modelform_factory 443. return ModelFormMetaclass(class_name, (form,), form_class_attrs) File "/usr/lib/python2.6/site-packages/django/forms/models.py" in __new__ 201. opts.exclude, formfield_callback) File "/usr/lib/python2.6/site-packages/django/forms/models.py" in fields_for_model 165. formfield = formfield_callback(f) File "/usr/lib/python2.6/site-packages/django/utils/functional.py" in _curried 55. return _curried_func(*(args+moreargs), **dict(kwargs, **morekwargs)) File "./scripts/../../noc/sa/admin.py" in formfield_for_dbfield 78. return db_field.formfield(**kwargs) File "/usr/lib/python2.6/site-packages/django/db/models/fields/__init__.py" in formfield 433. return super(CharField, self).formfield(**defaults) File "/usr/lib/python2.6/site-packages/django/db/models/fields/__init__.py" in formfield 336. return form_class(**defaults) File "/usr/lib/python2.6/site-packages/django/forms/fields.py" in __init__ 144. super(CharField, self).__init__(*args, **kwargs) Exception Type: TypeError at /admin/sa/managedobject/1/ Exception Value: __init__() got an unexpected keyword argument 'request' Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...