Comments 24
Довольно часто об этом говорю, и тут опять к месту: Штука для одменов, которые одменели 25 лет винду и тут нагрянуло импортозамещение)
скормил первый скрипт дипсик
говорит, что имеется критическая ошибка в анализе 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.
3 скрипта для диагностики Вашего Linux-сервера