I have a lot of servers setup and all works fine and well, except for one I added a few days ago. All checks work fine, except the standard host service check that icinga does to see if the host is down. I have already set the Check execution time to 30.0004s because it was behaving like this with some other servers as well, and upping the check time helped. But 30s is a bit long anyway, and this server is nothing special, there is no reason why it should take this long for it to timeout.
Only thing I can see is that it times out, there has to be some other solution than to again up the time for the check, or…?
If your using icinga as agents, you could use cluster-zone instead of hostalive.
Depending on the host it might not accept pings/icmp packets by default.
If Windows: check the local windows firewall to allow icmp echo requests.
linux hosts could have something like iptables, firewalld that block the icmp requests.
Network devices sometimes drop icmp packets as well.
A firewall between the monitoring server and the host can also be the reason.
Rolands tip for using the check for the agent connection (if the Icinga agent is used) is also an option. This way you would also have the feedback if the host is connected to its parent as well.