Мониторинг системных ресурсов (htop, top)

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к: навигация, поиск

Содержание

Мониторинг системных ресурсов (htop, top)

1. Подготовка системы

  • Войдите в систему под учетной записью с правами root или пользователя с правами sudo.
  • Убедитесь, что у вас есть доступ к терминалу для мониторинга.

2. Установка инструментов мониторинга

Установка htop

1. Обновите список пакетов:

sudo apt update

2. Установите htop:

sudo apt install htop

Установка дополнительных инструментов

1. Установите дополнительные утилиты мониторинга:

sudo apt install iotop nethogs nload iftop

2. Установите системные утилиты:

sudo apt install sysstat dstat

3. Использование htop

Запуск htop

1. Запустите htop:

htop

2. Запустите htop с правами root для просмотра всех процессов:

sudo htop

Основные функции htop

1. Навигация:

  • Стрелки - перемещение по списку процессов
  • Page Up/Page Down - прокрутка страниц
  • Home/End - переход к началу/концу списка

2. Сортировка процессов:

  • F6 - выбор критерия сортировки
  • F5 - переключение древовидного вида
  • F4 - фильтр процессов

3. Управление процессами:

  • F9 - завершение процесса
  • F7/F8 - изменение приоритета процесса
  • F2 - настройка отображения

Настройка htop

1. Нажмите F2 для входа в настройки 2. Настройте отображение:

  • Columns - выбор колонок
  • Colors - цветовая схема
  • Meters - настройка индикаторов

3. Сохраните настройки:

  • F10 - выход с сохранением

4. Использование top

Запуск top

1. Запустите top:

top

2. Запустите top с обновлением каждые 2 секунды:

top -d 2

3. Запустите top для конкретного пользователя:

top -u username

Основные функции top

1. Интерактивные команды:

  • k - завершить процесс
  • r - изменить приоритет
  • z - переключить цвета
  • c - показать полную команду
  • M - сортировка по памяти
  • P - сортировка по CPU
  • T - сортировка по времени

2. Навигация:

  • Space - обновить немедленно
  • q - выход
  • h - помощь

Настройка top

1. Создайте конфигурационный файл:

nano ~/.toprc

2. Настройте отображение:

Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0
Def	fieldscur=AEHIOQTWKNMbcdfgjplrsuvyXZ
winflags=32569, sortindx=10, maxtasks=0
graph_cpus=2, graph_mems=2
summclr=1, msgsclr=1, headclr=3, taskclr=1

5. Мониторинг CPU

Просмотр информации о CPU

1. Просмотрите информацию о процессоре:

lscpu

2. Просмотрите детальную информацию:

cat /proc/cpuinfo

3. Просмотрите загрузку CPU:

uptime

Мониторинг в реальном времени

1. Запустите htop и нажмите F2 2. Настройте индикаторы CPU:

  • Добавьте CPU индикаторы
  • Настройте цветовую схему
  • Сохраните настройки

Анализ производительности CPU

1. Просмотрите статистику CPU:

vmstat 1 5

2. Просмотрите детальную статистику:

iostat -c 1 5

3. Просмотрите информацию о процессах:

ps aux --sort=-%cpu | head -10

6. Мониторинг памяти

Просмотр информации о памяти

1. Просмотрите общую информацию о памяти:

free -h

2. Просмотрите детальную информацию:

cat /proc/meminfo

3. Просмотрите использование памяти процессами:

ps aux --sort=-%mem | head -10

Мониторинг в htop

1. В htop нажмите F2 2. Настройте индикаторы памяти:

  • Добавьте Mem индикатор
  • Добавьте Swap индикатор
  • Настройте отображение

Анализ использования памяти

1. Просмотрите статистику памяти:

vmstat 1 5

2. Просмотрите детальную статистику:

iostat -m 1 5

3. Просмотрите использование памяти по процессам:

pmap -d $(pgrep process_name)

7. Мониторинг дисков

Просмотр информации о дисках

1. Просмотрите информацию о дисках:

lsblk

2. Просмотрите использование дисков:

df -h

3. Просмотрите использование inode:

df -i

Мониторинг I/O операций

1. Запустите iotop для мониторинга I/O:

sudo iotop

2. Просмотрите статистику I/O:

iostat -x 1 5

3. Просмотрите использование дисков:

sudo iotop -o

Анализ производительности дисков

1. Просмотрите статистику дисков:

iostat -d 1 5

2. Просмотрите детальную информацию:

sudo iotop -a

3. Просмотрите использование дисков по процессам:

sudo iotop -p $(pgrep process_name)

8. Мониторинг сети

Просмотр сетевых интерфейсов

1. Просмотрите сетевые интерфейсы:

ip addr show

2. Просмотрите статистику сети:

ip -s link show

3. Просмотрите активные соединения:

ss -tulpn

Мониторинг сетевого трафика

1. Запустите nethogs для мониторинга трафика по процессам:

sudo nethogs

2. Запустите iftop для мониторинга трафика:

sudo iftop

3. Запустите nload для мониторинга скорости:

nload

Анализ сетевой активности

1. Просмотрите статистику сети:

cat /proc/net/dev

2. Просмотрите активные соединения:

netstat -tulpn

3. Просмотрите трафик по интерфейсам:

iftop -i eth0

9. Дополнительные инструменты мониторинга

Использование dstat

1. Запустите dstat для комплексного мониторинга:

dstat

2. Настройте отображение:

dstat -cdngy

3. Сохраните статистику в файл:

dstat -cdngy --output /tmp/dstat.csv

Использование sar

1. Просмотрите историческую статистику:

sar -u 1 5

2. Просмотрите статистику памяти:

sar -r 1 5

3. Просмотрите статистику дисков:

sar -d 1 5

Создание скриптов мониторинга

1. Создайте скрипт мониторинга:

nano /usr/local/bin/system-monitor.sh

2. Добавьте содержимое:

echo "=== System Information ==="
echo "Hostname: $(hostname)"
echo "Uptime: $(uptime)"
echo "Date: $(date)"
echo "=== CPU Usage ==="
top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1
echo "=== Memory Usage ==="
free -h | grep "Mem:" | awk '{print $3 "/" $2}'
echo "=== Disk Usage ==="
df -h | grep -E '^/dev/'
echo "=== Network Connections ==="
ss -tulpn | wc -l
echo "=== Top Processes by CPU ==="
ps aux --sort=-%cpu | head -5
echo "=== Top Processes by Memory ==="
ps aux --sort=-%mem | head -5

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/system-monitor.sh

10. Настройка автоматического мониторинга

Настройка cron задач

1. Откройте crontab:

sudo crontab -e

2. Добавьте задачи мониторинга:

*/5 * * * * /usr/local/bin/system-monitor.sh >> /var/log/system-monitor.log
0 0 * * * find /var/log -name "*.log" -mtime +7 -delete

Настройка алертов

1. Создайте скрипт алертов:

nano /usr/local/bin/alert-monitor.sh

2. Добавьте содержимое:

CPU_USAGE=$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)
if (( $(echo "$CPU_USAGE > 80" | bc -l) )); then
echo "ALERT: High CPU usage: $CPU_USAGE%" | mail -s "CPU Alert" admin@example.com
fi
MEM_USAGE=$(free | grep Mem | awk '{printf "%.2f", $3/$2 * 100.0}')
if (( $(echo "$MEM_USAGE > 80" | bc -l) )); then
echo "ALERT: High memory usage: $MEM_USAGE%" | mail -s "Memory Alert" admin@example.com
fi
DISK_USAGE=$(df / | grep / | awk '{print $5}' | cut -d'%' -f1)
if [ $DISK_USAGE -gt 80 ]; then
echo "ALERT: High disk usage: $DISK_USAGE%" | mail -s "Disk Alert" admin@example.com
fi

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/alert-monitor.sh

4. Добавьте в crontab:

*/10 * * * * /usr/local/bin/alert-monitor.sh

11. Устранение неполадок

Частые проблемы

1. htop не запускается:

  • Проверьте установку:
    which htop
  • Переустановите:
    sudo apt install --reinstall htop

2. Нет прав на просмотр процессов:

  • Запустите с sudo:
    sudo htop
  • Добавьте пользователя в группу:
    sudo usermod -aG adm username

3. Медленная работа htop:

  • Уменьшите частоту обновления: нажмите F2Setup** → Display options** → уменьшите Update delay**

Оптимизация производительности

1. Настройте htop для лучшей производительности:

  • Уменьшите количество отображаемых процессов
  • Отключите ненужные индикаторы
  • Увеличьте интервал обновления

2. Используйте top для быстрого мониторинга:

top -bn1 | head -20

12. Дополнительные возможности

Настройка цветовых схем

1. Создайте пользовательскую цветовую схему:

nano ~/.htoprc

2. Настройте цвета:

fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=1
hide_threads=0
hide_kernel_threads=1
hide_userland_threads=0
shadow_other_users=0
show_thread_names=0
show_program_path=1
highlight_base_name=0
highlight_megabytes=1
highlight_threads=1
tree_view=0
header_margin=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
show_cpu_frequency=0
show_cpu_temperature=0
degree_fahrenheit=0
update_process_names=0
account_guest_in_cpu_meter=0
color_scheme=0
enable_mouse=1

Создание дашборда мониторинга

1. Создайте HTML дашборд:

nano /usr/local/bin/create-dashboard.sh

2. Добавьте содержимое:

\#!/bin/bash

HTML_FILE="/var/www/html/dashboard.html"

cat > $HTML_FILE << 'EOF'
<!DOCTYPE html>
<html>
<head>
    <title>System Monitor Dashboard</title>
    <meta http-equiv="refresh" content="5">
    <style>
        body { font-family: Arial, sans-serif; margin: 20px; }
        .metric { background: #f0f0f0; padding: 10px; margin: 10px 0; border-radius: 5px; }
        .high { background: #ffcccc; }
        .medium { background: #ffffcc; }
        .low { background: #ccffcc; }
    </style>
</head>
<body>
    <h1>System Monitor Dashboard</h1>
    <div class="metric">
        <h3>CPU Usage</h3>
        <p>$(top -bn1 | grep "Cpu(s)" | awk '{print $2}' | cut -d'%' -f1)%</p>
    </div>
    <div class="metric">
        <h3>Memory Usage</h3>
        <p>$(free -h | grep "Mem:" | awk '{print $3 "/" $2}')</p>
    </div>
    <div class="metric">
        <h3>Disk Usage</h3>
        <p>$(df -h / | grep / | awk '{print $5}')</p>
    </div>
    <div class="metric">
        <h3>Uptime</h3>
        <p>$(uptime)</p>
    </div>
</body>
</html>
EOF

echo "Dashboard created at $HTML_FILE"

3. Сделайте скрипт исполняемым:

sudo chmod +x /usr/local/bin/create-dashboard.sh

Заключение

Система мониторинга настроена! Теперь вы можете эффективно отслеживать производительность сервера.

Для размещения ваших проектов с настроенным мониторингом на надежном хостинге рекомендуем воспользоваться услугами [ARK-HOSTER.RU](https://ark-hoster.ru):

Наши специалисты помогут с настройкой мониторинга и оптимизацией производительности вашего сервера!