Comments 30
Довольно часто об этом говорю, и тут опять к месту: Штука для одменов, которые одменели 25 лет винду и тут нагрянуло импортозамещение)
Похоже вы застряли в 90х )
Для всего есть своя область применения, и уж окна в большинстве своем на порядок выше *nix в количестве и качестве предоставляемых сервисов и процессов. Когда над софтиной крутится не одна сотня колеров учитывая все требования маркетологов и юзабилити, это одно , а когда разрозненное сообщество это другое.
Противостояние Никсов и Окошек, напоминает противостояние спагетти и макарон. Все хорошо но целевая аудитория разная.
скормил первый скрипт дипсик
говорит, что имеется критическая ошибка в анализе dirty pages.
В network_analysis.sh на всех моих машинах в пункте 2 bash выдаёт
awk: cmd. line:2: (FILENAME=- FNR=18) fatal: attempt to use scalar `state' as an array
Принял к сведению, вечером погоняю больше тестов, внесу правки. VPS на Ubuntu корректно скрипт воспринимают…
В строке 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-утилит.А потом еще несовместимости самих питонов/перлов вылезут - ещё и с этим бороться.
Я солидарен полностью, есть в архиве и на Питоне скрипты со схожим назначением. Просто в некоторых ситуациях необходимо «классическое» решение, без установки дополнительных пакетов.
После ваших команд у меня рам посыпалось
Статистика сетевых ошибок и отбросов: неправильно вырезается
---------------------------------------
Интерфейс | Ошибки(RX/TX) | Сбросы(RX/TX) |
---------|---------------|--------------|
lo: bytes/ 1263100781/
eth0: bytes/ 0/
eth1: bytes/ 10595809052/
eth2: bytes/ 41060571/
eth3: bytes/ 0/
Очень похоже на сгенерированный нейронной.
Если выгрузить все три файла рядом, возникает вопрос - почему io - analyzer, а остальные два - analysis? :)
Изначально скрипты не подразумевались как «комплекс», писались в разное время. Потом, уж так получилось, совместил в небольшую «сборку» скриптов. Я могу поменять, если Вас это смущает.
netstat считается устаревшим во многих дистрибутивах, в новых версиях уже используется ss.
Очень полезные скрипты. Позвольте дать совет, желательно вначале скрипта всегда выполнять проверку, что на сервере присутствуют все необходимые для работы скрипта утилиты и если чего-то не хватает сразу об этом сообщить и прервать выполнение. А то можно выполнить скрипт, получить недостоверный результат и не заметить этого.
network_analysis.sh: 43: Syntax error: "(" unexpected (expecting "then")
Сравните, пожалуйста, строку 43 с приведенным в статье:
if [[ "$port" =~ ^(22|80|443|53|25|587|993|995|5432|3306|27017|11211|6379)$ ]];Возможно, при копировании возникла ошибка и скобка затерялась.
Если все корректно, сообщите, пожалуйста, ОС и команду, которой запускаете скрипт.
OS Ubuntu 24.04. Ошибка возникает при запуске "sh network_analysis.sh". Если запускать "bash network_analysis.sh" - ошибки нет. Сразу не проверил...
3 скрипта для диагностики Вашего Linux-сервера