Как бы вы действовали, если бы вам дали ведение сервера от другого сотрудника и нужно было бы описать его в Confluence, а вы понятия не имеете что это за сервер, у вас есть только ключи доступа к нему

«Как бы вы действовали, если бы вам дали ведение сервера от другого сотрудника и нужно было бы описать его в Confluence, а вы понятия не имеете что это за сервер, у вас есть только ключи доступа к нему» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

В такой ситуации мой план действий был бы следующим:

  1. Первичное подключение и сбор системной информации:

    # Базовая информация об ОС и железе
    cat /etc/os-release
    hostnamectl
    lscpu
    free -h
    df -h
    ip addr show
    
    # Активные процессы и сервисы
    top -b -n 1 | head -20
    systemctl list-units --type=service --state=running
    docker ps --format "table {{.Names}}t{{.Image}}t{{.Status}}" 2>/dev/null
    kubectl get pods -A 2>/dev/null
    
    # Сетевые службы
    ss -tulpn
    netstat -tulpn 2>/dev/null || ss -tulpn
    
    # Проверка планировщика задач
    crontab -l
    ls -la /etc/cron.*/
    cat /etc/crontab 2>/dev/null
  2. Анализ конфигурации:

    • Изучил бы конфиги в /etc/ (nginx, apache2, mysql, postgresql и т.д.).
    • Проверил бы логи (/var/log/) на предмет ошибок и активности.
    • Поискал бы файлы с описанием (README, deploy.md) в домашних директориях и /opt/.
  3. Документирование в Confluence: Создал бы страницу со структурой:

    • Общая информация: Hostname, IP-адреса, ОС, версия ядра, дата последнего обновления.
    • Ресурсы: CPU (ядра/частота), RAM, дисковое пространство (разделы, использование).
    • Роль сервера: Вывод о назначении на основе найденных сервисов (веб-сервер, БД, брокер сообщений, Jenkins-агент).
    • Запущенные сервисы: Таблица с именем сервиса, портом, версией и путем к конфигу.
    • Доступы: Упомянул бы использованный метод доступа (SSH-ключ), наличие sudo-пользователей.
    • Найденные артефакты: Ссылки на важные конфиги, скрипты деплоя, переменные окружения.
    • Неясности и риски: Четко выделил бы моменты, которые не удалось установить (например, назначение определенного cron-задания), для согласования с командой.
  4. Согласование: Отправил бы ссылку на страницу бывшему ответственному и тимлиду для проверки и дополнений.