мета-данные страницы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| devops_training_in_yandex:proc_linux [2023/11/13 12:01] – Администратор | devops_training_in_yandex:proc_linux [2023/11/13 14:10] (текущий) – Администратор | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| ====== Выполнение домашнего задания " | ====== Выполнение домашнего задания " | ||
| - | ===== Задание ===== | + | ====== Задание |
| < | < | ||
| **Шаг 1**\\ | **Шаг 1**\\ | ||
| Строка 19: | Строка 19: | ||
| </ | </ | ||
| - | ===== Решение ===== | + | ====== Решение |
| - | ==== Сбор информации о текущем процессе ==== | + | ===== Сбор информации о текущем процессе |
| Для сбора создадим скрипт | Для сбора создадим скрипт | ||
| < | < | ||
| Строка 45: | Строка 45: | ||
| echo $json > proc.json</ | echo $json > proc.json</ | ||
| + | Делаем файл исполняемым | ||
| + | < | ||
| + | Запускаем скрипт | ||
| + | < | ||
| Теперь выводим информацию из файла на экран | Теперь выводим информацию из файла на экран | ||
| < | < | ||
| {{: | {{: | ||
| + | ===== Сбор информации о текущей системе ===== | ||
| + | Для сбора создадим скрипт | ||
| + | < | ||
| + | < | ||
| + | |||
| + | # Получение информации о процессоре | ||
| + | CPU_INFO=$(lscpu | awk -F':' | ||
| + | CPU_INFO=${CPU_INFO%? | ||
| + | |||
| + | # Получение информации о памяти | ||
| + | MEM_INFO=$(free -h | awk ' | ||
| + | |||
| + | # Получение информации о дисковом пространстве | ||
| + | DISK_INFO=$(df -h --output=size, | ||
| + | |||
| + | # Формирование JSON-объекта | ||
| + | echo "{ \" | ||
| + | Делаем файл исполняемым | ||
| + | < | ||
| + | Запускаем скрипт | ||
| + | < | ||
| + | Теперь выводим информацию из файла на экран | ||
| + | < | ||
| + | {{: | ||
| + | |||
| + | ===== Запуск приложения из шага 1 ===== | ||
| + | В моем случае это оболочка **bash** | ||
| + | Для ее запуска в докере потребуется создать **Dockerfile** с содержимым | ||
| + | < | ||
| + | |||
| + | # Установка необходимых пакетов | ||
| + | RUN apt-get update && apt-get install -y bash | ||
| + | |||
| + | # Копирование скрипта в рабочую директорию образа | ||
| + | COPY collecting_information_about_the_current_process.sh / | ||
| + | COPY collecting_information_about_the_current_system.sh / | ||
| + | |||
| + | # Установка разрешений для выполнения скрипта | ||
| + | RUN chmod +x / | ||
| + | RUN chmod +x / | ||
| + | |||
| + | # Запуск скрипта при старте контейнера | ||
| + | CMD ["/ | ||
| + | CMD ["/ | ||
| + | Теперь собираем приложение | ||
| + | < | ||
| + | Запускаем и сразу попадаем в терминал контейнера | ||
| + | < | ||
| + | Проверяем скопировались ли скрипты | ||
| + | < | ||
| + | Видим что они появились | ||
| + | |||
| + | {{: | ||
| + | |||
| + | ===== Запуск руками в cgroup ===== | ||
| + | Выполняем команду с нужным вам PID | ||
| + | < | ||
| + | Проверяем что вы в cgroup командой | ||
| + | < | ||
| + | |||