Pull to refresh

Comments 17

было бы гораздо полезней, если бы в статье указали откуда берутся все мониторящиеся параметры. в частности, очень интересно, где взять SYN queue и Accept queue, в виде счётчиков для Linux и FreeBSD.
я так понимаю, что эта статья по совместительству — реклама платного продукта (иного уже почти не встретишь), и не озвучивать все детали — осознанный шаг.

accept queue: можно смотреть в netstat/ss для LISTEN сокетов, текущий размер в колонке Recv-Q, лимит в колонке Send-Q, например:


$ ss -lnt
State       Recv-Q Send-Q                                                      Local Address:Port                                                        Peer Address:Port
LISTEN      0      128                                                         192.168.100.1:8012                                                                   *:*

для этого сокета текущий размер = 0, лимит 128

syn queue: насколько я понимаю нельзя посмотреть текущий размер, но при переполнении увеличивается счетчик netstat -st |grep TCPBacklogDrop. Я могу ошибаться, нужно повнимательнее почитать примерно тут

А какую базу вы используете для хранения метрик? По формату оных похоже на prometheus.

Мы используем самописное решение поверх cassandra. В плане метрик и выражений на prometheus похоже, да.

Статья реклама, но благодаря ей я решил таки переделать забикс скрипты по мониторингу сети с bash (парсинг вывода ss и ip) на netlink и сходу нагуглил отличную статью по нему https://habrahabr.ru/post/121254/
Добрый день, будете ли выкладывать ваши скрипты по мониторингу сети на netlink в opensource?
Еще одна распространенная проблема — переполнение таблицы ip_conntrack в linux (используется iptables), в этом случае linux начинает просто отбрасывать пакеты.

Кстати, поэтому лучше не использовать conntrack на серверах под нагрузкой.

Лучше вообще его не использовать если трафик tcp. Условные nginx или haproxy отлично умеют проксировать намного эффективнее, а настройка выглядит намного комфортнее. Если же кто-то печется о создании ограничений, то есть iptables с правилами ACCEPT и DROP никто не отменял.
И за что люди так любят stacked graphs? Их же читать сложно — тонкие полоски постоянно колбаски, и не поймёшь, они становятся тоньше или толще.

Stacked areas позволяют оценить сумму сразу и часто значительные изменения получаются нагляднее. Хотя конечно вкусовщина это все =)

Писатели намеренно вводят в заблуждение по ss и netstat чтоль?
по ss вывели только tcp (-ant), а по netstat всё (-an).
И да, на разных серверах сравнение ss и netstat не всегда дает преимущество ss, иногда совсем наоборот.

Да, это ошибка, но в целом результат будет примерно тот же. К сожалению сейчас нет под рукой сервера с большим количеством соединений.

А кто-нибудь может подсказать как выводить по отдельности входящие и исходящие сокеты в ss?

По-моему никак. Идеологически: нужно взять список своих listen сокетов и про все остальные вычислять, есть ли там хотя бы с одной стороны ваш listen. Если есть — сокет входящий, нет — исходящий

Sign up to leave a comment.