It's never fun to receive a notification that your website or server is down. It can even be scary if you don't know what the error means. In this guide, we have listed the most common errors. We explain the cause and what you can do about it.
Did you receive a notification that one of your websites or servers is down? Are you having trouble understanding the error? Check out this guide to get a better insight.
Every executed test has multiple attributes. Of course, every test has a timestamp that indicates which type of test was performed at what time. In Semonto's dashboard you can select which tests you want to run on your website or server. Every test also returns a status, which can be "OK" (green circle), "Warning" (amber circle), "Critical" (red circle) or "Error" (red triangle). Another attribute is a custom string, which can give more insights into the status, and why a test failed. If this string starts with a number, this number appears in the uptime reports. This allows you to get a view on the load time, server load and more. In this guide, we will focus us on analysing and deciphering this custom string.
Every test has a maximum execution time. If the test is not completed in time, it will fail and return "execution expired" as an error message. This time-out can be related to several network issues like packet loss, high latency, or a server that opens a connection but is not sending any data.
Example:
35.961968 | Failed to open TCP connection to domain.tld:443 (Connection refused - connect(2) for "xx.xx.xx.xx" port 443)
The first number indicates how long the test has been running, in milliseconds. In this case, Semonto tried to open a network connection (TCP) to your server. The server refused this connection on port 443 (HTTPS). There are several possible explanations: maybe the server is overloaded, or the software is not running correctly, perhaps a firewall or proxy is blocking the connections. It can also be a wrong configuration on the server.
Example:
13064.934051 | Failed to open TCP connection to domain.tld:443 (Hostname not known: domain.tld)
This one is very similar to the previous one. However, the error is at a different level. If you enter a domain in the Semonto dashboard, it needs to be translated back to the IP of your server. This process is called DNS resolving. If this DNS resolving fails, this error will appear: 'Hostname not known'. This error can originate the DNS server of your hoster, but also on a different DNS server like the DNS servers Semonto is using. Semonto always verifies tests by rerunning them on servers with a different geographical location. Only when both tests fail, an alert will be sent out. This reduces the number of false positives and local DNS issues.
Example:
46686.4196 | http: 500
When the test is using the HTTP (or HTTPS) protocol to connect to your server, the server will return a status code which is set by your server. This status code usually is a number between 100 and 999. There are five categories. HTTP Status codes starting with 1 are informative. 2 means that the server result was successful. The 300 range is used for redirections. These should be successful unless there are too many redirects (like infinity loops). The 400 range often indicate "client errors", or errors in the request. Statuses in the 500 range mean server-related errors.
List of most common error HTTP status codes:
In this example, a HTTP 500 was returned by the server after 46 seconds. This means that the server could not process your request due to an internal error. The server logs on your webserver or at your hoster should contain more information.
Errors like HTTP 429 indicate a server is flooded by too many requests. If you use a broken link monitor, this error message might indicate that its crawler is overloading the server. That is why, in Semonto, you can adjust the crawl speed in the settings. If you are hosting your website on CloudFlare, you can also check the following guide: How to monitor Cloudflare sites Bonus tip: You can also monitor your web servers’ load using our server health monitoring. This allows you to set a maximum load or disk space usage for your server and receive an alert when the threshold is crossed.