All streams
Search
Write a publication
Pull to refresh

Comments 24

Довольно часто об этом говорю, и тут опять к месту: Штука для одменов, которые одменели 25 лет винду и тут нагрянуло импортозамещение)

Повторил Ваш запрос. Мне БЯМ выдала, что все корректно, странно. Я изучу документацию, вполне допускаю подобного рода ошибку.

В network_analysis.sh на всех моих машинах в пункте 2 bash выдаёт
awk: cmd. line:2: (FILENAME=- FNR=18) fatal: attempt to use scalar `state' as an array

Принял к сведению, вечером погоняю больше тестов, внесу правки. VPS на Ubuntu корректно скрипт воспринимают…

и третий стрипт

line 54: syntax error near unexpected token `;&'
line 54: `if command -v ip &> /dev/null; then'

Там же явно парсер &> съел.

Спасибо, исправлено!

В строке netstat -tunl | awk '/^tcp|^udp/ {state=$6} END { вместо state=$6 должно быть state[$6]++

Строка 54: "if command -v ip &> /dev/null; then"
За экранировалось "&>"

Спасибо, исправлено! Вроде форматировал, недоглядел…

Ещё при выводе форматирование у п.5, ломается, выводится без выравнивания столбцов.
Возможно, такие скрипты имело бы смысл на питоне (перле, ...) писать.
Т.е. обработку вывода netstat и прочего средствами языка, без awk и т.п.
И ошибки обрабатывать удобнее, и возможностей по чистке от мусора/форматированию вывода больше.
Кроме того, ip и некоторые другие тулзы умеют вывод в json или другой машиночитаемый, было б меньше ненадёжных соплей с парсингом текста.

Питон/Перл не везде может быть, в отличие от стандартных linux-утилит.А потом еще несовместимости самих питонов/перлов вылезут - ещё и с этим бороться.

Я солидарен полностью, есть в архиве и на Питоне скрипты со схожим назначением. Просто в некоторых ситуациях необходимо «классическое» решение, без установки дополнительных пакетов.

После ваших команд у меня рам посыпалось

Это как??? Физически?

  1. Статистика сетевых ошибок и отбросов: неправильно вырезается

---------------------------------------
Интерфейс | Ошибки(RX/TX) | Сбросы(RX/TX) |
---------|---------------|--------------|
lo: bytes/ 1263100781/
 eth0: bytes/ 0/
 eth1: bytes/ 10595809052/
 eth2: bytes/ 41060571/
 eth3: bytes/ 0/

Исправил полностью, должно отображаться корректно. Мои пару тестов выдали корректное отображение.

Очень похоже на сгенерированный нейронной.

Если выгрузить все три файла рядом, возникает вопрос - почему io - analyzer, а остальные два - analysis? :)

Изначально скрипты не подразумевались как «комплекс», писались в разное время. Потом, уж так получилось, совместил в небольшую «сборку» скриптов. Я могу поменять, если Вас это смущает.

Спасибо за комментарий! Я сложил их рядышком, тестирую помогут ли они для не очевидных случаев.

Пишите, если потребуется что-то добавить, внесу в статью правки. Готов рассмотреть идеи, если это действительно полезно!

netstat считается устаревшим во многих дистрибутивах, в новых версиях уже используется ss.

Sign up to leave a comment.

Articles