Ответ
Ключевые ресурсы, за которыми я постоянно слежу на серверах:
-
Центральный процессор (CPU):
- Что смотреть: Утилизация (
%user,%system,%iowait), загрузка (load average). Высокийiowaitчасто указывает на проблемы с диском. - Инструменты:
top,htop,mpstat,vmstat,sar. - Пример:
mpstat -P ALL 1показывает утилизацию по каждому ядру каждую секунду.
- Что смотреть: Утилизация (
-
Оперативная память (RAM):
- Что смотреть: Общее использование, свободная память, кэш/buffer, использование swap. Опасный признак — активное использование swap при высокой загрузке RAM.
- Инструменты:
free -h,vmstat,top. - Пример:
free -hдает понятный вывод в гигабайтах.
-
Дисковое пространство и ввод-вывод (Disk I/O):
- Что смотреть: Свободное место на разделах (
/,/var,/home), скорость чтения/записи (IOPS, throughput), время отклика (latency), очередь запросов. - Инструменты:
df -h,iostat,iotop,du -sh. - Пример:
iostat -dx 2показывает статистику по устройствам каждые 2 секунды, включаяawait(среднее время ответа) и%util(процент утилизации).
- Что смотреть: Свободное место на разделах (
-
Сетевая подсистема:
- Что смотреть: Пропускную способность (throughput) на интерфейсах, количество ошибок/сбросов, количество активных соединений, задержку (latency).
- Инструменты:
iftop,nethogs,ss,netstat,ping,traceroute. - Пример:
ss -tulpnпоказывает все слушающие сокеты и связанные с ними процессы.
-
Контекст процесса:
- Что смотреть: Количество запущенных процессов/потоков, использование файловых дескрипторов.
- Инструменты:
ps,lsof,/proc/sys/fs/file-nr. - Пример:
lsof -u <username>илиlsof -p <PID>помогает найти утечки файловых дескрипторов.
Практический подход: Для production-систем я настраиваю сбор метрик по всем этим ресурсам в централизованную систему мониторинга (например, Prometheus с node_exporter) и ставлю алерты на критические пороги (например, disk_usage > 85% или load_average_5m > число_ядер * 2).