На VPS с ISPManager 5 наблюдается большое количество процессов metric панели управления
На VPS с ISPManager 5 наблюдается большое количество процессов metric панели управления¶
Если на VPS с ISPManager 5(как правило, если всё настроили и решили не продлевать лицензию) внезапно начала расти LA, при этом в top/htop/atop вы видите множество процессов
root 9635 0.0 0.0 9516 828 ? Ss 10:30 0:00 | \_ /bin/sh -c /usr/local/mgr5/sbin/cron-ispmgr sbin/metric >/dev/null 2>&1
root 9647 0.0 0.0 9516 1128 ? S 10:30 0:00 | \_ /bin/sh /usr/local/mgr5/sbin/cron-ispmgr sbin/metric
root 7948 0.1 0.2 133068 6128 ? S 12:07 0:00 | \_ sbin/mgrctl -m ispmgr problems.register name=cron id=sbin/metric level=error info=
root 18678 0.0 0.0 9516 832 ? Ss 10:35 0:00 | \_ /bin/sh -c /usr/local/mgr5/sbin/cron-ispmgr sbin/metric >/dev/null 2>&1
root 18684 0.0 0.0 9516 1132 ? S 10:35 0:00 | \_ /bin/sh /usr/local/mgr5/sbin/cron-ispmgr sbin/metric
root 7981 0.1 0.2 133068 6128 ? S 12:07 0:00 | \_ sbin/mgrctl -m ispmgr problems.register name=cron id=sbin/metric level=error info=
root 27665 0.0 0.0 9516 828 ? Ss 10:40 0:00 | \_ /bin/sh -c /usr/local/mgr5/sbin/cron-ispmgr sbin/metric >/dev/null 2>&1
root 27668 0.0 0.0 9516 1132 ? S 10:40 0:00 | \_ /bin/sh /usr/local/mgr5/sbin/cron-ispmgr sbin/metric
Необходимо остановить процессы metric.
Если на сервере наблюдаются только cron-ispmgr sbin/metric изменяем файлы /usr/local/mgr5/etc/core.conf и /usr/local/mgr5/etc/ispmgr.conf удаляя из них параметр
Option UsageStatAgree
после чего выполнить
/usr/local/mgr5/sbin/mgrctl -m core exit
В случае, когда кроме процесса cron-ispmgr sbin/metric на сервере наблюдаются и процессы ispmgr problems.register с id=sbin/metric проблема уже так просто не решается. Просто остановить процессы metric не достаточно, панель запустит их заново, так как система решения проблем панели пытается собрать информацию об ошибке, и повторить запуск проблемного процесса.
В результате, когда ошибки с metric ушли в problems, необходимо предварительно почистить записи в problems, и только потом останавливать процессы metric.
mv /usr/local/mgr5/var/run/mgrctl.ispmgr_problem_* /root/ispmgr_problem/
rm -fR /usr/local/mgr5/var/run/mgrctl.ispmgr_problem_*
sqlite3 /usr/local/mgr5/etc/ispmgr_problems.db
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> delete from problems_log;
sqlite> delete from problems;
sqlite> delete from problems_desc;
sqlite> .exit
rm -fR /usr/local/mgr5/var/run/mgrctl.ispmgr_problem_*
kill -15 `ps auxfS | grep "ispmgr_problem\|core\|problems.autosolve\|ispmgr" | awk '{print $2}'`
если часть процессов осталась, повторяем с -9.
Проверяем, что их больше нет
ps auxf|grep metric
killall -15 metric
killall -9 metric
Если кроме проблем с metric наблюдаются и другие, связанные с licctl процессами, останавливаем crond
systemctl stop crond
!!! info 'Внимание' Обязательно останавливаем его, иначе панель новые задания крон успеет прописать, и наши старания окажутся напрасными.
Затем выполняем
crontab -e
Сразу после этого останавливаем ihttpd
systemctl stop ihttpd
systemctl disable ihttpd
/usr/local/mgr5/sbin/mgrctl -m core exit
killall -9 ispmgr
killall -9 licctl
killall -9 metric
Запускаем crond
systemctl start crond
Ждём пару минут, и смотрим вывод pstree|ps auxfS на предмет наличия процессов, которые мы останавливали выше.
Если не видно данных процессов – значит мы всё сделали верно, и проблема больше не будет проявляться.