
Vitaliy
09.08.2017
12:39:14
вариантов не много. npe = «что-то где-то сломалось»

Aleserche
09.08.2017
12:39:40
ну не совсем строчк, там стектрейс такой красивый с подстановками и все такое

Vitaliy
09.08.2017
12:40:28
ну стектрейс, и что? Реальный источник ошибки не в нём

Марк ☢
09.08.2017
17:59:12

Google

Марк ☢
09.08.2017
17:59:38
Типа аффтар сказал что это чтобы не засирать логи строчка логируется с маленькой вероятностью
Эпичнейший срач в гитхабе был
Чювак не понимал почему такое нельзя делать

Vladimir
09.08.2017
18:11:31
Это называется семплирование

Dmitrii
09.08.2017
18:46:00
Когда трафика дохера то есть смысл
(дохера == миллионы реквестов)
На одной из работ где я работал, так логировали все ошибки бекенда. Потому что если кто-то деплоил хуйню на все 150 инстансов приложения то инстансы просто сами себя клали исходящим трафиком

Марк ☢
09.08.2017
18:48:55
А не софта

Dmitrii
09.08.2017
18:50:48
Какая разница чья задача есть throughput в итоге такой что все пиздой накрывается?

Vladimir
09.08.2017
18:50:49
Если у софта очень жёсткие логи, то может быть и софта
Точнее это задача того кто это ваще может сделать
Журнал быстро дохнет от логов

Google

Vladimir
09.08.2017
18:51:38
Рсислог чуть позже
Но тоже можно убить его

Марк ☢
09.08.2017
18:52:35
И чем логировать тады ?

Sergey
09.08.2017
18:52:43

Марк ☢
09.08.2017
18:53:03
Тогда чем рсислог хуже ? Фсинк выключаешь у него и фперед

Sergey
09.08.2017
18:53:14
я может быть стар и немоден, но по прежнему считаю что софт должен логировать в файлы _сам_

Марк ☢
09.08.2017
18:53:34

here1am
09.08.2017
18:53:42
как по фэншую подсунуть какому-нибудь условному билдботу приватную репу гитхаба?

Марк ☢
09.08.2017
18:53:48
Управление фсинками ага

Sergey
09.08.2017
18:53:57

Марк ☢
09.08.2017
18:54:02
Перенаправление в сеть ага

Sergey
09.08.2017
18:54:42

Марк ☢
09.08.2017
18:54:53

Sergey
09.08.2017
18:55:29
Штэ ?
если тебе надо отправлять лог в сеть, преобразовывать, складывать в кафку, потом еще куда-нибудь в реальном времени - вполне можно заставить rsyslog тейлить файл и делать все эти ништяки

Марк ☢
09.08.2017
18:55:54
Не. Логирование точно нужно централизовать в чото
И кода меньше и проще все

Vladimir
09.08.2017
18:56:44

Марк ☢
09.08.2017
18:57:16

Vladimir
09.08.2017
18:57:33

Google

Sergey
09.08.2017
18:57:44

Марк ☢
09.08.2017
18:57:45

Vladimir
09.08.2017
18:57:46
А там пусть то чем ты там пользуешься это в сеть шьет

Марк ☢
09.08.2017
18:57:59

Vladimir
09.08.2017
18:58:11

Sergey
09.08.2017
18:58:17

Марк ☢
09.08.2017
18:58:30

Vladimir
09.08.2017
18:58:31
Что будет если ты в него шлешь столько данных, что ему поплохело?

Sergey
09.08.2017
18:58:34
с TCP-сокетами сислог-отправитель архитектурно приспособлен уметь в буферизацию, ретраи и т.п.
то есть задача нихуя не решена.

Марк ☢
09.08.2017
18:58:54

Vladimir
09.08.2017
18:59:00

Dmitrii
09.08.2017
18:59:12
А зачем вам гарантированая доставка для логов?

Марк ☢
09.08.2017
18:59:12

Dmitrii
09.08.2017
18:59:22
Это же не WAL для финансов

Марк ☢
09.08.2017
18:59:32

Vladimir
09.08.2017
18:59:34

Sergey
09.08.2017
18:59:44

Vladimir
09.08.2017
18:59:51

Марк ☢
09.08.2017
18:59:53

Google

Dmitrii
09.08.2017
18:59:53

Vladimir
09.08.2017
19:00:06
Но вот чтоб сислог не вешал приложение - нужно

Марк ☢
09.08.2017
19:00:24

pl
09.08.2017
19:00:41
Вешает

Марк ☢
09.08.2017
19:00:43
С удп точно

Vladimir
09.08.2017
19:00:45
И как ?
Кроме ситуации совсем сдохшего железа оно тебе когда нибудь вернёт управление. А сислог может и не вернуть

Sergey
09.08.2017
19:00:47
Пример?
например когда я работал в поисковиках, логи пользователей (и расширенные логи ранжирования) были чуть ли не самым важным что можно было придумать. потеря 0.05% логов уже вызывала вопли со стороны статистики

Dmitrii
09.08.2017
19:01:22

Admin
ERROR: S client not available

Dmitrii
09.08.2017
19:01:26
Это задача приложения

Sergey
09.08.2017
19:01:30
теряла. хз как щас.

Vladimir
09.08.2017
19:01:51

Dmitrii
09.08.2017
19:01:54
Ну слушай, кластер кафки уж явно поустойчивее будет

Sergey
09.08.2017
19:02:20

Марк ☢
09.08.2017
19:02:22

Sergey
09.08.2017
19:02:26
и потом этих сообщений у тебя нет, вообще нигде.

Dmitrii
09.08.2017
19:02:55

here1am
09.08.2017
19:02:58

Dmitrii
09.08.2017
19:03:07
Надо гарантию — кластер рэбита и так далее

Google

Марк ☢
09.08.2017
19:03:16

Sergey
09.08.2017
19:03:18
писать файлы, ротировать и в момент ротации (или позже) аплоадить в хадуп/архивный сторадж по результатам выходило надежнее.

Dmitrii
09.08.2017
19:03:22
Правда там пошардить придется

Sergey
09.08.2017
19:03:25

Dmitrii
09.08.2017
19:03:42
Не кафкой едины

Sergey
09.08.2017
19:04:05
вариантов хватает, я не спорю
но разве это проблема именно приложения - встраиваться в пайплайны обработки событий? приложение должно уметь отправлять в кафку, в хуявку, в хадуп, в реббит, агрегировать это все и отправлять в графит?
IMHO, задача приложения просто выплюнуть все нужные данные туда, где те, кому интересно, могут их подобрать. и приложение должно сразу же забыть о данных после того как выплюнуло.
файл, за которым смотрит кто-то другой подходит здесь отлично.

Dmitrii
09.08.2017
19:05:58
Ну вот например в рэбите можно было бы сбоку подсосаться через фанаут схему
Т.е. насирать можно в один фанаут а дальше раутингом все сделать

Марк ☢
09.08.2017
19:06:24

Sergey
09.08.2017
19:06:43
Посему файл то, епт
он локально, близко, примитивный рабочий интерфейс, не требует НИЧЕГО, кроме файловой системы.

Dmitrii
09.08.2017
19:07:00
Внутри рэббит сам тебе запилит копию сообщения а дальше делай топик и подписывайся на него. Надо гарантию — делай еще уровень через очереди.

Марк ☢
09.08.2017
19:07:09
Пермишшены
И прочая хуита
И да, в линупсе врайты зависают если пейджкеш переполнен

Sergey
09.08.2017
19:08:00
А ротация и фсинки ?
ротация необязательна даже, во многих кейсах можно тупо транкейтить файлы (если объемы единичных write'ов невелики)

Марк ☢
09.08.2017
19:08:24

Dmitrii
09.08.2017
19:08:42
@spuzirev у нас в конторе кластера рэббита вообще на разных материках находятся. Схема фанаутов, топиков и очередей для приложений на этой шине ханимает несколько страниц документации.