- •«Московский технический университет связи и информатики» (мтуси)
- •Цель работы
- •Задание на лабораторную работу
- •Выполнение работы Задание 1. Мониторинг производительности системы
- •Задание 2. Создание скрипта для получения статистики
- •Задание 3. Создание автозапускаемой службы
- •Задание 4. Создание таймера
Задание 2. Создание скрипта для получения статистики
Рисунок 22. Создан скрипт для получения статистики: осуществляет сбор статистики использования процессоров и статистики работы процессов средствами mpstat и pidstat, данные сохраняются в текстовый файл с именем yyyy-mm-dd_h:m:s_syslog. Показано содержимое текущей дириктории до и после запуска скрипта, а также его вывод команды ls -l для директории сохранения логов скрипта. Работа скрипта будет прекращена после ручного заврешения пользователем (ctrl+c).
Рисунок 23. Текст созданного скрипта.
Рисунок 24. Содержимое файла лога.
Задание 3. Создание автозапускаемой службы
Рисунок 25. Код написанной новой службы logger.service.
Рисунок 26. Произведена регистрация и запуск службы при помощи команд
sudo systemctl daemon-reload
sudo systemctl start logger.service
Проверка работы службы при помощи команды sudo systemctl status logger.service покзала, что служба была успешно зарегистрирована и запущена. Вывод показывает, что она была остановлена (inactive (dead)) и завершилась успешно (code=exited, status=0/SUCCESS). Однако в логах есть предупреждение о неправильной записи в файле сервиса, это связано с тем, что в файле сервиса logger.service есть ошибочная запись, которую система игнорирует.
Рисунок 27. Созданный ранее скрипт был немного изменен: утилиты вроде mpstat и pidstat часто требуют привилегий суперпользователя для корректной работы. Поэтому было добавлено перед этими командами sudo. В прошлом скрипте logger2.sh происходил сбор статистики с использованием утилит mpstat и pidstat. Однако этот скрипт запускается как служба через systemd. Службы systemd обычно работают в фоновом режиме и без интерактивного ввода, поэтому они также были немного изменены и добавлено ограничение времени.
Рисунок 28. Появился новый файл. Удалить сразу все логи возможно при помощи команды
find . -type f -name '*_syslog' -delete
Рисунок 29. Содержимое файла *_syslog.
Задание 4. Создание таймера
Рисунок 30. Создан таймер со следующими параметрами:
OnCalendar=*:0/1 указывает, что действие должно выполняться каждую минуту (0 минут, 1 час).
AccuracySec=60s задает точность таймера до одной минуты.
Persistent=true делает таймер постоянным, так что он перезапускается после перезагрузки системы.
Unit=logger.service указывает на сервис, который должен быть запущен этим таймером.
WantedBy=multi-user.target указывает, что этот таймер должен быть активирован при переходе в режим мультипользователя (multi-user.target).
Рисунок 31. Введены команды для активации
systemctl daemon-reload
systemctl enable logger.timer
systemctl start logger.timer
Проверить наличие нового таймера удалось при помощи команды
systemctl list-timers
Рисунок 32. Таймер остановлен и отключен командами
sudo systemctl stop logger.timer
sudo systemctl disable logger.timer
Рисунок 33. Просмотр директории выовода скрипта. Новые файлы созданы с минутным интервалом и содержат сопоставимое количество записей.
Вывод
Мониторинг процессов и системное администрирование в Linux предоставляют множество возможностей для отслеживания и управления ресурсами системы. Основные инструменты и утилиты, такие как ps, top, atop, mpstat, pidstat, vmstat, iostat, позволяют получать различную информацию о состоянии системы и процессов.
Утилита ps предоставляет информацию о запущенных процессах, включая идентификаторы процессов (PID), пользователей, владельца процесса, статус процесса и многое другое.
top показывает динамическую статистику системы в реальном времени, позволяя следить за использованием ресурсов ЦПУ, памятью, загруженностью системы и другими параметрами.
Инструмент atop работает аналогично top, но также предоставляет расширенную информацию о загрузке процессора, памяти, дисков и сети. Он поддерживает возможность ведения логов и последующий анализ с помощью инструмента atopsar.
Утилита mpstat предоставляет отчеты о использовании процессоров, показывая нагрузку на каждый отдельный процессор или все процессоры вместе.
pidstat используется для мониторинга определенного процесса в реальном времени, предоставляя детальную информацию о его активности.
vmstat собирает информацию о виртуальной памяти, дисковой подсистеме и центральном процессоре.
iostat отслеживает использование устройств ввода-вывода.
Пакет sysstat включает вышеупомянутые утилиты и облегчает их использование.
Система systemd позволяет планировать выполнение служб и автоматизировать их запуск, используя файлы конфигурации unit для определения поведения сервисов. Эти файлы описывают основные параметры сервиса, такие как его описание, зависимости от других служб, команды для выполнения и условия для запуска и остановки.
Для добавления или изменения конфигурации службы необходимо обновить систему командой sudo systemctl daemon-reload, затем добавить юнит в список служб командой sudo systemctl enable, и наконец запустить службу командой sudo systemctl start. Проверить состояние службы можно командой sudo systemctl status.
Таким образом, благодаря разнообразию инструментов и утилит, Linux предоставляет мощные средства для мониторинга и управления системой, что делает работу с ней удобной и эффективной.
Для выполнения работы был установлен OpenSSHServer и дальнейшее взаимодействие с ОС производилось по средствам терминала MS PoweShell.
Рисунок 34. Информация об ОС в терминале MS PoweShell.
