@proGO

Страница 833 из 1674
Sergey
05.09.2017
13:11:59
у вас эта информация на блюдечке внутри приложения, но нет, бл*, мы будем отправлять пакеты в ядро, потом вытаскивать их из ядра, переводя девайс в промиск, потом читать, потом считать

bebebe
05.09.2017
13:12:10
ты там укурился штоле?
а как вы догадались? производили впечатлени довольно недалеко человека

Daniel
05.09.2017
13:12:11
да у вас тут рассадник!
у нас, кллега. у нас тут рассадник.

Google
Sergey
05.09.2017
13:12:26
гланды через жопу можно конечно удалять. и это не смертельно.

Nikolay
05.09.2017
13:12:30
если весь - тогда libpcap

и для этого, повторюсь, promisc не нужен, wireshark не в promisc моде работает

bebebe
05.09.2017
13:12:59
переобувочка detected

Nikolay
05.09.2017
13:13:09
а если свой - тогда просто в приложении плюсовать и все, да

Aleksandr
05.09.2017
13:13:17
оно не смертельно, оно идиотично.
почему? если есть задача обрабатывать весь трафик программно? для этого есть ядерный механизм netfilter-queue (NFQUEUE) он дает оверхед порядка 10-30% процентов, это штатный механизм для ситуации когда нужно обработать пакет в user-space

Nikolay
05.09.2017
13:13:53
переобувочка detected
скорей, неадекватность bebebe detected

Alexander
05.09.2017
13:14:18
А еще есть куча приложений по анализу траффика. Нафига все в одном месте-то собирать?

Nikolay
05.09.2017
13:15:21
Aleksandr
05.09.2017
13:15:25
а если свой - тогда просто в приложении плюсовать и все, да
так задача же была http-трафик хоста считать?

Nikolay
05.09.2017
13:15:36
так задача же была http-трафик хоста считать?
так вот я тоже так сначала подумал

а оказалось - только свой

приложения конкретного

Google
Alexander
05.09.2017
13:15:48
Наверняка, мониторинг траффика - это не осноновная задача приложения Сергея. Проще и правильней будет использовать то, что для таких задач и предназначено.

bebebe
05.09.2017
13:16:03
бггггг Николай наконец то начинает одуплять реальность происходящего

Nikolay
05.09.2017
13:16:25
бггггг Николай наконец то начинает одуплять реальность происходящего
извини, но ты местный дурачок, да? прошу прощения, сразу не признал

тогда не буду всерьез воспринимать, спасибо

Daniel
05.09.2017
13:16:53
но, вообще-то, парвильно делать так: http.Serve принимает первым параметром net.Listener net.Listener - это интерфейс, с методом Accept Accept возвращает net.Conn, который тоже интерфейс, с методами Read и Write соответственно, можете нат tcp.Listener сделать свою обертку, которая по Accept будет возвращать еще одну обертку, которая будет считать байты

Sergey
05.09.2017
13:16:55
А еще есть куча приложений по анализу траффика. Нафига все в одном месте-то собирать?
"давайте перемешаем все наши структурированные данные из приложения, а потом героически распарсим".

Aleksandr
05.09.2017
13:17:02
гланды через жопу можно конечно удалять. и это не смертельно.
ну программный DPI как работать будет? как можно сделать TPROXY-endpoint? куча вариантов когда нужно брать пакет в user-space

Alexander
05.09.2017
13:17:12
Sergey
05.09.2017
13:17:58
ну программный DPI как работать будет? как можно сделать TPROXY-endpoint? куча вариантов когда нужно брать пакет в user-space
есть задачи когда нужно - и программный DPI как раз такая задача. есть задачи когда не нужно - и подсчет "сколько байт мое приложение отдало в мир" - такая задача.

Nikolay
05.09.2017
13:18:36
по ссылке выше была простая мидлваря, которая считает байты, в твоем случае можно что-то похожее сделать

Aleksandr
05.09.2017
13:18:41
NFQUEUE как минимум _копирует_ данные из кернелспейс в юзерспейс. это не бесплатно.
так кто утверждает обратное? там фиксированная плата за удобство. чтобы не писать модуль ядра а писать приложения, в том числе на го или любом другом языке

есть задачи когда нужно - и программный DPI как раз такая задача. есть задачи когда не нужно - и подсчет "сколько байт мое приложение отдало в мир" - такая задача.
мое да, но вроде как рубилово началось из-за подсчета всего трафика хоста, и на Колюню прыгнули за libpcap, для такой задачи решение избыточное если не нужен сам пакет, а если нужен то нормальное вполне

Alexander
05.09.2017
13:20:11
В общем, начали с подсчета траффика на порту 80, и дошли до чего-то хорошего, но другого. Топикстартер феерически вопрос спросил изначально :)

Sergey
05.09.2017
13:20:25
можно. и будет работать. но криво.

Google
Aleksandr
05.09.2017
13:21:21
ну это как парсить логи на лету и суммировать значение поля отдельным приложением вместо патча к вебсерверу
конкрентно в данной задаче после упрощающих уточнений автора это не нужно да, но говнили это решение в целом

Nikolay
05.09.2017
13:21:31
лол.
что лол? мониторинг логов не имеет отношения к вебсерверу

не надо смешивать логику

Sergey
05.09.2017
13:21:40
Nikolay
05.09.2017
13:21:58
а при чем тут мониторинг логов?
ты выше предложил патчем к вебсерверу считать что-то по его логам

сорри, но это наркомания

Sergey
05.09.2017
13:22:36
ты выше предложил патчем к вебсерверу считать что-то по его логам
просто для вас вебсервер это что-то "внешнее и незыблемое", а для других людей - такое же приложение как и все остальное.

меж тем http.ListenAndServe() это вебсервер.

Nikolay
05.09.2017
13:23:04
просто для вас вебсервер это что-то "внешнее и незыблемое", а для других людей - такое же приложение как и все остальное.
нет, для меня вебсервер - это приложение, которое сервит веб. Для анализа логов я возьму анализатор логов

Sergey
05.09.2017
13:23:13
а задача не анализировать лог.

Nikolay
05.09.2017
13:23:38
считать сумму колонки в логе - это такой же анализ, как любой другой

и он не имеет отношения к функционалу вебсервера

Sergey
05.09.2017
13:23:51
задача не анализировать лог.

задача - показывать чиселку и складывать ее в прометеус.

эта чиселка занимает в памяти приложения один мьютекс и int64

Aleksandr
05.09.2017
13:24:23
задача - показывать чиселку и складывать ее в прометеус.
ну вы о разном спорите, причем противоречия в ваших утверждениях нет)

Nikolay
05.09.2017
13:24:39
ну и вот, работает у нас nginx. Мы берем его лог, суммируем и пишем в прометей, все верно. Сам nginx мы при этом никак не трогаем.

Google
Nikolay
05.09.2017
13:24:58
вы - да.
рынок - да

Sergey
05.09.2017
13:25:08
рынок - да
боюсь, у нас с вами различные представления о рынке.

Nikolay
05.09.2017
13:25:12
или ты будешь патч в nginx пилить для этого?

сорри, но это треш

Sergey
05.09.2017
13:25:24
"код нджинкса вечен и стабилен"

"патчат ядро только мудаки"

Aleksandr
05.09.2017
13:25:37
ну и вот, работает у нас nginx. Мы берем его лог, суммируем и пишем в прометей, все верно. Сам nginx мы при этом никак не трогаем.
потому что вы не умеете писать к нему расширения, считали бы на лету было бы на порядки быстрее

Aleksandr
05.09.2017
13:26:00
или ты будешь патч в nginx пилить для этого?
расширение, у nginx половина функционала на них

Nikolay
05.09.2017
13:26:01
потому что вы не умеете писать к нему расширения, считали бы на лету было бы на порядки быстрее
умеем, но расширение, скажем, на Lua, не станет компонентом кода вебсервера

это просто сторонний код, который решает какую-то задачу

он не имеет никакого отношения к логике вебсервера в принципе

Aleksandr
05.09.2017
13:26:30
умеем, но расширение, скажем, на Lua, не станет компонентом кода вебсервера
на сях, модуль для nginx на сях, у него куча этих модулей, делайте свой просто

Sergey
05.09.2017
13:26:36
хм, все кроме парсинга HTTP в нджинксе не имеет отношения к вебсерверу

:)

по такой логике

Nikolay
05.09.2017
13:27:14
на сях, модуль для nginx на сях, у него куча этих модулей, делайте свой просто
но так же ни один наркоман делать не будет, чтобы циферки суммировать

Nikolay
05.09.2017
13:27:25
берем ELK - и вся статистика у нас на ладони

или берем прометей и пишем в него сабмиттер - то же самое

Google
Sergey
05.09.2017
13:27:38
ох епт, розовые пони

Nikolay
05.09.2017
13:27:40
причем тут вебсервер вообще?

Aleksandr
05.09.2017
13:28:04
но так же ни один наркоман делать не будет, чтобы циферки суммировать
будет, так и делают, вся реклама и счетчики крутится на подобном, слишком дорого считать в фоне

Nikolay
05.09.2017
13:28:23
Alexander
05.09.2017
13:28:26
Подскажите как можно собирать кол-во входящего и исходящего http траффика в go?
А заголовки TCP/IP пакетов в HTTP траффик входят? А если потом надо будет HTTPS, со всей его бухгалтеририей? Или у нас разные представления о том, что такое траффик?

Aleksandr
05.09.2017
13:28:52
да неправда, в рекламе статистика вообще отдельно считается
вся горячая считается на лету, что-то нереалтаймовое обиливается потом

Nikolay
05.09.2017
13:29:26
расскажите нам
зависит от стека, который используется. В некоторых местах тупо собираются логи и обрабатываются отдельно спарком, например. В других используется ELK, в котором кибана раз в секунду обновляет агрегированную статистику.

Sergey
05.09.2017
13:29:33
вот оно что

Zaur
05.09.2017
13:29:43
ребят, подскажите почему в OSX команда go в консоле ни на что ни как не реагирует? ни ошибок ни компилирования в случае go build my.go

Sergey
05.09.2017
13:29:43
то есть для проекта уровня яндекс-метрики/директа мы считаем статистику в эластике

ок

Nikolay
05.09.2017
13:29:47
в третьих вообще Kafka и на выходе у нее агрегатор, который пишет в прометей

Sergey
05.09.2017
13:29:49
я пожалуй сольюсь нахуй

потому что это фарс

Nikolay
05.09.2017
13:30:19
то есть для проекта уровня яндекс-метрики/директа мы считаем статистику в эластике
какое отношение имеет проект уровня яндекс-метрики к среднерыночному проекту?

Sergey
05.09.2017
13:30:36
Aleksandr
05.09.2017
13:30:51
А заголовки TCP/IP пакетов в HTTP траффик входят? А если потом надо будет HTTPS, со всей его бухгалтеририей? Или у нас разные представления о том, что такое траффик?
тогда бы логично спросить с какого уровня сети надо считать трафик, по-хорошему надо бы с L1-фреймов начать

Nikolay
05.09.2017
13:30:56
>боюсь, у нас с вами различные представления о рынке.
ну да, я боюсь, если ты розовые очки снимешь - вообще еще как удивишься

Страница 833 из 1674