Производительность

История нагрузки сервера: 24 часа, 7 или 30 дней (сбор — раз в 5 минут)

Load Average (1m)
1.51
CPU
5.1%
RAM
31.3%
ESTABLISHED
57
Процессы
3 / 445
На этом периоде показаны средние значения по часам, а не отдельные замеры.
Load Average
CPU
Память
Сеть (KB/s)
Диск I/O (KB/s)
TCP-соединения
Диск и лимиты (%)
MySQL
Процессы в последнем замере 00:40
ПроцессCPU %RAM %
falco 7.4 5.6
mysqld 4.4 7.3
crowdsec 2.6 15.6
apache2 1.4 4.5
fail2ban-server 0.7 17.1
Процессы в момент пика за сутки 11.10 08:20 · load 2.74
ПроцессCPU %RAM %
apache2 18.0 9.3
mysqld 12.8 14.0
clamd 8.9 14.3
falco 6.2 11.0
suricata 2.8 18.4

История нагрузки сервера без Prometheus и Grafana

Команда top отвечает на вопрос о текущей секунде, а спрашивают обычно о прошлой ночи: почему в три часа всё встало и вернулось само. К этому моменту смотреть уже нечего — данные нигде не сохранились. Разворачивать ради одного VPS связку Prometheus и Grafana тоже сомнительно: наблюдающий стек выходит тяжелее наблюдаемого сервера.

Коллектор раз в пять минут дописывает строку в базу, а страница рисует по ней последние сутки. Load average, загрузка CPU и отдельно I/O wait, RAM и swap, приём и передача по сети, чтение и запись диска, число установленных TCP-соединений, процессы, заполнение раздела, inodes и файловые дескрипторы в процентах от лимита, соединения MySQL. Всё на одной странице и в одном масштабе времени, так что совпадения видно глазами.

Читать эти графики стоит парами. Высокий I/O wait при спокойном CPU означает, что сервер ждёт диск, и добавлять процессорных ядер бессмысленно. Swap, который однажды вырос и не вернулся к нулю, говорит, что пик памяти уже случился, даже если сейчас всё выглядит спокойно. Дескрипторы, подошедшие к сотне процентов, — это будущая ошибка too many open files за несколько часов до того, как она произойдёт. А inodes на большинстве серверов кончаются заметно раньше свободного места.