How would you act if you were handed over server management from another employee, and you needed to describe it in Confluence, but you have no idea what this server is, only access keys?
sobes.tech AI
Answer from AI
Starting with gathering basic information:
-
Access acquisition: Using provided keys for SSH access to the server.
-
Determining OS and version:
// Check distribution and version cat /etc/os-release // Check kernel version uname -a -
Determining hardware configuration (CPU, RAM, Disk):
// Processor information lscpu // RAM information free -h // Disk devices and partitions information lsblk df -h -
Checking running services and processes:
// Running services systemctl list-units --type=service --state=running // Running processes pstree -p -
Identifying installed software:
// For Debian/Ubuntu dpkg -l // For Red Hat/CentOS rpm -qaSpecial attention is given to web servers (Apache, Nginx), databases (MySQL, PostgreSQL), message brokers (Kafka, RabbitMQ), container technologies (Docker, Kubernetes), and other specific software.
-
Analyzing network configuration:
// IP addresses and network interfaces ip a // Routing table ip r // Open ports (locally) ss -tulnp -
Studying log files: Reviewing system logs (
/var/log/syslog,/var/log/messages) and application logs to identify potential issues and activities. -
Searching for configuration files: Looking for standard locations of configuration files for identified software (e.g.,
/etc/apache2/,/etc/nginx/,/etc/mysql/). -
Determining users and their rights:
// List of users cat /etc/passwd // Group membership cat /etc/group // Sudo rights sudo -l -
Searching for signs of automation/deployment: Looking for scripts in
/opt,/usr/local/bin,.bashrc, Cron files (crontab -l,/etc/cron.*). Checking for deployment agents or configuration management systems. -
Gathering information about scheduled tasks:
// Current user tasks crontab -l // System tasks cat /etc/crontab
After collecting the information, I structure it in Confluence, describing:
- Server purpose (assumed based on running software)
- Operating system and version
- Hardware resources
- Key running services and their versions
- Network configuration (IP addresses, open ports)
- Installed software (main components)
- Paths to configuration and log files
- User data and their rights (without sensitive information)
- Automation/scripts
- Scheduled tasks
During documentation, I note any anomalies or ambiguities that require further investigation or consultation (if possible). As my understanding of the server's functionality deepens, the documentation in Confluence will be supplemented and clarified.