Yesterday, due to a payment issue, DigitalOcean stopped all our servers. After resolving the payment with a new card, we restarted all the servers. While most droplets came back online, one critical droplet named ejabbered is still not responding. Here’s what we tried so far:
The droplet is running XMPP+MQTT, which is vital to our operations. The downtime is severely impacting our system, and we’re completely lost on how to recover the service.
Could anyone guide us on how to troubleshoot or recover the service? We’d appreciate any advice or steps to fix this issue.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Hey Shreyash,
Can you share the exact error that you get when you try to access the server? Is it timing out when you try to SSH or is it timing out when you try to access the MQTT service only?
If it is the SSH connection that is timing out, since you’ve already tried power cycles and recovery mode, the next step is to confirm whether the Droplet is actually booting correctly:
sudo journalctl -xe
dmesg | grep -i error
This will help identify any boot errors or service failures.Also once you access the server either via the recovery console, can you make sure the network interfaces are correctly set up by running:
ip a
And next, verify that your droplet has internet connectivity:
ping -c 4 google.com
Still on the networking side of things, can you check that your firewall (UFW or iptables) isn’t blocking necessary ports for XMPP and MQTT?
If you are able to SSH to the Droplet and the networking looks ok, then it’s possible that the services themselves failed to start after the Droplet came back online. Can you try the following:
sudo systemctl restart ejabberd
sudo systemctl restart mosquitto # (or whichever MQTT service you're using)
sudo systemctl status ejabberd
sudo systemctl status mosquitto
If the services are still not responding, the logs might provide more information:
sudo tail -f /var/log/ejabberd/ejabberd.log
sudo tail -f /var/log/mosquitto/mosquitto.log
Another thing that you should check is that the Droplet has enough disk space:
df -h
If your services rely on a database, check if the database service (like MySQL or PostgreSQL) is running.
If none of the above steps resolve the issue, you may want to consider restoring from a recent snapshot or backup if you have one available.
Let me know how it goes, and if you run into any specific error messages, feel free to share them here!
- Bobby
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.