Skip to main content

Grafana pdc-agent as a Service

Introduction

This guide will provide instructions on how to set up a Grafana pdc-agent as a service in Ubuntu 24.04

Get pdc-agent Credentials

In Grafana, open up the side menu and select "Private data source connect"

pdc-menu-item

If the network does not already exist, select "Add new network". Then provide a name

pdc-name

Select the "Binary" option

pdc-binary

Click the button to create a token. A token will be generated, scroll down to step 3 and find the section that states "Run the binary". Copy the command into a notepad, this will be needed for later.

Download the pdc-agent

Navigate to the pdc-agent Download Page and locate the release with the "Latest" tag. At the time of this wiki the latest version is pdc-agent_Linux_x86_64.tar.gz and it will be used as an example in future commands within this wiki.

Download

Download the latest version to the home directory

wget -P ~/ https://github.com/grafana/pdc-agent/releases/download/v0.0.36/pdc-agent_Linux_x86_64.tar.gz

Extract

Extract the downloaded file

tar -xvf ~/pdc-agent_Linux_x86_64.tar.gz

Move the extracted files

sudo mv ~/pdc-agent_Linux_x86_64/pdc /usr/local/bin/pdc

Prepare Executable

Make executable

Make the pdc binary executable

sudo chmod +x /usr/local/bin/pdc

Clean Up

Delete the tar.gz file

rm -rf ~/pdc-agent_Linux_x86_64*

Set Permissions

Set permissions

sudo chown -R $USER:$USER /usr/local/bin/pdc

Credentials

Create Environmental Variables

Create a file to store sensitive values as environmental variables

sudo nano /etc/default/pdc-agent

Add Credentials

Open the notepad that you saved the command from earlier. Paste in the values provided by Grafana for your pdc-agent. Then press ctrl + x, then y, then enter to save.

GCLOUD_PDC_SIGNING_TOKEN="your_signing_token_here"
CLUSTER="your_cluster"
GCLOUD_HOSTED_GRAFANA_ID="your_grafana_id"
  • -token is the GCLOUD_PDC_SIGNING_TOKEN
  • -cluster is the CLUSTER
  • -gcloud-hosted-grafana-id is the GCLOUD_HOSTED_GRAFANA_ID

Create the Service

Open with Nano

Use nano to create a pdc-agent.service file

sudo nano /etc/systemd/system/pdc-agent.service

Add the Configuration

Add the following configuration, then press ctrl + x, then y, then enter to save.

[Unit]
Description=PDC Agent
After=network.target

[Service]
Type=simple
EnvironmentFile=/etc/default/pdc-agent
ExecStart=/usr/local/bin/pdc -token $GCLOUD_PDC_SIGNING_TOKEN -cluster $CLUSTER -gcloud-hosted-grafana-id $GCLOUD_HOSTED_GRAFANA_ID
Restart=always

[Install]
WantedBy=multi-user.target

Start the Service

Reload

Reload the daemon

sudo systemctl daemon-reload

Start

Start the service

sudo systemctl start pdc-agent

Enable

Enable the service

sudo systemctl enable pdc-agent

Verify

Verify the service is running

sudo systemctl status pdc-agent

Connect to Grafana

Now go back to the "Private data source connect" page in Grafana. Click "Test agent connection". The "agents connected" should now state "1".

Add Prometheus Data Source

Now that Grafana is connected to the local pdc-agent Prometheus can be added as a data source if it is already configured. If it has not been configured yet it can be installed as a service

In the menu select "Data Sources".

prometheus-data-source

Select "Add new data source". Then select "Prometheus". Set the "Name" for the data source.

pdc-prom-name

Enter in http://<YOUR IP>:9090 as the Prometheus server URL. Where it says <YOUR IP> use the internal IP for the PC running the pdc-agent. This can be found with ip a.

pdc-connection-prom

Scroll all the way to the bottom and click the dropdown for "Private data source connect" and choose the data source you just set up.

pdc-prom-test

Then click "Save & Test". You should receive a success message

pdc-success