WebPagetest Forums
WebPageTest Agent Healthcheck - Printable Version

+- WebPagetest Forums (https://www.webpagetest.org/forums)
+-- Forum: WebPagetest (/forumdisplay.php?fid=7)
+--- Forum: Private Instances (/forumdisplay.php?fid=12)
+--- Thread: WebPageTest Agent Healthcheck (/showthread.php?tid=15112)



WebPageTest Agent Healthcheck - ceetee - 11-05-2017 07:44 AM

I'm new to WebPageTest and looking into running this in a test environment.

I've currently set this up locally on a mac, using docker for the WPT Server and Agent.

I wanted a way to perform a healthcheck to indicate if the agent is running, and came across this python script - https://github.com/WPO-Foundation/healthcheck/blob/master/healthcheck.py

Background: The reason for the healthcheck, is that there will be a service making healthcheck pings to agents to ensure the agent is running.

Looking at the python script (healthcheck.py), the script needs to be running on the same instance/container as the agent and it will check 2 things
1. The process uptime in /proc/uptime
2. An ALIVE_FILE (which needs to be pointing to something), passed in as an option (see: https://github.com/WPO-Foundation/healthcheck/blob/master/healthcheck.py#L47)

Question: I would like to know is there already another file that gets updated that could be referenced as an ALIVE_FILE (ideally a log file?).
Or if there is a log file in the container / a way to configure a log file within the docker container?

I also had a look at the agent container logs (running: docker logs --tail <container>), I see this as output:
02:12:25.380 - Get Work Error: None
02:12:30.505 - Get Work Error: None

Question: Is there a way to have this log to a file?


RE: WebPageTest Agent Healthcheck - MachMetrics - 11-07-2017 09:54 AM

I don't know much about the python script you're referencing, but I find that using the /getTesters.php and /getLocations.php files on the wpt server provide a good summary of knowing how your agents are performing.


RE: WebPageTest Agent Healthcheck - ceetee - 11-08-2017 10:00 AM

Thanks for the reply Smile

Hm, in my case, we need to check the agents directly.

For example consider the case where:
The server is running and agent is running but there could be issues with network which might prevent the agent registering with the server

So ideally checking something on the agent would be ideal.

Workaround 1: We could run docker commands remotely on the agent to check /proc/uptime I suppose