Online Server Monitor

Troubleshooting

Troubleshooting Online Server Monitor Agent

Use these checks when installation succeeds but the bot does not show a server, metrics stop updating, or service actions are missing.

Telegram

Server does not appear in Telegram

Generate a fresh pairing command with /add_server, run the whole command again, and confirm the installer prints a paired server identifier.

Token

Pairing token expired

Pairing tokens are temporary. If installation fails with an invalid or expired token, request a new token and do not reuse old commands.

Offline

Agent installed but server is offline

Check the service state, agent logs, DNS resolution, firewall rules and outbound HTTPS access.

systemctl status hp-server-agent
journalctl -u hp-server-agent -n 100 --no-pager
curl -I https://server.howprog.one/healthz

curl

curl install command fails

Check that curl is installed, DNS works, and the server can reach HTTPS. Proxy or firewall rules can block the installer download.

systemd

systemd service failed

Use systemd status and logs first. Avoid random destructive cleanup commands on production servers.

systemctl status hp-server-agent
journalctl -u hp-server-agent -n 100 --no-pager

Permissions

Permission denied

Install and service actions require root or sudo. If a maintenance button fails, confirm that the agent service has permission for the allowed action.

Network

No outbound HTTPS connection

The backend does not SSH into the server. The server must connect outward to the public service URL over HTTPS. Check firewall, DNS and time synchronization.

Alerts

Threshold alerts are not firing

Check current threshold values in Telegram. Alerts should fire only when a metric crosses the limit and resolve after the metric returns below it.

Noise

Alerts are too noisy

Increase thresholds gradually, especially for CPU and load. Set disk alerts low enough to be useful but high enough to avoid normal temporary spikes.

Buttons

Restart or log cleanup buttons are missing

Buttons depend on detected services and allowed actions. If a service is not detected, check that systemd knows about it and that the agent can read service state.

Decision tree

Fast troubleshooting decision tree

Start with the symptom closest to what you see. If the server never appeared, troubleshoot pairing. If it appeared once and then went offline, troubleshoot the agent service and outbound HTTPS. If metrics are present but buttons are missing, troubleshoot service detection and allowed actions.

Pairing detail

Pairing succeeds but no first report arrives

A successful pairing line means registration worked, but it does not guarantee that later heartbeat and metrics requests are working. Check whether the service remains running after install, whether the local server clock is correct, and whether outbound HTTPS is allowed after the install script exits.

DNS and TLS

DNS, TLS and clock problems

TLS and signed commands are sensitive to broken DNS and incorrect system time. If HTTPS checks fail, confirm that the server resolves the monitoring domain, reaches port 443, and has a sane date. Time drift can also make short-lived commands appear expired.

date -u
getent hosts server.howprog.one
curl -I https://server.howprog.one/healthz

Metrics

Metrics look wrong or stale

If CPU, RAM or disk values look stale, compare the Telegram card with local commands on the server. The goal is to find whether the agent is not reporting, the backend is showing old data, or the server itself is under a real load condition.

Services detail

A service is running but not shown

Service names can differ by distribution. For example, web stacks may use nginx, httpd, php-fpm, versioned PHP service names, MariaDB, MySQL, or custom unit names. Confirm the exact systemd unit name before assuming detection is broken.

systemctl list-units --type=service --state=running --no-pager
systemctl status nginx httpd php-fpm mysqld mariadb --no-pager

Command failures

Restart command is queued but fails

A queued command can fail if the unit name is wrong, the service refuses to restart, systemd returns an error, or permissions are insufficient. Check the command result in Telegram, then inspect local service logs. Do not repeatedly press restart without checking why the service failed.

Support template

Information to include when contacting support

A useful support request includes the server nickname, approximate time of the problem, command used, visible Telegram error, and sanitized agent log lines. Do not include local agent secrets, SSH keys, passwords, database credentials, or hosting panel access.

Reset

Reset, reinstall or uninstall

For a clean repair, create a new pairing token with /add_server and reinstall. To stop monitoring, disable the service on the server and remove the server record from service storage.

Support

When to contact support

Contact support if pairing succeeds but the server never appears, service commands consistently fail, or alerts do not match visible metrics. Use the contact page and do not send passwords.

Start monitoring

Connect a Linux server from Telegram.

Open the bot, request a one-time pairing command, run it on the server and receive the first status report in Telegram.