Gotta Collect 'Em All
Metrics Easily Visualised
Who am I?
- Student at Graz University of Technology 🎓
- System Analyst at BearingPoint 🌿
- Linux experience of about 6 years 💻
- Previously HW/SW-Developer and SysAdmin 🌱
- Likes to play Basketball 🏀
How I got into my sports courses?
What happened after?
Why even collect metrics?
Provide system health overview
- View uptime and status
- Explore usage stats (CPU, RAM, Disk I/O etc.)
- Examine Package update status
- Verify network health
Avoid disasters
- Monitor critical processes and jobs
- View disk usage
- Check backup status
Prevent disk failure
- Observe S.M.A.R.T results
- Track temperatures
Collect IoT data
- Gather IoT sensor readings
- Probe webserver status
What is Telegraf?
- Free Open Source Software
- Metrics Agent
- Written in Go
- Plugin-driven
Why would you want to use it?
- Single binary
- Minimal memory footprint
- High flexibility
- Straightforward setup
How can it be deployed?
- Binary
- Ansible role
- Docker container
- Kubernetes deployment
Basic Configuration
telegraf --input-filter cpu --output-filter influxdb config
Plugin Configuration
Input Plugins
- Sensors (lm_sensors)
- S.M.A.R.T.
- HTTP response
- X.509 Certificate
- Wireguard
- Minecraft scoreboard
- YouTube
Example Input Plugins
Even More Input Plugins
- Octoprint API
- OpenWeatherMap
- PostgreSQL/MySQL queries
- Proxmox API
- MQTT Consumer
- Octoprint API
- CS:GO server statistics
- many more …
Aggregator and Processor Plugins
Output Plugins
- InfluxDB
- Exec
- File
- Prometheus
- MQTT Producer
Docker Compose Setup
Docker Images
docker pull telegraf
docker pull telegraf:1.18
docker pull telegraf:1.18-alpine
Docker Container Monitoring
Docker Input Plugin
Dashboard Search
Docker Dashboard
Environment Variables
System Input Plugins
Host Overview Dashboard
More dashboards
Simulating top