news
Serverspace добавил возможность подключения S3 к сервису CDN
KA
5 октября 2023
Обновлено 5 октября 2023

Разбор системных ошибок Debian. Траблшутинг

Debian Мониторинг

Введение

Неполадки, ошибки, баги и упавшие сервера — вот небольшой список потенциальных проблем для администраторов, работников по информационной безопасности и других IT—специалистов. Необходимо как можно быстрее решить возникшую проблему! Но с чего начать, где искать причину и как с ней бороться? Мы рассмотрим основную область потенциальных проблем: файловую систему, ядро, устройства, драйверы и т.д. Поскольку проблем возникает много, то и способы их решения у них свои. Процесс устранения неполадок можно разделить на два этапа: анализ и применение решения!

Первый этап: Анализ

Прежде всего, необходимо определить проблему и область в ОС. Сообщение об ошибке может выдать программа, утилита или служба. Например, система контроля доступа и управления учетными записями может вывести на экран такую ошибку:

Сообщение о проблеме
Скриншот №1 — Сообщение о проблеме

У нас нет прав на файл, созданный root’ом, потому что у него атрибут 700. То есть root имеет rwx — права, а другие пользователи и группы не имеют! Для решения этой проблемы необходимо изменить атрибут нужного файла или каталога. Также система может не оповещать вас о происходящем внутри, потому что не прерывает процесс. ОС похожа на черный ящик с миллионами процессов внутри, и мы должны следить за ними, для этого у нас есть лог—файлы, которые могут помочь справиться с этой проблемой.

Внимание! Но каждая система, приложение, служба может иметь свой лог—утилиту или файл для поиска неисправностей, об этом необходимо помнить!

Давайте посмотрим на системный журнал, как именно выглядит сообщение о событиях:

journalctl | grep "login" | tail

Эта команда имеет несколько опций, приведем некоторые пояснения. Первая команда позволяет проверить журналы системы, вторая – найти текстовый шаблон в объеме данных, а третья — показать конец журнала. В результате мы имеем список действий о входе или попытках:

Лог подключений
Скриншот №2 — Лог подключений

Забавно, но на сервере для целей эксперимента мы не установили открытый ключ, и вы видите причину ваших потенциальных проблем: машины с различными IP—адреса пытаются проникнуть на вашу. Поэтому установите доверенный открытый ключ. Также мы можем использовать это для проверки статуса одного из сервисов:

journalctl -xeu postgresql@15-main.service
Проблема перезапуска
Скриншот №3 — Проблема перезапуска

По приведенным выше рекомендациям мы можем проверить журнал действий:

Проблема юнита
Скриншот №4 — Проблема юнита

На экране выше мы видим файл Subject с проблемой Unit failed, проверьте строчку с тегом FATAL. В этом случае проблема в конфигурационных файлах, поэтому запуск устройства невозможен!

Второй этап: Решение

Если вы хотите проверить статус сервисов, то необходимо набрать:

systemctl list-units -t service -p important
Активные юниты
Скриншот №5 — Активные юниты

Давайте устраним неполадки в работе службы postgresql, для этого зайдем в файл конфигурации и найдем ошибку в строке:

Решение проблемы
Скриншот №6 — Решение проблемы

Удалите ее комбинацией клавиш Ctrl + K, затем сохраните и перезапустите службу:

systemctl restart postgresql@15-main.service

И в то же время нам необходимо проверить статус сервиса:

systemctl status postgresql@15-main.service
Результат траблшутинга
Скриншот №7 — Результат траблшутинга

Для вашего случая может потребоваться другие шаги для решения, например, поиск по одному и тому же сообщению об ошибке в поисковой системе или в генеративных сервисах AI, таких как GPT. В этой статье мы рассматриваем инструменты мониторинга для решения ошибок.

Также если вы не можете найти причину проблемы, но ваше устройство работает медленно, вы можете установить Task Manager — atop:

apt install atop -y

Затем просто наберите atop и подождите всплывающего окна с основным запущенным процессом:

atop
Диспетчер задач
Скриншот №8 — Диспетчер задач

В последнем столбце мы видим поле CPU с процентом использования процесса в текущий момент времени и, если видим высокую нагрузку, то убиваем процесс или приостанавливаем его:

kill -INT 332697

И вторая команда – завершает их:

kill -TERM 332697
Завершение нагрузочного процесса
Скриншот №9 — Завершение нагрузочного процесса

Если CLI не возвращает сообщение с проблемой, значит оно выполнено — успешно!

Вывод

Решение ошибок и проблем в системе является обычной частью системного администрирования. В данном руководстве рассматриваются различные аспекты выявления и эффективного решения этих проблем.

Оценка:
5 из 5
Аverage rating : 5
Оценок: 4
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300

Вам также может быть интересно...