SlideShare a Scribd company logo
Samantha Wang
Product Manager, InfluxData
Getting Started: Intro
to Telegraf
© 2021 InfluxData. All rights reserved.
2
2
– What is Telegraf
– Plugin Ecosystem
– Configuration Basics
– Extending the Ecosystem
Agenda
© 2021 InfluxData. All rights reserved.
3
InfluxDB
© 2021 InfluxData. All rights reserved.
4
What is InfluxDB?
Characteristics
of the data
– Time-stamped
– Generated in regular
(metric) and
irregular (event) time
periods
– Huge volumes
– Real time and time
sensitive
© 2021 InfluxData. All rights reserved.
5
Visualization
Alerts
Triggers
Metrics
Logs
Traces
Events
The platform of choice for all metrics & event workloads
© 2021 InfluxData. All rights reserved.
6
InfluxData Platform Architecture
© 2021 InfluxData. All rights reserved.
7
InfluxData products and offerings
* Availability TBD
© 2021 InfluxData. All rights reserved.
8
Telegraf
© 2021 InfluxData. All rights reserved.
9
9
Current Data Acquisition - All Methods
Agent-based Push (aka Telegraf)
Agentless Pull (aka Scrapers)
Client Libraries
Native/Ecosystem
● 200+ Telegraf plugins
● Regular cadence of releases
● Why use it?
○ No code
○ Large community
○ Lightweight but powerful
○ Customizable
● Prometheus scraper (OSS only)
● Flux prometheus.from
● Flux csv.from(url)
● Why use them?
○ Get data in quickly
○ Doesn’t require agent downloads on
monitoring device
● 7 Libraries: Python, C#, Java, GO,
Javascript/Node.js, Ruby, PHP
● Handles batching, chunking, setting right
headers, etc.
● Why use them?
○ Easy way to get started
○ Need libraries when building custom
applications
● Source system speaks line protocol
● Examples: JMeter, NiFi, Vector, FluentD
● Influx CLI CSV Import
● Why use them?
○ Know what you want to monitor,
quick and easy integration
© 2021 InfluxData. All rights reserved.
10
Telegraf provides the benefits of…
● Low/No code
● Robust scheduler
● High-speed ingestion
● Full-streaming support
● Metric routing
● Flexible parsing, formatting, serializing
● Customizable and Extensible (ExecD
plugins, Starlark)
Instead of…
● Writing long data scraping scripts
● Worrying about unreliable data
collection
● Trouble scaling your data collection
● Resulting in messy data
● Having a lot of unnecessary data in
your database
© 2021 InfluxData. All rights reserved.
11
11
Telegraf:
Agent for Collecting Metrics & Events
Plugin-driven server agent for
collecting and reporting metrics
• Written in Go
• Single Binary, No external
dependencies
• Minimal memory footprint
• Optimized for writing to InfluxDB
• Optimized for streaming data
Input plugins to source a variety of
metrics
• directly from the system it’s running on
• pull metrics from third party APIs
• listen for metrics via a statsd and
Kafka consumer services
© 2021 InfluxData. All rights reserved.
12
12
Telegraf:
Agent for Collecting Metrics & Events
Output plugins to send metrics to a
variety of other datastores, services,
and message queues
• InfluxDB, Graphite, OpenTSDB,
Datadog, and many others
• Writes to multiple outputs at the
same time
Metrics routing and conversion
Aggregation stage for InfluxDB
© 2021 InfluxData. All rights reserved.
13
13
Telegraf Agent
– Core of Telegraf functionality providing the following
– Robust scheduler
– Adjustments for clock-drift
– Adjustments for job scheduling issues that may occur
– In-memory metric buffers
– Metric tracking with flow back-pressure in plugins like Kafka
– Full-streaming support
– Metric routing: name & field pass & drop
– Flexible parsing, formatting, serializing
© 2021 InfluxData. All rights reserved.
14
Plugins! Plugins! Plugins!
© 2021 InfluxData. All rights reserved.
15
15
Telegraf Plugin Ecosystem
Input Plugins
● collect metrics from system,
services, or third party APIs
Output Plugins
● write data to various destinations
Processors
● transform, decorate, and/or filter
metrics
Aggregators
● create aggregate metrics (e.g.
mean, min, max, quantiles, etc.)
© 2021 InfluxData. All rights reserved.
16
16
Telegraf Plugin Types
170+ 40+ 15+ 5+
Input Output Processors Aggregators
© 2021 InfluxData. All rights reserved.
17
17
Input Plugins
activemq
aerospike
amqp_consumer
apache
apcupsd
aurora
azure_storage_que
ue
bcache
beanstalkd
bind
bond
burrow
cassandra
ceph
cgroup
chrony
cisco_telemetry_mdt
clickhouse
cloud_pubsub
cloud_pubsub_push
cloudwatch
conntrack
consul
couchbase
couchdb
cpu
dcos
disk
diskio
disque
dmcache
dns_query
docker
docker_log
dovecot
ecs
elasticsearch
ethtool
eventhub_consumer
exec
execd
fail2ban
fibaro
file
filecount
filestat
fireboard
fluentd
github
gnmi
graylog
haproxy
hddtemp
http
http_listener_v2
http_response
httpjson
icinga2
infiniband
influxdb
© 2021 InfluxData. All rights reserved.
18
18
Input Plugins (2)
influxdb_listener
influxdb_v2_listener
intel_rdt
internal
interrupts
ipmi_sensor
ipset
iptables
ipvs
jenkins
jolokia
jolokia2
jti_openconfig_telemetr
y
kafka_consumer
kafka_consumer_legacy
kapacitor
kernel
kernel_vmstat
kibana
kinesis_consumer
kube_inventory
kubernetes
lanz
leofs
linux_sysctl_fs
logparser
logstash
lustre2
mailchimp
marklogic
mcrouter
mem
memcached
mesos
minecraft
modbus
mongodb
monit
mqtt_consumer
multifile
mysql
nats
nats_consumer
neptune_apex
net
net_response
nginx
nginx_plus
nginx_plus_api
nginx_sts
nginx_upstream_check
nginx_vts
nsd
nsq
nsq_consumer
nstat
ntpq
nvidia_smi
opcua
openldap
© 2021 InfluxData. All rights reserved.
19
19
Input Plugins (3)
openntpd
opensmtpd
openweathermap
passenger
pf
pgbouncer
phpfpm
ping
postfix
postgresql
postgresql_extensibl
e
powerdns
powerdns_recursor
processes
procstat
prometheus
proxmox
puppetagent
rabbitmq
raindrops
ras
redfish
redis
rethinkdb
riak
salesforce
sensors
sflow
smart
snmp
snmp_legacy
snmp_trap
socket_listener
solr
sqlserver
stackdriver
statsd
suricata
swap
synproxy
syslog
sysstat
system
systemd_units
tail
tcp_listener
teamspeak
temp
tengine
tomcat
trig
twemproxy
udp_listener
unbound
uwsgi
varnish
vsphere
webhooks
win_eventlog
win_perf_counte
rs
win_services
wireguard
wireless
x509_cert
zfs
zipkin
zookeeper
© 2021 InfluxData. All rights reserved.
20
20
Processor Plugins
clone
converter
date
dedup
defaults
enum
execd
filepath
ifname
override
parser
pivot
port_name
printer
regex
rename
reverse_dns
s2geo
starlark
strings
tag_limit
template
topk
unpivot
© 2021 InfluxData. All rights reserved.
21
21
Aggregator Plugins
basicstats
final
histogram
merge
minmax
valuecounter
© 2021 InfluxData. All rights reserved.
22
22
Output Plugins
amon
amqp
application_insights
azure_monitor
cloud_pubsub
cloudwatch
cratedb
datadog
discard
dynatrace
elasticsearch
exec
execd
file
graphite
graylog
health
http
influxdb
influxdb_v2
instrumental
kafka
kinesis
librato
logzio
mqtt
nats
newrelic
nsq
opentsdb
prometheus_client
riemann
riemann_legacy
socket_writer
stackdriver
sumologic
syslog
timestream
warp10
wavefront
yandex_cloud_monito
ring
© 2021 InfluxData. All rights reserved.
23
23
Telegraf
CPU
Mem
Disk
Docker
Kubernetes
/metrics
Kafka
MySQL
Process
- transform
- decorate
- filter
Aggregate
- mean
- min,max
- count
- variance
- stddev
InfluxDB
File
Kafka
CloudWatch
CloudWatch
Input
Output
One Telegraf, Multiple Plugins
© 2021 InfluxData. All rights reserved.
24
24
Can’t find the plugin you need?
Telegraf is 100% open source
with a strong community of
contributors
It’s easy to write your own
Telegraf plugin!
1) Follow the contribution
guide for Go
2) Write your plugin in any
language and run it externally
with ExecD
© 2021 InfluxData. All rights reserved.
25
25
Popular Plugins
Out-of-the-box Custom
Kubernetes (kubelet) HTTP/socket listener
Kube_inventory (apiserver) HTTP (formatted endpoints)
Kafka (consumer) Prometheus (/metrics)
SNMP Exec/Execd
AMQP (mq metadata) StatsD
Redis
Nginx
HAproxy
Jolokia2
© 2021 InfluxData. All rights reserved.
26
26
Parsing
JSON
CSV
Graphite
Prometheus
CollectD
Dropwizard
Form URL-encoded
Grok
© 2021 InfluxData. All rights reserved.
27
Getting Started with
Telegraf
© 2021 InfluxData. All rights reserved.
28
28
Download Telegraf
© 2021 InfluxData. All rights reserved.
29
Configuration Basics
© 2021 InfluxData. All rights reserved.
30
30
Telegraf Configuration Snippets
Include many plugins per
Telegraf
- multiple inputs, outputs,
processors, aggregators
© 2021 InfluxData. All rights reserved.
31
31
The Telegraf config file
needs to be specified
for Telegraf agent to
operate properly.
It contains setup for the
agent, global tags, and
enabled outputs
(through commenting
out or removing
unnecessary lines)
What’s in a configuration file?
© 2021 InfluxData. All rights reserved.
32
32
Set and Test Your Configuration
$ telegraf --input-filter cpu:system --output-filter influxdb --processor-filter
starlark --aggregator-filter valuecounter config > telegraf.conf
WRITE DESIRED CONFIG FILE
RUN CONFIG FILE TEST
$ telegraf --config telegraf.conf --test
VERIFY YOUR CONFIG WORKS
© 2021 InfluxData. All rights reserved.
33
Extending the Ecosystem
© 2021 InfluxData. All rights reserved.
34
34
● Work with the open-source community or submit upgrades or
enhancements for existing plugins
● Use ExecD to write a plugin in Go or a language of your choice
You can extend Telegraf by:
© 2021 InfluxData. All rights reserved.
35
35
● Plugin runs in its own process
● Requires line protocol
● Avoid the need for review by Telegraf team
● Supports the same API as an internal plugin
● Can use for non-GO plugins
● Can use for licensed software plugins
● Can use for any type of plugin (input, output, processor,
aggregator)
External plugins via ExecD
© 2021 InfluxData. All rights reserved.
36
36
Execd
Plugin
Arch.
© 2021 InfluxData. All rights reserved.
37
37
[[processors.execd]]
command = ["python", "./processors/forecasting.py"]
Sample ExecD Config: Input, Output, Processor
© 2021 InfluxData. All rights reserved.
38
38
Customer Quotes
“Telegraf is like a swiss army
knife for connecting various
MQTT sources and OPC UA
sources.”
— Fr. Ant. Niedermayr
“Our next-generation
pipeline takes advantage of
Kafka and the Telegraf
streaming service to create a
more robust data topology.
Essentially this allows us to
explicitly implement the four
R’s: routability, retention,
resilience, and redundancy.”
— Wayfair
© 2021 InfluxData. All rights reserved.
39
Telegraf Community
© 2021 InfluxData. All rights reserved.
40
Get involved with Telegraf
• Telegraf GitHub:
github.com/influxdata/telegraf
• Community Slack:
influxdata.com/slack
#telegraf
#telegraf-dev
• Community Website:
community.influxdata.com
© 2021 InfluxData. All rights reserved.
41
41
References
Getting started with Telegraf
Telegraf plugins
Telegraf GitHub Page
External Plugins Guide
Thank You
© 2021 InfluxData. All rights reserved.
43
43
Input Plugins
activemq
aerospike
amqp_consumer
apache
apcupsd
aurora
azure_storage_queu
e
bcache
beanstalkd
bind
bond
burrow
cassandra
ceph
cgroup
chrony
cisco_telemetry_mdt
clickhouse
cloud_pubsub
cloud_pubsub_push
cloudwatch
conntrack
consul
couchbase
couchdb
cpu
dcos
disk
diskio
disque
dmcache
dns_query
docker
docker_log
dovecot
ecs
elasticsearch
ethtool
eventhub_consumer
exec
execd
fail2ban
fibaro
file
filecount
filestat
fireboard
fluentd
github
gnmi
graylog
haproxy
hddtemp
http
http_listener_v2
http_response
httpjson
icinga2
infiniband
influxdb
© 2021 InfluxData. All rights reserved.
44
44
Input Plugins (2)
influxdb_listener
influxdb_v2_listener
intel_rdt
internal
interrupts
ipmi_sensor
ipset
iptables
ipvs
jenkins
jolokia
jolokia2
jti_openconfig_telemetry
kafka_consumer
kafka_consumer_legacy
kapacitor
kernel
kernel_vmstat
kibana
kinesis_consumer
kube_inventory
kubernetes
lanz
leofs
linux_sysctl_fs
logparser
logstash
lustre2
mailchimp
marklogic
mcrouter
mem
memcached
mesos
minecraft
modbus
mongodb
monit
mqtt_consumer
multifile
mysql
nats
nats_consumer
neptune_apex
net
net_response
nginx
nginx_plus
nginx_plus_api
nginx_sts
nginx_upstream_check
nginx_vts
nsd
nsq
nsq_consumer
nstat
ntpq
nvidia_smi
opcua
openldap
© 2021 InfluxData. All rights reserved.
45
45
Input Plugins (3)
openntpd
opensmtpd
openweathermap
passenger
pf
pgbouncer
phpfpm
ping
postfix
postgresql
postgresql_extensibl
e
powerdns
powerdns_recursor
processes
procstat
prometheus
proxmox
puppetagent
rabbitmq
raindrops
ras
redfish
redis
rethinkdb
riak
salesforce
sensors
sflow
smart
snmp
snmp_legacy
snmp_trap
socket_listener
solr
sqlserver
stackdriver
statsd
suricata
swap
synproxy
syslog
sysstat
system
systemd_units
tail
tcp_listener
teamspeak
temp
tengine
tomcat
trig
twemproxy
udp_listener
unbound
uwsgi
varnish
vsphere
webhooks
win_eventlog
win_perf_counte
rs
win_services
wireguard
wireless
x509_cert
zfs
zipkin
zookeeper
© 2021 InfluxData. All rights reserved.
46
46
Processor Plugins
clone
converter
date
dedup
defaults
enum
execd
filepath
ifname
override
parser
pivot
port_name
printer
regex
rename
reverse_dns
s2geo
starlark
strings
tag_limit
template
topk
unpivot
© 2021 InfluxData. All rights reserved.
47
47
Aggregator Plugins
basicstats
final
histogram
merge
minmax
valuecounter
© 2021 InfluxData. All rights reserved.
48
48
Output Plugins
amon
amqp
application_insights
azure_monitor
cloud_pubsub
cloudwatch
cratedb
datadog
discard
dynatrace
elasticsearch
exec
execd
file
graphite
graylog
health
http
influxdb
influxdb_v2
instrumental
kafka
kinesis
librato
logzio
mqtt
nats
newrelic
nsq
opentsdb
prometheus_client
riemann
riemann_legacy
socket_writer
stackdriver
sumologic
syslog
timestream
warp10
wavefront
yandex_cloud_monitor
ing

More Related Content

What's hot (20)

PDF
Introduction to Open Telemetry as Observability Library
Tonny Adhi Sabastian
 
PDF
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
NETWAYS
 
PPTX
OpenTelemetry For Operators
Kevin Brockhoff
 
PDF
Write your own telegraf plugin
InfluxData
 
PPTX
Kubernetes 101
Huy Vo
 
PDF
Timeseries - data visualization in Grafana
OCoderFest
 
PPTX
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
PPTX
Prometheus and Grafana
Lhouceine OUHAMZA
 
PDF
Getting Started Monitoring with Prometheus and Grafana
Syah Dwi Prihatmoko
 
PPTX
How to Use Telegraf and Its Plugin Ecosystem
InfluxData
 
PPTX
OpenTelemetry For Developers
Kevin Brockhoff
 
PDF
Writing the Container Network Interface(CNI) plugin in golang
HungWei Chiu
 
PDF
Exploring the power of OpenTelemetry on Kubernetes
Red Hat Developers
 
PPTX
Log management with ELK
Geert Pante
 
PDF
Ansible Automation to Rule Them All
Tim Fairweather
 
PDF
Intro to InfluxDB
InfluxData
 
PPTX
OpenTelemetry For Architects
Kevin Brockhoff
 
PDF
Introduction and Deep Dive Into Containerd
Kohei Tokunaga
 
PDF
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
GetInData
 
ODP
Monitoring With Prometheus
Knoldus Inc.
 
Introduction to Open Telemetry as Observability Library
Tonny Adhi Sabastian
 
OSMC 2022 | OpenTelemetry 101 by Dotan Horovit s.pdf
NETWAYS
 
OpenTelemetry For Operators
Kevin Brockhoff
 
Write your own telegraf plugin
InfluxData
 
Kubernetes 101
Huy Vo
 
Timeseries - data visualization in Grafana
OCoderFest
 
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Prometheus and Grafana
Lhouceine OUHAMZA
 
Getting Started Monitoring with Prometheus and Grafana
Syah Dwi Prihatmoko
 
How to Use Telegraf and Its Plugin Ecosystem
InfluxData
 
OpenTelemetry For Developers
Kevin Brockhoff
 
Writing the Container Network Interface(CNI) plugin in golang
HungWei Chiu
 
Exploring the power of OpenTelemetry on Kubernetes
Red Hat Developers
 
Log management with ELK
Geert Pante
 
Ansible Automation to Rule Them All
Tim Fairweather
 
Intro to InfluxDB
InfluxData
 
OpenTelemetry For Architects
Kevin Brockhoff
 
Introduction and Deep Dive Into Containerd
Kohei Tokunaga
 
Best Practices for ETL with Apache NiFi on Kubernetes - Albert Lewandowski, G...
GetInData
 
Monitoring With Prometheus
Knoldus Inc.
 

Similar to Getting Started: Intro to Telegraf - July 2021 (20)

PDF
Jess Ingrassellino [InfluxData] | How to Get Data Into InfluxDB | InfluxDays ...
InfluxData
 
PDF
Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...
InfluxData
 
PDF
InfluxDB + Telegraf Operator: Easy Kubernetes Monitoring
InfluxData
 
PDF
3 Reasons to Select Time Series Platforms for Cloud Native Applications Monit...
DevOps.com
 
PDF
OSMC 2024 | Telegraf – A data collection agent by Sven Rebhan.pdf
NETWAYS
 
PDF
Taming the Tiger: Tips and Tricks for Using Telegraf
InfluxData
 
PDF
Meet the Experts: InfluxDB Product Update
InfluxData
 
PDF
InfluxDB Live Product Training
InfluxData
 
PDF
The Telegraf Toolbelt: It Can Do That, Really? | David McKay | InfluxData
InfluxData
 
PDF
The Telegraf Toolbelt | David McKay | InfluxData
InfluxData
 
PDF
Tim Hall and Ryan Betts [InfluxData] | InfluxDB Roadmap and Engineering Updat...
InfluxData
 
PDF
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
GetInData
 
PDF
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
HostedbyConfluent
 
PPTX
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
 
PPTX
Stream processing IoT time series data with Kafka & InfluxDB | Al Sargent, In...
HostedbyConfluent
 
PPTX
The Flink - Apache Bigtop integration
Márton Balassi
 
PDF
INTERFACE by apidays 2023 - Data Collection Basics, Anais Dotis-Georgiou, Inf...
apidays
 
PDF
Jacob Marble [InfluxData] | Observability with InfluxDB IOx and OpenTelemetry...
InfluxData
 
PDF
Samantha Wang [InfluxData] | Data Collection Overview | InfluxDays 2022
InfluxData
 
PPTX
Anais Dotis-Georgiou & Steven Soroka [InfluxData] | Machine Learning with Tel...
InfluxData
 
Jess Ingrassellino [InfluxData] | How to Get Data Into InfluxDB | InfluxDays ...
InfluxData
 
Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...
InfluxData
 
InfluxDB + Telegraf Operator: Easy Kubernetes Monitoring
InfluxData
 
3 Reasons to Select Time Series Platforms for Cloud Native Applications Monit...
DevOps.com
 
OSMC 2024 | Telegraf – A data collection agent by Sven Rebhan.pdf
NETWAYS
 
Taming the Tiger: Tips and Tricks for Using Telegraf
InfluxData
 
Meet the Experts: InfluxDB Product Update
InfluxData
 
InfluxDB Live Product Training
InfluxData
 
The Telegraf Toolbelt: It Can Do That, Really? | David McKay | InfluxData
InfluxData
 
The Telegraf Toolbelt | David McKay | InfluxData
InfluxData
 
Tim Hall and Ryan Betts [InfluxData] | InfluxDB Roadmap and Engineering Updat...
InfluxData
 
Functioning incessantly of Data Science Platform with Kubeflow - Albert Lewan...
GetInData
 
Maximizing Real-Time Data Processing with Apache Kafka and InfluxDB: A Compre...
HostedbyConfluent
 
Intro to InfluxDB 2.0 and Your First Flux Query by Sonia Gupta
InfluxData
 
Stream processing IoT time series data with Kafka & InfluxDB | Al Sargent, In...
HostedbyConfluent
 
The Flink - Apache Bigtop integration
Márton Balassi
 
INTERFACE by apidays 2023 - Data Collection Basics, Anais Dotis-Georgiou, Inf...
apidays
 
Jacob Marble [InfluxData] | Observability with InfluxDB IOx and OpenTelemetry...
InfluxData
 
Samantha Wang [InfluxData] | Data Collection Overview | InfluxDays 2022
InfluxData
 
Anais Dotis-Georgiou & Steven Soroka [InfluxData] | Machine Learning with Tel...
InfluxData
 
Ad

More from InfluxData (20)

PPTX
Announcing InfluxDB Clustered
InfluxData
 
PDF
Best Practices for Leveraging the Apache Arrow Ecosystem
InfluxData
 
PDF
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
InfluxData
 
PDF
Power Your Predictive Analytics with InfluxDB
InfluxData
 
PDF
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
PDF
Build an Edge-to-Cloud Solution with the MING Stack
InfluxData
 
PDF
Meet the Founders: An Open Discussion About Rewriting Using Rust
InfluxData
 
PDF
Introducing InfluxDB Cloud Dedicated
InfluxData
 
PDF
Gain Better Observability with OpenTelemetry and InfluxDB
InfluxData
 
PPTX
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
InfluxData
 
PDF
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
PPTX
Introducing InfluxDB’s New Time Series Database Storage Engine
InfluxData
 
PDF
Start Automating InfluxDB Deployments at the Edge with balena
InfluxData
 
PDF
Understanding InfluxDB’s New Storage Engine
InfluxData
 
PDF
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
InfluxData
 
PPTX
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
InfluxData
 
PDF
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
PDF
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 
Announcing InfluxDB Clustered
InfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
InfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
InfluxData
 
Power Your Predictive Analytics with InfluxDB
InfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
InfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
InfluxData
 
Introducing InfluxDB Cloud Dedicated
InfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
InfluxData
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
InfluxData
 
Start Automating InfluxDB Deployments at the Edge with balena
InfluxData
 
Understanding InfluxDB’s New Storage Engine
InfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
InfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 
Ad

Recently uploaded (20)

PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
How ETL Control Logic Keeps Your Pipelines Safe and Reliable.pdf
Stryv Solutions Pvt. Ltd.
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
NewMind AI Weekly Chronicles – July’25, Week III
NewMind AI
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 

Getting Started: Intro to Telegraf - July 2021

  • 1. Samantha Wang Product Manager, InfluxData Getting Started: Intro to Telegraf
  • 2. © 2021 InfluxData. All rights reserved. 2 2 – What is Telegraf – Plugin Ecosystem – Configuration Basics – Extending the Ecosystem Agenda
  • 3. © 2021 InfluxData. All rights reserved. 3 InfluxDB
  • 4. © 2021 InfluxData. All rights reserved. 4 What is InfluxDB? Characteristics of the data – Time-stamped – Generated in regular (metric) and irregular (event) time periods – Huge volumes – Real time and time sensitive
  • 5. © 2021 InfluxData. All rights reserved. 5 Visualization Alerts Triggers Metrics Logs Traces Events The platform of choice for all metrics & event workloads
  • 6. © 2021 InfluxData. All rights reserved. 6 InfluxData Platform Architecture
  • 7. © 2021 InfluxData. All rights reserved. 7 InfluxData products and offerings * Availability TBD
  • 8. © 2021 InfluxData. All rights reserved. 8 Telegraf
  • 9. © 2021 InfluxData. All rights reserved. 9 9 Current Data Acquisition - All Methods Agent-based Push (aka Telegraf) Agentless Pull (aka Scrapers) Client Libraries Native/Ecosystem ● 200+ Telegraf plugins ● Regular cadence of releases ● Why use it? ○ No code ○ Large community ○ Lightweight but powerful ○ Customizable ● Prometheus scraper (OSS only) ● Flux prometheus.from ● Flux csv.from(url) ● Why use them? ○ Get data in quickly ○ Doesn’t require agent downloads on monitoring device ● 7 Libraries: Python, C#, Java, GO, Javascript/Node.js, Ruby, PHP ● Handles batching, chunking, setting right headers, etc. ● Why use them? ○ Easy way to get started ○ Need libraries when building custom applications ● Source system speaks line protocol ● Examples: JMeter, NiFi, Vector, FluentD ● Influx CLI CSV Import ● Why use them? ○ Know what you want to monitor, quick and easy integration
  • 10. © 2021 InfluxData. All rights reserved. 10 Telegraf provides the benefits of… ● Low/No code ● Robust scheduler ● High-speed ingestion ● Full-streaming support ● Metric routing ● Flexible parsing, formatting, serializing ● Customizable and Extensible (ExecD plugins, Starlark) Instead of… ● Writing long data scraping scripts ● Worrying about unreliable data collection ● Trouble scaling your data collection ● Resulting in messy data ● Having a lot of unnecessary data in your database
  • 11. © 2021 InfluxData. All rights reserved. 11 11 Telegraf: Agent for Collecting Metrics & Events Plugin-driven server agent for collecting and reporting metrics • Written in Go • Single Binary, No external dependencies • Minimal memory footprint • Optimized for writing to InfluxDB • Optimized for streaming data Input plugins to source a variety of metrics • directly from the system it’s running on • pull metrics from third party APIs • listen for metrics via a statsd and Kafka consumer services
  • 12. © 2021 InfluxData. All rights reserved. 12 12 Telegraf: Agent for Collecting Metrics & Events Output plugins to send metrics to a variety of other datastores, services, and message queues • InfluxDB, Graphite, OpenTSDB, Datadog, and many others • Writes to multiple outputs at the same time Metrics routing and conversion Aggregation stage for InfluxDB
  • 13. © 2021 InfluxData. All rights reserved. 13 13 Telegraf Agent – Core of Telegraf functionality providing the following – Robust scheduler – Adjustments for clock-drift – Adjustments for job scheduling issues that may occur – In-memory metric buffers – Metric tracking with flow back-pressure in plugins like Kafka – Full-streaming support – Metric routing: name & field pass & drop – Flexible parsing, formatting, serializing
  • 14. © 2021 InfluxData. All rights reserved. 14 Plugins! Plugins! Plugins!
  • 15. © 2021 InfluxData. All rights reserved. 15 15 Telegraf Plugin Ecosystem Input Plugins ● collect metrics from system, services, or third party APIs Output Plugins ● write data to various destinations Processors ● transform, decorate, and/or filter metrics Aggregators ● create aggregate metrics (e.g. mean, min, max, quantiles, etc.)
  • 16. © 2021 InfluxData. All rights reserved. 16 16 Telegraf Plugin Types 170+ 40+ 15+ 5+ Input Output Processors Aggregators
  • 17. © 2021 InfluxData. All rights reserved. 17 17 Input Plugins activemq aerospike amqp_consumer apache apcupsd aurora azure_storage_que ue bcache beanstalkd bind bond burrow cassandra ceph cgroup chrony cisco_telemetry_mdt clickhouse cloud_pubsub cloud_pubsub_push cloudwatch conntrack consul couchbase couchdb cpu dcos disk diskio disque dmcache dns_query docker docker_log dovecot ecs elasticsearch ethtool eventhub_consumer exec execd fail2ban fibaro file filecount filestat fireboard fluentd github gnmi graylog haproxy hddtemp http http_listener_v2 http_response httpjson icinga2 infiniband influxdb
  • 18. © 2021 InfluxData. All rights reserved. 18 18 Input Plugins (2) influxdb_listener influxdb_v2_listener intel_rdt internal interrupts ipmi_sensor ipset iptables ipvs jenkins jolokia jolokia2 jti_openconfig_telemetr y kafka_consumer kafka_consumer_legacy kapacitor kernel kernel_vmstat kibana kinesis_consumer kube_inventory kubernetes lanz leofs linux_sysctl_fs logparser logstash lustre2 mailchimp marklogic mcrouter mem memcached mesos minecraft modbus mongodb monit mqtt_consumer multifile mysql nats nats_consumer neptune_apex net net_response nginx nginx_plus nginx_plus_api nginx_sts nginx_upstream_check nginx_vts nsd nsq nsq_consumer nstat ntpq nvidia_smi opcua openldap
  • 19. © 2021 InfluxData. All rights reserved. 19 19 Input Plugins (3) openntpd opensmtpd openweathermap passenger pf pgbouncer phpfpm ping postfix postgresql postgresql_extensibl e powerdns powerdns_recursor processes procstat prometheus proxmox puppetagent rabbitmq raindrops ras redfish redis rethinkdb riak salesforce sensors sflow smart snmp snmp_legacy snmp_trap socket_listener solr sqlserver stackdriver statsd suricata swap synproxy syslog sysstat system systemd_units tail tcp_listener teamspeak temp tengine tomcat trig twemproxy udp_listener unbound uwsgi varnish vsphere webhooks win_eventlog win_perf_counte rs win_services wireguard wireless x509_cert zfs zipkin zookeeper
  • 20. © 2021 InfluxData. All rights reserved. 20 20 Processor Plugins clone converter date dedup defaults enum execd filepath ifname override parser pivot port_name printer regex rename reverse_dns s2geo starlark strings tag_limit template topk unpivot
  • 21. © 2021 InfluxData. All rights reserved. 21 21 Aggregator Plugins basicstats final histogram merge minmax valuecounter
  • 22. © 2021 InfluxData. All rights reserved. 22 22 Output Plugins amon amqp application_insights azure_monitor cloud_pubsub cloudwatch cratedb datadog discard dynatrace elasticsearch exec execd file graphite graylog health http influxdb influxdb_v2 instrumental kafka kinesis librato logzio mqtt nats newrelic nsq opentsdb prometheus_client riemann riemann_legacy socket_writer stackdriver sumologic syslog timestream warp10 wavefront yandex_cloud_monito ring
  • 23. © 2021 InfluxData. All rights reserved. 23 23 Telegraf CPU Mem Disk Docker Kubernetes /metrics Kafka MySQL Process - transform - decorate - filter Aggregate - mean - min,max - count - variance - stddev InfluxDB File Kafka CloudWatch CloudWatch Input Output One Telegraf, Multiple Plugins
  • 24. © 2021 InfluxData. All rights reserved. 24 24 Can’t find the plugin you need? Telegraf is 100% open source with a strong community of contributors It’s easy to write your own Telegraf plugin! 1) Follow the contribution guide for Go 2) Write your plugin in any language and run it externally with ExecD
  • 25. © 2021 InfluxData. All rights reserved. 25 25 Popular Plugins Out-of-the-box Custom Kubernetes (kubelet) HTTP/socket listener Kube_inventory (apiserver) HTTP (formatted endpoints) Kafka (consumer) Prometheus (/metrics) SNMP Exec/Execd AMQP (mq metadata) StatsD Redis Nginx HAproxy Jolokia2
  • 26. © 2021 InfluxData. All rights reserved. 26 26 Parsing JSON CSV Graphite Prometheus CollectD Dropwizard Form URL-encoded Grok
  • 27. © 2021 InfluxData. All rights reserved. 27 Getting Started with Telegraf
  • 28. © 2021 InfluxData. All rights reserved. 28 28 Download Telegraf
  • 29. © 2021 InfluxData. All rights reserved. 29 Configuration Basics
  • 30. © 2021 InfluxData. All rights reserved. 30 30 Telegraf Configuration Snippets Include many plugins per Telegraf - multiple inputs, outputs, processors, aggregators
  • 31. © 2021 InfluxData. All rights reserved. 31 31 The Telegraf config file needs to be specified for Telegraf agent to operate properly. It contains setup for the agent, global tags, and enabled outputs (through commenting out or removing unnecessary lines) What’s in a configuration file?
  • 32. © 2021 InfluxData. All rights reserved. 32 32 Set and Test Your Configuration $ telegraf --input-filter cpu:system --output-filter influxdb --processor-filter starlark --aggregator-filter valuecounter config > telegraf.conf WRITE DESIRED CONFIG FILE RUN CONFIG FILE TEST $ telegraf --config telegraf.conf --test VERIFY YOUR CONFIG WORKS
  • 33. © 2021 InfluxData. All rights reserved. 33 Extending the Ecosystem
  • 34. © 2021 InfluxData. All rights reserved. 34 34 ● Work with the open-source community or submit upgrades or enhancements for existing plugins ● Use ExecD to write a plugin in Go or a language of your choice You can extend Telegraf by:
  • 35. © 2021 InfluxData. All rights reserved. 35 35 ● Plugin runs in its own process ● Requires line protocol ● Avoid the need for review by Telegraf team ● Supports the same API as an internal plugin ● Can use for non-GO plugins ● Can use for licensed software plugins ● Can use for any type of plugin (input, output, processor, aggregator) External plugins via ExecD
  • 36. © 2021 InfluxData. All rights reserved. 36 36 Execd Plugin Arch.
  • 37. © 2021 InfluxData. All rights reserved. 37 37 [[processors.execd]] command = ["python", "./processors/forecasting.py"] Sample ExecD Config: Input, Output, Processor
  • 38. © 2021 InfluxData. All rights reserved. 38 38 Customer Quotes “Telegraf is like a swiss army knife for connecting various MQTT sources and OPC UA sources.” — Fr. Ant. Niedermayr “Our next-generation pipeline takes advantage of Kafka and the Telegraf streaming service to create a more robust data topology. Essentially this allows us to explicitly implement the four R’s: routability, retention, resilience, and redundancy.” — Wayfair
  • 39. © 2021 InfluxData. All rights reserved. 39 Telegraf Community
  • 40. © 2021 InfluxData. All rights reserved. 40 Get involved with Telegraf • Telegraf GitHub: github.com/influxdata/telegraf • Community Slack: influxdata.com/slack #telegraf #telegraf-dev • Community Website: community.influxdata.com
  • 41. © 2021 InfluxData. All rights reserved. 41 41 References Getting started with Telegraf Telegraf plugins Telegraf GitHub Page External Plugins Guide
  • 43. © 2021 InfluxData. All rights reserved. 43 43 Input Plugins activemq aerospike amqp_consumer apache apcupsd aurora azure_storage_queu e bcache beanstalkd bind bond burrow cassandra ceph cgroup chrony cisco_telemetry_mdt clickhouse cloud_pubsub cloud_pubsub_push cloudwatch conntrack consul couchbase couchdb cpu dcos disk diskio disque dmcache dns_query docker docker_log dovecot ecs elasticsearch ethtool eventhub_consumer exec execd fail2ban fibaro file filecount filestat fireboard fluentd github gnmi graylog haproxy hddtemp http http_listener_v2 http_response httpjson icinga2 infiniband influxdb
  • 44. © 2021 InfluxData. All rights reserved. 44 44 Input Plugins (2) influxdb_listener influxdb_v2_listener intel_rdt internal interrupts ipmi_sensor ipset iptables ipvs jenkins jolokia jolokia2 jti_openconfig_telemetry kafka_consumer kafka_consumer_legacy kapacitor kernel kernel_vmstat kibana kinesis_consumer kube_inventory kubernetes lanz leofs linux_sysctl_fs logparser logstash lustre2 mailchimp marklogic mcrouter mem memcached mesos minecraft modbus mongodb monit mqtt_consumer multifile mysql nats nats_consumer neptune_apex net net_response nginx nginx_plus nginx_plus_api nginx_sts nginx_upstream_check nginx_vts nsd nsq nsq_consumer nstat ntpq nvidia_smi opcua openldap
  • 45. © 2021 InfluxData. All rights reserved. 45 45 Input Plugins (3) openntpd opensmtpd openweathermap passenger pf pgbouncer phpfpm ping postfix postgresql postgresql_extensibl e powerdns powerdns_recursor processes procstat prometheus proxmox puppetagent rabbitmq raindrops ras redfish redis rethinkdb riak salesforce sensors sflow smart snmp snmp_legacy snmp_trap socket_listener solr sqlserver stackdriver statsd suricata swap synproxy syslog sysstat system systemd_units tail tcp_listener teamspeak temp tengine tomcat trig twemproxy udp_listener unbound uwsgi varnish vsphere webhooks win_eventlog win_perf_counte rs win_services wireguard wireless x509_cert zfs zipkin zookeeper
  • 46. © 2021 InfluxData. All rights reserved. 46 46 Processor Plugins clone converter date dedup defaults enum execd filepath ifname override parser pivot port_name printer regex rename reverse_dns s2geo starlark strings tag_limit template topk unpivot
  • 47. © 2021 InfluxData. All rights reserved. 47 47 Aggregator Plugins basicstats final histogram merge minmax valuecounter
  • 48. © 2021 InfluxData. All rights reserved. 48 48 Output Plugins amon amqp application_insights azure_monitor cloud_pubsub cloudwatch cratedb datadog discard dynatrace elasticsearch exec execd file graphite graylog health http influxdb influxdb_v2 instrumental kafka kinesis librato logzio mqtt nats newrelic nsq opentsdb prometheus_client riemann riemann_legacy socket_writer stackdriver sumologic syslog timestream warp10 wavefront yandex_cloud_monitor ing