This is the 'worker' for Grafana's Synthetic Monitoring application. The agent provides probe functionality and executes network checks for monitoring remote targets.
Please install Synthetic Monitoring in your Grafana Cloud or local Grafana instance before setting up your own private probe. You may need to generate a new API key to initialize the app.
Probes run checks from distributed locations around the world and send the resulting metrics and events directly to Grafana Cloud Prometheus and Loki services.
You can select 1 or more public probes to run checks from or run your own private probes from any environment you choose.
Please refer to Private Probe docs for details.
See examples/kubernetes for the documentation and example yaml files
We release 2 versions of the Docker image for the agent, depending on whether or not Chromium is installed in the environment for use in browser checks.
Variants with the browser installed are tagged with the suffix *-browser
. These images are substantially larger and shouldn't be used unless you need the browser functionality to keep memory requirements minimal.
These are built using the same multi-stage Dockerfile, so be aware that Docker build
scripts failing to specify a build target will produce the larger image every time.
docker build --target release .
docker build .
or docker build --target with-browser .
The agent traps the following signals:
/disconnect
endpoint to send SIGUSR1 to process.You can use the /ready
endpoint to check if probe has been able to
connect to the API and is ready to start processing checks. A status
code of 200 signals that the agent is ready. If the agent is not yet
ready, the response has a status code of 503.
Used in conjunction with the USR1 signal or /disconnect
endpoint,
you can use this mechanism to ask a running agent to disconnect from the API,
and poll the /ready
entrypoint in order to determine if the
new agent has been able to connect already.