Question

Unable to Recover XMPP+MQTT Service After Droplet Restart Due to Payment Issue

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:

  1. Turned the droplet off and on, waiting a few minutes – no success.
  2. Performed a power cycle – still not working.
  3. Booted into recovery mode and attempted to boot from the hard drive – didn’t work.
  4. Booted from the recovery ISO – still didn’t work.
  5. Accessed the recovery console, but we couldn’t locate our service or resolve the issue.

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.


Submit an answer


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!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Bobby Iliev
Site Moderator
Site Moderator badge
November 16, 2024

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:

  • Use the DigitalOcean console to access your Droplet and run:
    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:

  • Try manually restarting your services:
    sudo systemctl restart ejabberd
    sudo systemctl restart mosquitto  # (or whichever MQTT service you're using)
    
  • Check the status to see if there are any errors:
    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
  • Look for errors or indications that might suggest why they’re failing to start.

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

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Become a contributor for community

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

DigitalOcean Documentation

Full documentation for every DigitalOcean product.

Resources for startups and SMBs

The Wave has everything you need to know about building a business, from raising funding to marketing your product.

Get our newsletter

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

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.