
Andrew
08.12.2016
08:55:18
Велосипед - статические CSV

E_zombie
08.12.2016
08:55:41
ты программист чёль?
только тут программистов нету. а делать дело надо.
и вчера

Google

E_zombie
08.12.2016
08:57:59
и дописать 10 строк в нотификейшенсендер прощечем потратить пол года на борьбу с административной машиной

Andrew
08.12.2016
08:58:20
Пилите Шура, пилите. Они золотые

E_zombie
08.12.2016
08:58:52
у меня безопасники не дадут сделать коннект к ноку из КСПД. шах и мат.
как и расшарить файлы на самбе.

Maxim
08.12.2016
08:59:50
я сделал так, чтобы в ивентах и алармах по дефолту стояла выборка за последние сутки. нужно в общий бранч пул-реквест делать? @freeseacher @dvolodin
или некомильфо

E_zombie
08.12.2016
09:00:02
какая разница между хуем и жизнью - жизнь жёще
в микросервисы пихай.

Maxim
08.12.2016
09:01:48
под последними сутками имею в виду текущий день с 00.00
про микросервисы понятно, но нужно ли оно всем

E_zombie
08.12.2016
09:03:06
пость. это годная идея.

Bitbucket
08.12.2016
09:17:21
Set default date range for events/alarms list ➔
Show alarms and events for only one day by default

Maxim
08.12.2016
09:18:17
не знаю, насколько это красиво с точки зрения extjs программиста

Google

E_zombie
08.12.2016
09:22:43
да я поржал - меня тут спрашивали как мониторить электрикам счетчики через snmp...
кроме как ноком)
а чем нок не угодил?
ну для начала есть готовые программно-апаратные комплексы
пустить козла в огород?) боятся они его слишком сложный, им нужно открыть браузер и ббах - все значения по счетчикам на одном листе

Bitbucket
08.12.2016
09:23:24
Dmitry Volodin pushed to noc/feature/microservices
Maintainance.time_pattern: Additionaly restrict maintainance to the time pattern

Ilya
08.12.2016
09:25:18
https://github.com/xcme/swtoolz
Типа такого.

Andrey
08.12.2016
09:42:20
E_zombie а чем тебя подписка на отчёты не устраивает?
время нельзя выставлять?

E_zombie
08.12.2016
09:49:31
тем что он генерится 10 минут если по всей сети. во вторых проще написать код и поставить его в крон чем каждый раз переделывать\делатьновые веб формы.

Maksim
08.12.2016
09:50:45
походу надо сделать стикер "Будь проклял тот день, когда я сел писать сервисы для Noc" =)

N
08.12.2016
09:50:53
такс, после обновления на прошлой неделе с товером какая-то бага, не выставляется колличество инстансов кореоятора и эскалатора
и соотв не работает фм

E_zombie
08.12.2016
09:51:01
да и вообще я считаю полным маразмом что маил сендер умеет слать почту с атачментами. а нотификейтер это не может. хотя и шлёт через него.
in_speed = IntField(required=False) # Input speed, kbit/s
out_speed = IntField(required=False) # Output speed, kbit/s
bandwidth = IntField(required=False) # Configured bandwidth, kbit/s
как проучить скорость порта ?

Ilya
08.12.2016
09:54:08
плёткой из патчей проучи

Maksim
08.12.2016
09:54:31

E_zombie
08.12.2016
09:54:43
описки по фрейду

Google

Maksim
08.12.2016
09:54:55
тут уже не отмажишься )
легкий BDSM с оборудованием детектед :D

Andrey
08.12.2016
09:55:12

Maksim
08.12.2016
09:56:30
надо сюда бота, который на вопросы отвечал бы )
вот почему у меня логи не логируются. =)
о, научился )

Andrey
08.12.2016
10:02:07
In [1]: from noc.sa.models.managedobject import ManagedObject
In [3]: from noc.inv.models.interface import Interface
In [8]: for iface in Interface.objects.filter(managed_object=ManagedObject.get_by_id(55531)):
...: print("%s: %s/%s" % (iface.name, iface.in_speed, iface.out_speed))
...:
Ethernet1/1: None/None
....
Ethernet1/25: None/None
Ethernet1/26: None/None
Ethernet1/27: None/None
Ethernet1/28: 1000000/1000000
Если нужно для многих MO, то можно пользовать так:
Interface.objects.filter(managed_object__in=mos)
mos=ManagedObject.objects.filter(is_managed=True)

E_zombie
08.12.2016
10:04:46
такс. да. это так и есть

Andrey
08.12.2016
10:04:48
то?

E_zombie
08.12.2016
10:05:04
def humanize_speed(speed):
if not speed:
return "-"
for t, n in [
(1000000, "G"),
(1000, "M"),
(1, "k")
]:
if speed >= t:
if speed // t * t == speed:
return "%d%s" % (speed // t, n)
else:
return "%.2f%s" % (float(speed) / t, n)
return str(speed)

E_zombie
08.12.2016
10:05:30
с нормализацией будет i.humannize_speed(in_speed) ?

Andrey
08.12.2016
10:06:43
print("%s: %s" % (iface.name, iface.status))
вот так будет
...: print("%s: %s" % (iface.name, iface.status))
...:
...:
Ethernet1/1: Down/-/-
Ethernet1/10: Down/-/-
Ethernet1/11: Down/-/-
Ethernet1/12: Down/-/-
Ethernet1/13: Down/-/-
@property
def status(self):
"""
Returns interface status in form of
Up/100/Full
"""
def humanize_speed(speed):
humanize_speed определен внутри status

E_zombie
08.12.2016
10:07:34
потом сплитом резать :(
хотя пойдёт.

Google

E_zombie
08.12.2016
10:07:55
сенкс.

Andrey
08.12.2016
10:07:55
зачем?

E_zombie
08.12.2016
10:08:12
чтобы
fsw-1-30letpobedy-30-032-blk;10.64.193.134;Qtech.QSW2800;QSW-2800-28T-AC;7.0.3.5(R0217.0069);Ethernet1/23;Down/-/-;cust.home;;;
fsw-1-30letpobedy-30-032-blk;10.64.193.134;Qtech.QSW2800;QSW-2800-28T-AC;7.0.3.5(R0217.0069);Ethernet1/24;Down/-/-;cust.home;;;
fsw-1-30letpobedy-30-032-blk;10.64.193.134;Qtech.QSW2800;QSW-2800-28T-AC;7.0.3.5(R0217.0069);Ethernet1/25;Up/1G/Full;net.access;;;10.64.201.152;fsw-3-stepnaya-11-032-blk
fsw-1-30letpobedy-30-032-blk;10.64.193.134;Qtech.QSW2800;QSW-2800-28T-AC;7.0.3.5(R0217.0069);Ethernet1/26;Down/-/-;net.access;;;
fsw-1-30letpobedy-30-032-blk;10.64.193.134;Qtech.QSW2800;QSW-2800-28T-AC;7.0.3.5(R0217.0069);Ethernet1/27;Down/-/-;net.access;;;
ну это уже рюшечки.
поправь нотификейшн :) для атачментов

Admin
ERROR: S client not available

E_zombie
08.12.2016
10:09:13
:)

Andrey
08.12.2016
10:11:50
сомневаюсь, что у меня получится

E_zombie
08.12.2016
10:12:07
там три строчки + условие.

Andrey
08.12.2016
10:12:31
ага и тестирование на полдня

E_zombie
08.12.2016
10:12:47
notificationgroup.py
22 строка.
сюда добавить условие что если приехал тип мейл то
pub(
"mailsender",
{
"address": a,
"subject": self.subject,
"body": "",
"attachments": [{
"filename": self.file_name,
"data": data
}]
}
)

Maksim
08.12.2016
10:14:54
так как умы заняты ) может Андрей подскажет.
есть logger.error, им выдергиваю ошибки.
а какой отвечает просто что бы посмотреть что выводится в запросе.

Andrey
08.12.2016
10:16:20
в плане какой уровень? на просто посмотреть есть debug

Maksim
08.12.2016
10:17:25
эм.

Andrey
08.12.2016
10:18:31
да, подробности есть?

Maksim
08.12.2016
10:19:10
ошибки отлавливать я научился.\

Google

Maksim
08.12.2016
10:19:29
а вот сам запрос req выводить, пока не вдуплил. =) он не выводит ничего зараза.
ошибка выводится в таком формате 2016-12-08 13:17:02,075 [tgsender] [0733d7b34e9f9000] Send message {u'error_code': 400, u'ok': False, u'description': u'Bad Request: chat not found'}

Andrey
08.12.2016
10:26:43
https://github.com/python-telegram-bot/python-telegram-bot/issues/370
https://core.telegram.org/bots#4-how-are-bots-different-from-humans
я бы вот это почитал, поскольку, это ответ приходит от телеграма

Maksim
08.12.2016
10:27:47
=)

Andrey
08.12.2016
10:27:48
и хорошо бы, в лог добавить params
ибо на них он ругается

Maksim
08.12.2016
10:28:03
там все ок, нужно только логи собирать.

Andrey
08.12.2016
10:28:45
дак там ок или ошибка?

Mihai
08.12.2016
10:28:57
hi all

Andrey
08.12.2016
10:29:00
в логах ничего нет, потому что тело запроса пустое приходит

Maksim
08.12.2016
10:29:02
там все ок, мне нужно логировать действия
ошибку отлавливать я научился.

Ivan
08.12.2016
10:29:36
Зомби, ты карту пилишь?

E_zombie
08.12.2016
10:29:45
rfre. d gbple rfhne&

Andrey
08.12.2016
10:29:54
ну вот, и добавь логгирование "Request URL....." "Response..."

E_zombie
08.12.2016
10:29:58
ну не пилю.