Skip to main content
All CollectionsTroubleshooting
Troubleshooting Runners
Troubleshooting Runners
Ely Ronen avatar
Written by Ely Ronen
Updated over a week ago

An essential component of Blink is the runner. Runners are responsible for running the Actions that make up Automations. Runners communicate with the Blink Controller (the main component in Blink).

Deploying a runner

Runners are clustered into runner groups. Each runner group may contain several runners, forming a single logical unit that runs actions from Automations.

The default runner group is Blink Cloud, present out-of-band and maintained by us in Blink's k8s cluster. Users can use this runner group, but cannot modify, delete, etc. It serves as the default runner group unless it is disabled for a specific account or group, or for a particular Automation.

Runners can be deployed in an environment not managed by Blink in one of the following ways:

Helm - We provide a Helm chart for deploying runners into k8s clusters.

Docker - We provide a Docker image that can be used to deploy a runner on a Docker Engine.

CloudFormation - We provide a CloudFormation template which deploys a runner (on a Docker Engine) on an EC2 instance in AWS.

Viewing basic runner information

Like with any other service, you may need to troubleshoot the runner. Initial troubleshooting can be done by looking at the Runners screen.

  1. Navigate to the Runners screen from the left-side menu of the Blink platform.

    2. Click Runners. The Runners screen is displayed.


A list of runner groups and details about each group appear. Details include; the name, the workspace it belongs to, tags, workspaces it is shared with, how many automations are using it, number of runner instances in the group, and the status.

3. Click

The following options are displayed:

4. Click Edit. A dialog box opens and shows a list of instances with information about each runner instance in the group.

Viewing runner logs

How to view the runner logs depends on how the runner was deployed.

Helm

If the runner is deployed with Helm the logs can be viewed using kubectl. Check that you are connected to the correct cluster:

  1. Use the following command to list all the pods in the <NAMESPACE> namespace:

    kubectl -n <NAMESPACE> get po

    Make sure to replace <NAMESPACE> with the name of the namespace you deployed the runner into.

  2. After acquiring the runner pod name, run the following command to get information:

    kubectl -n <NAMESPACE> describe po <POD>

  3. To view the logs of the pod, run:

    kubectl -n <NAMESPACE> logs -f <POD>

    Make sure to replace <POD> with the runner pod name.

Docker

If the runner is deployed with Docker, the logs can be viewed using the docker CLI.

  1. Use the following command to list all the containers that are hosted by the Docker engine:

    docker ps -a

    The runner container can be found in the list.

  2. Replacing <CONTAINER> with the container ID of the runner container will start printing logs of the runner.

    docker logs -f <CONTAINER>

CloudFormation

If the runner is deployed using CloudFormation, viewing the logs is essentially the same as in the Docker case. The difference is that the host of the Docker Engine is part of the stack that is deployed using our template, so you’ll need to use EC2 Instance Connect to log in to the EC2 instance hosting that Docker Engine.

  1. In the AWS Console of your account, navigate to CloudFormation → Stacks.

  2. Select your runner stack --> click Resources tab.

  3. Click the ID of the BlinkRunnerEc2Instance resource.

  4. Click the checkbox next to the single element in the EC2 instances list --> Connect.

  5. Click Connect.

    A shell session with the EC2 instance opens.

  6. With a shell session with the EC2 instance, follow the instructions in the Docker section to view the runner logs.

Feel free to contact us if you need further assistance.

Did this answer your question?