Asking Better Questions
Welcome to the Linode Community Site! This is a great location to ask questions from the general Linode community for issues you are running into. To help get you started, I just wanted to write this guide to asking better questions.
What makes a great question?
In general, you want your questions to have the following characteristics:
Specific: We need to know specifically what is happening. Letting us know "The website doesn't work" will result in many follow-up questions from the community before we can get to a resolution. Providing error logs and outputs from commands will go a long way to getting you a fast and accurate answer.
Clear: Make sure you are letting us know what is wrong and not only sharing outputs. Giving us some context and sharing any troubleshooting steps you have taken will help clarify exactly what the error may be.
Reasonable: While we are more than happy to help, asking someone to develop a complicated script for you, read through hundreds of lines of code for a syntax error, or access your service for direct troubleshooting is not likely going to get a positive response.
Actionable: If your issue is intermittent and you are not experiencing anything wrong at the moment, you might not be able to get much help. You will want to make sure you have error logs or detailed information from when the issue is occurring so we can provide possible solutions.
Notated: The Linode Community Site allows you to use Markdown! This is a great way to format what you type whether it be a
specific command or
a snippet of your log or code.
Making sure you have the correct formatting will help make sure we can all read what the error outputs are. There is a great Markdown Cheatsheet that will help get you where you need to be.
Efficient: While context does help, you will want to make sure you are efficiently asking your question. A question that is overly long with too many details can sometimes be just as bad as a question that is too short with not enough details. You want to give us as many facts as are relevant to the question.
To help you with this, here are some quick tips on finding useful outputs to provide.
Error logs for specific services will reveal the most information. In general the logs tend to be stored in
/var/log. For example, common error logs are
/var/log/nginx/error.log. You can generally see what logs or folders are available by running
ls -a1 /var/log. That will show you the folders as well as any logs outside of the folders. To check the most recent entries from a log you can use the tail command. For example
tail -n 30 /var/log/apache/error.log will show you the last 30 entries in the Apache error log.
What are the Ping or Curl results?
If a website isn't loading, sometimes sharing the specific
curl results will clarify the exact problem. Even better than ping, however, is providing us with the results of an mtr from your Linode to your local computer and from the local computer to the Linode. This helps people who want to help find any routing issues or dropped packets along the way and it's a great tool for diagnosing network errors. The command I recommend is
mtr -rwbzc 100 <IP address> to make sure it's verbose enough and sends enough packets so we can get a clear picture of the network traffic trends.
If you are having an issue with a website, giving us the output of a verbose curl will help show any error codes.
curl -vIl <IP address or domain> is generally enough to help out, though if you are specifically using HTTPS you will want to change that to
curl -vIl https://<IP address or domain>/.
Let us know what services are involved
Letting us know what flavor of linux you are running as well as the specific services that may be involved. You can check your Linux version by running
lsb_release -a or
cat /etc/os-release and you will get an output similar to:
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.1 LTS Release: 18.04 Codename: bionic
This will help us give specific commands tailored to the OS. Letting us know the relevant services running will help provide potential solutions as well. Does your website run on Wordpress? Are you using cPanel or VestaCP? That sort of added information can help remove the guesswork. You can check what services are running with
ps auxf and see what services are listening on what ports on the Linode with
netstat -plunt or
ss -plunt on newer distributions.
Give us feedback!
Don't you hate doing a search for a solution only to find an abandoned thread from three years ago with someone saying it was fixed without letting you know how? We feel the same way when we don't know if you were able to fix something based on a suggestion. Let us know if it worked, if it didn't work, and if you fixed it on your own how you did so. We love learning more!
Some humor to illustrate the importance of context:
In the middle of winter after a snow storm, my friend texts me and says "I know you are good with these things, my windows frozen, what would you do?"
I text him back, "I'd get a bucket of really hot water and a sponge and I'd squeeze out hot water all around the edge of the window while carefully tapping it with a hammer until it loosens up."
He texts back 10 minutes later, "The computer is really messed up now!"
Read the directions/documentation on your app/package before asking here. Someone put in a lot of effort to write it and include it for your information.
Please use "Search" to see if your question has been asked/answered before…most likely it has.
Please search/consult the guides that Linode provides to see if any of them address your situation/question. Try them first.
Generic questions with no detail provided (like "How do I install Wordpress on my Linode?") are not likely to get a very comprehensive response. If you get an answer at all, it's likely going to be a link back to the documentation; the already-asked/answered post or the guides.