Connecting to a running synthetics job manager using HTTP is the easiest way to check if it's healthy and working. The container exposes port 8080. You can check the synthetics job manager with the following endpoints:
:8080/status/check: provides details about internal health checks that the minion performs. HTTP 200 means the status is healthy.
Check if your private location requires more synthetics job managers
If your private location has multiple monitor checks queued up and you experience delays, you may need more synthetics job managers available to execute the monitor checks. In Kubernetes, this could be addressed with more ping runtime replicas and higher parallelism settings for API and browser runtimes.
You can monitor your minion's health by looking at synthetics job manager container logs.
This is an example of a synthetics job manager log indicating that the synthetics job manager is working properly in a Docker container system environment:
bash
$
docker logs YOUR_CONTAINER_NAME
2022-09-14 19:00:27,966{PST} [main] INFO c.n.s.j.u.d.SyntheticsDockerUtility - Creating container for newrelic/synthetics-ping-runtime:latest
2022-09-14 19:00:28,239{PST} [main] INFO c.n.s.j.u.d.SyntheticsDockerUtility - Successfully created container 256ffb2683c1ca525b19d866980204255210f85e17d64bb7db0339943fb3ee01 for newrelic/synthetics-ping-runtime:latest
2022-09-14 19:00:28,240{PST} [main] INFO c.n.s.j.u.d.SyntheticsDockerUtility - Starting newrelic/synthetics-ping-runtime:latest with CONTAINER_ID: 256ffb2683c1ca525b19d866980204255210f85e17d64bb7db0339943fb3ee01
2022-09-14 19:00:28,714{PST} [main] INFO c.n.s.j.u.d.SyntheticsDockerUtility - Successfully started newrelic/synthetics-ping-runtime:latest with CONTAINER_ID: 256ffb2683c1ca525b19d866980204255210f85e17d64bb7db0339943fb3ee01
2022-09-14 19:00:28,751{PST} [main] INFO c.n.s.j.s.S.JobManagerService - Starting Workers
... logging continues ...
2022-09-14 19:00:32,001{PST} [main] INFO o.e.jetty.server.AbstractConnector - Started application@1c7843c3{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2022-09-14 19:00:32,017{PST} [main] INFO o.e.jetty.server.AbstractConnector - Started admin@1c0e4262{HTTP/1.1, (http/1.1)}{0.0.0.0:8082}
2022-09-14 19:00:32,017{PST} [main] INFO org.eclipse.jetty.server.Server - Started @151139ms
This is an example of a synthetics job manager log indicating that the synthetics job manager is working properly in a Podman container system environment:
$podman logs [YOUR_CONTAINER_NAME]
This is an example of a synthetics job manager log indicating that the synthetics job manager is working properly in a Kubernetes container orchestration system environment:
First, get the name of the synthetics job manager pod you want to review logs for:
bash
$
kubectl get pods -n YOUR_NAMESPACE
Then, interact with that synthetics job manager pod:
2022-09-14 19:02:50,055{PST} [main] INFO o.e.jetty.server.AbstractConnector - Started application@472c9f88{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}
2022-09-14 19:02:50,139{PST} [main] INFO o.e.jetty.server.AbstractConnector - Started admin@605c7a9e{HTTP/1.1, (http/1.1)}{0.0.0.0:8082}
2022-09-14 19:02:50,140{PST} [main] INFO org.eclipse.jetty.server.Server - Started @22831ms
... logging continues ...
Enable debug logs
If you experience issues with your synthetics job manager, you can enable debug logs to help troubleshoot issues.
The default level of logging is set to only inform the user of key information and actionable errors. If this is insufficient, you can enable a more verbose logging by using the LOG_LEVEL environment variable.
Important
Be careful increasing the log level to DEBUG or TRACE. Higher log levels will record more data—that can help you debug, but also increases the risk of capturing sensitive data and storing sensitive data outside of your approved locations. To ensure data privacy and security, you should limit the types of information New Relic collects.
Tip
Adding -f to the Docker logs makes the command follow logs.
bash
$
docker run ... -eLOG_LEVEL=DEBUG ...
$
docker logs -f YOUR_CONTAINER_NAME
... verbose logging continues ...
Tip
Adding -f to the Podman logs makes the command follow logs.
podman run ... -e LOG_LEVEL=DEBUG ...
podman logs -f YOUR_CONTAINER_NAME
... verbose logging continues ...
Tip
Adding -f to the Kubernetes logs makes the command follow logs.
To enable DEBUG logs add the --set synthetics.logLevel=DEBUG option when running your helm install:
If you experience issues with your synthetics job manager in a Kubernetes container orchestration system environment, you can retrieve information about the synthetics job manager pod and the node it is running on to help troubleshoot.
To retrieve information for the synthetics job manager pod:
bash
$
kubectl describe pod -n YOUR_NAMESPACE YOUR_JOB_MANAGER_POD_NAME
To retrieve information for the node the synthetics job manager pod is running on, identify the node, and then:
If you are using the infrastructure agent to monitor these runner containers, configure at least one monitor to run each minute. The infrastructure agent will have more opportunity to notice and collect the above labels from the docker inspect of the container before it is deleted.