# Устранение проблем на сервере
# Автоматическое восстановление системы
Воспользуйтесь утилитой kctl rescue
для автоматической диагностики и починки частых проблем на сервере.
- Залогиньтесь на сервер с Keitaro по SSH
- Выполните:
kctl rescue
Ошибка «kctl: command not found».
Выполните апгрейд конфигурации.
# Временный доступ для команды поддержки
- Залогиньтесь на сервер с Keitaro по SSH
- Выполните:
kctl support-team-access allow
Доступ активен в течении 5 дней. Запретить принудительно:
kctl support-team-access deny
Ошибка «kctl: command not found».
Выполните апгрейд конфигурации.
# FAQ
На сервере 502е ошибки.
Откройте Обслуживание — Состояние в Keitaro. Проверьте значение в строке CPU Stolen.
Показатель больше 0 — виртуальный сервер недополучает ресурсы CPU. Напишите хостеру VPS.
На сервере заполнен диск.
- Если осталось 10%-15%, попробуйте оптимизировать базу
- Если места нет, поможет исключительно увеличение диска или чистка всей статистики.
Я увеличил RAM, но Keitaro не видит обновления.
Выполните апгрейд серверной конфигурации.
Some internal error. See System log.
Проверьте Системный лог
Накапливаются команды в очереди.
Новые задачи добавляются быстрее, чем Keitaro обрабатывает текущие.
Если используете внешние сервисы, которые обновляют расходы - поставьте интервал между обновлениями побольше.
Ошибка RedisException. OOM command not allowed when used memory > maxmemory, много 500 ошибок трекера.
Уменьшите период хранения уникальных токенов в Обслуживание → Настройки → Системные, затем Срок действия токена на лендинге.
Уменьшить срок уникальности в настройках кампаний: Настройки, затем Срок уникальности.
Сделайте апгрейд конфигурации
Не удаётся сохранить обновлённую лицензию.
Проверьте наличие свободного места, используя консоль:
df -h
Формат вывода результата: Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk1 465Gi 407Gi 57Gi 88% 106779354 15058244 88% /
Предпоследняя колонка показывает % занятости места.
Got error 28 from storage engine.
На сервере закончилось место.
Redis is LOADING the dataset.
Решение удаляет необработанную статистику, но быстро устраняет проблему.
Запустите команду:
rm -rf /var/lib/redis/*
systemctl restart redis
2
База данных повреждена.
Повреждение происходит при ручной перезагрузке сервера или неполадках на диске. Попробуем восстановить целостность диска.
- В терминале выполните:
sudo touch /forcefsck
- Перезагрузите сервер:
reboot
- Запустите MariaDB
systemctl start mysql
Как очистить inodes на сервере?
Inodes — это файловые дескрипторы в Linux, которые отвечают за метаинформацию о стандартных файлах, директориях или других объектах файловой системы, кроме непосредственно данных и имени.
В некоторых случаях число файловых дескрипторов близится к нулю. В ОС недостаточно описаний для определения местонахождения файлов. В таком случае, файлы необходимо удалить или очистить. Для поиска выполните:
df -i
В результате получите структуру файловой системы со списком и количеством инодов, которые занимает та или иная папка. Соответственно, необходимо идти по пути папки, и при каждом вхождении проверять количество инодов командой df -i. В конечном итоге, найдете папку с файлами, которую необходимо удалить командой:
rm -rf deletedfolder/
Где deletedfolder/ — имя папки, которую необходимо удалить.
ВНИМАНИЕ Обязательно сверьтесь с папкой, которую собираетесь удалить: цель — удалить папку на сервере, переполненную файловыми дескрипторами, но не системные файлы сервера и ОС. Если не уверены в выполняемых действиях, напишите в тех.поддержку, поможем очистить inode. В противном случае, рискуете привести ОС сервера в неработоспособное состояние, восстановление которого не входит в нашу компетенцию. Будьте внимательны!
Сервер работает медленно.
Это могло произойти из-за недостаточного выделения CPU-ресурсов на виртуальный сервер. Запустите на сервере команду:
vmstat 1 5
Формат вывода ответа:
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
111 0 0 3438984 20280 603200 0 0 11 20 38 85 10 2 32 0 56
139 0 0 3435676 20280 603220 0 0 0 0 936 318 15 3 0 0 82
126 0 0 3434312 20280 603212 0 0 0 0 903 198 14 4 0 0 82
92 0 0 3450964 20280 603868 0 0 0 0 885 198 13 3 0 0 83
145 1 0 3452128 20280 604412 0 0 448 0 993 254 14 2 0 0 84
2
3
4
5
6
7
Обратите внимание на значения в последнем столбце st
. Значение больше 0 — CPU-ресурсов выделено недостаточно.
В данном случае, рекомендуем обратиться в поддержку облачного провайдера.
Как проверить диск HDD или SSD?
Посмотрите названия дисков:
cat /proc/scsi/scsi
Ошибка "malformed worker response".
- Откройте SSH терминал.
- Выполните:
cd /var/www/keitaro/application
find . -type f -name "*.php" -exec sed -i 's/?>//g' {} +
2
# Оптимизация базы
Откройте раздел Обслуживание — Состояние в Keitaro. Если присутствует уведомление Clickhouse upgrade
- напишите в поддержку для перехода на Clickhouse.
Eсли Обслуживание — Состояние выглядит аналогично скрину, то Clickhouse установлен, оптимизация не требуется
# Удаление всей статистики
kctl run cli-php system:delete_mysql_stats
Команда запросит подтверждение удаления всей статистики из MYSQL:
[WARNING] Important! The following will happen:
- old versions tables removal,
- clicks stats to the exact date removal (if specified in parameters),
- optimization of the clicks in the stats,
- cleaning all the current stats completely (if specified in parameters).
These inquiries will block the database
during the implementation and require additional free space on a disk.
2
3
4
5
6
7
8
Введите команду yes
и нажмите ENTER
.
Включите автоматическую чистку.
Чтобы не допускать переполнение диска, выставьте срок хранения статистики в настройках Keitaro.
← Статус Безопасность →