====== OS Agent - Install Telegraf ======
This page explains how to install the **Telegraf** agent on the target host so it can push OS metrics to the Collector.
The fastest path is the **one-shot setup script** generated by the Collector. The manual steps are also documented below if you prefer to do it yourself, or if your environment blocks scripts.
===== One-shot setup (recommended) =====
==== Linux ====
- Open the OS Agent modal in the Collector or Cockpit
- Go to the **Configuration** tab
- At the bottom, copy the **wget command**
- Paste it on the target host as ''root'' (or with ''sudo'')
The command looks like this:
wget https://collector.example.com/api/v1/os-agent/generate?format=sh -O setup.sh && chmod +x setup.sh && sudo ./setup.sh
The script does:
- Detect the package manager (apt or yum)
- Add the official InfluxData repository
- Install the ''telegraf'' package
- Write ''/etc/telegraf/telegraf.conf'' with the Collector URL and API key already filled in
- Enable and start the ''telegraf'' service
You should see ''Done. Telegraf installed and running.'' at the end.
==== Windows ====
- Open the OS Agent modal
- Go to the **Configuration** tab
- Click **setup.ps1** to download the file
- Open **PowerShell as Administrator**
- Run the script:
.\setup.ps1
The script does:
- Try to fetch the latest Telegraf version from the GitHub API. If GitHub is not reachable, it falls back to a built-in version
- Download the Telegraf zip from ''dl.influxdata.com''
- Extract to ''C:\Program Files\Telegraf\''
- Write ''telegraf.conf'' with the Collector URL and API key already filled in
- Install and start the ''telegraf'' Windows service
**Important:** Telegraf must be installed as a service on Windows. Running it as a normal user limits which processes it can read.
===== Manual install =====
Use this if the one-shot script does not fit (offline host, custom path, etc.).
==== Linux - install Telegraf ====
# Debian / Ubuntu
curl -s https://repos.influxdata.com/influxdata-archive.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/influxdata-archive.gpg
echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install -y telegraf
# RHEL / CentOS / Rocky
sudo tee /etc/yum.repos.d/influxdata.repo <<'EOF'
[influxdata]
name = InfluxData Repository
baseurl = https://repos.influxdata.com/rhel/$releasever/$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdata-archive_compat.key
EOF
sudo yum install -y telegraf
==== Windows - install Telegraf ====
- Download the latest Telegraf zip from [[https://www.influxdata.com/downloads/|influxdata.com]]
- Extract it to ''C:\Program Files\Telegraf\''
- Open **PowerShell as Administrator**
- Install as a service:
& "C:\Program Files\Telegraf\telegraf.exe" --service install --config "C:\Program Files\Telegraf\telegraf.conf"
Start-Service telegraf
==== Get the config file ====
After Telegraf is installed, you still need a valid ''telegraf.conf''. The simplest way:
- Open the OS Agent modal in the Collector
- Go to the **Configuration** tab
- Click **telegraf.conf** to download the file
- Copy it to:
* Linux: ''/etc/telegraf/telegraf.conf''
* Windows: ''C:\Program Files\Telegraf\telegraf.conf''
- Restart the Telegraf service
# Linux
sudo systemctl restart telegraf
# Windows (PowerShell as Admin)
Restart-Service telegraf
===== Verify Telegraf is running =====
==== Linux ====
sudo systemctl status telegraf
journalctl -u telegraf -f
A healthy log shows ''Loaded inputs:'' and ''Loaded outputs:'' lines, then nothing else - Telegraf only logs errors after startup.
==== Windows ====
Get-Service telegraf
Get-EventLog -LogName Application -Source Telegraf -Newest 20
===== Verify the host is registered in the Collector =====
- Open the OS Agent modal
- Go to the **Monitor** tab (or **Hosts** in Cockpit)
- The host should appear within 30 seconds with status //OK//
- Click the row to expand and see CPU, memory, disk and per-process detail
If the host does not appear, see [[products:promonitor:latest:userguide:administration:os-agent:troubleshooting|Troubleshooting]].
===== Test the push manually =====
You can test the push endpoint with ''curl'' before installing Telegraf:
curl -X POST https://collector.example.com/api/v1/os-agent/push \
-H "Content-Type: text/plain" \
-H "X-API-Key: YOUR-KEY-HERE" \
-d 'cpu,host=test_host,cpu=cpu-total usage_idle=85.5,usage_user=10.2,usage_system=4.3
mem,host=test_host used_percent=72.1,available=4294967296'
Expected response: ''OK''.
After this, the host ''test_host'' appears in the Monitor tab. You can then delete it manually once you are done testing.
===== Connection problems =====
==== HTTPS with self-signed certificate ====
If your Collector uses a self-signed certificate, Telegraf will refuse to connect by default. Open ''telegraf.conf'' and add this in the ''outputs.http'' section:
[[outputs.http]]
url = "https://collector.example.com/api/v1/os-agent/push"
...
insecure_skip_verify = true
The setup script adds this line automatically when the Collector URL starts with ''https''.
==== Behind a corporate proxy ====
Set the proxy as an environment variable before starting Telegraf:
# Linux - in /etc/default/telegraf
HTTPS_PROXY=http://proxy.example.com:8080
HTTP_PROXY=http://proxy.example.com:8080
NO_PROXY=localhost,127.0.0.1
On Windows, set the same variables at the system level (Environment Variables) and restart the service.
===== Uninstall =====
==== Linux ====
sudo systemctl stop telegraf
sudo systemctl disable telegraf
sudo apt-get remove --purge telegraf # or: sudo yum remove telegraf
sudo rm -rf /etc/telegraf
==== Windows ====
Stop-Service telegraf
& "C:\Program Files\Telegraf\telegraf.exe" --service uninstall
Remove-Item -Recurse "C:\Program Files\Telegraf"
The host stays in the Collector database with status //ERROR// (no recent push) until you delete it from the **Monitor** tab.