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

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

Load Average (1m)
1.22
CPU
11.8%
RAM
30.8%
ESTABLISHED
92
Процессы
1 / 397
На этом периоде показаны средние значения по часам, а не отдельные замеры.
Load Average
CPU
Память
Сеть (KB/s)
Диск I/O (KB/s)
TCP-соединения
Диск и лимиты (%)
MySQL
Процессы в последнем замере 01:27
ПроцессCPU %RAM %
apache2 13.4 4.7
clamd 9.8 5.3
crowdsec 6.6 9.6
suricata 4.7 0.9
falco 2.6 16.5
Процессы в момент пика за сутки 11.10 08:57 · load 2.00
ПроцессCPU %RAM %
falco 19.5 5.3
mysqld 13.1 9.6
fail2ban-server 8.1 8.8
crowdsec 5.7 13.6
apache2 3.5 11.0

История нагрузки сервера без 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 на большинстве серверов кончаются заметно раньше свободного места.