Day 14: Linux Process Troubleshooting | 100 Days of DevOps
Content:
Today I worked on troubleshooting an Apache service failure reported by a monitoring system in a production-like environment. The task was to identify the faulty application server and ensure that the Apache service was running properly on all servers using the required port 8089.
During the investigation, I discovered that the issue was caused by a process conflict, where another service was already using the required port. This task gave me practical exposure to real-world Linux process troubleshooting.
What I Learned
Through this task, I understood:
How to check service status using
systemctlHow to identify running processes using specific ports
How to troubleshoot and resolve port conflicts
Importance of process-level debugging in Linux systems
Steps I Followed :
1. Connected to Application Servers
ssh tony@stapp01
ssh steve@stapp02
ssh banner@stapp03
Logged into all app servers to identify the faulty host.
2. Checked Apache Service Status
systemctl status httpd
stapp02andstapp03→ Apache was runningstapp01→ Apache service failed
3. Analyzed the Error Logs
Error observed:
Address already in use
This indicated a port conflict issue.
4. Checked Which Process is Using Port 8089
sudo ss -tulnp | grep 8089
Found that:
sendmail was using port 8089
5. Stopped the Conflicting Process
sudo systemctl stop sendmail
6. Disabled the Service
sudo systemctl disable sendmail
Prevented the service from restarting automatically.
7. Started Apache Service
sudo systemctl start httpd
8. Enabled Apache Service
sudo systemctl enable httpd
9. Verified Apache is Running on Port 8089
ss -tulnp | grep 8089
Confirmed that Apache is successfully listening on port 8089.
My Understanding
This task helped me understand how Linux processes can directly impact service availability. By identifying which process was using a required port, I was able to resolve the issue efficiently and restore the service.
What I Found Interesting
It was interesting to see how troubleshooting at the process level can quickly reveal the root cause of failures. A simple port conflict from another service like sendmail can completely stop a critical service like Apache.
📌 Full notes: GitHub link