1. Go write a plugin!
THE STORY OF AN
OPEN TELEMETRY
FRAMEWORK CALLED
2. What snap is
snap is an open framework for metrics
snap is NOT an analytics alternative
We have a list of maintained plugins.
Curious what it requires to write one? See our Plugin Authoring
documentation.
/intel/server/cpu/load
/intel/server/cpu/ipc
/intel/server/cpu/l2cache
/intel/server/mem/free
/intel/server/mem/used
/intel/server/nic/eth0/bytes_rec
PSUtil, Facter,
CollectD, Ohai
Node, DCM,
NIC, Disk Encryption, OSLO,
Machine Learning,
Filtering
RabbitMQ, HANA,
Ceilometer, InfluxDB
Mosquito, File,
postgresSQL, mySQL
3. Demo.
The simple one.
Environment:
1 instance of snapd running locally
Load collectors, view metrics via snapctl
Pre-work:
gvm use go1.5.3
go get github.com/intelsdi-x/snap
make
4. Why this is cool
Write this plugin (or others!)
Cloud
Software
Server
Silicon
Storage
Silicon
Network
Silicon
Orchestration Software
Developer Environment
Virtualization Software
Operating System, Libraries
Cloud Software Stack
Applications & Services
Telemetry and
Datacenter Analytics
Collector
Processor
Publisher
Bayesia
n Filter Cassandr
a
Publisher
TASK
Grafana
CP
U
NIC
ME
M
5. Key Features
Collect
Publish
Publish
Collect
Process Publish
Process Publish
• Plugin load
• No restart
• Extends the metric catalog
• Plugin unload
• Removes metrics from catalog
• Plugin swap
• Newer version swapped in a
single transaction
LIFECYCLE MANAGEMENT FLEXIBLE DEPLOYMENT AUTOMATION
ProcessCollect Publish
TRIBE
6. Demo.
Administration and automate scale.
Environment:
4 instance of snapd running locally
Initiate in tribe mode
Load a collector, process & publisher
Load a task via snapctl
Watch that task via snapctl
Pre-work:
gvm use go1.5.3
go get github.com/intelsdi-x/snap
make
7. Why Go?
<3 this community slide.
Great toolset
• Logrus
• Gomit*
• Memberlist
Strong opinions
• fmt
• test
Datacenter Momentum
9. Get involved
• Download, install and run snap right now
• Read the extensive documentation on GitHub
• Report your experiences (features and bugs) through GitHub
• Talk to the developers of snap on Gitter
• See the public roadmap on GitHub
• Reach out to me or any of the maintainers =>
• on Twitter|GitHub|Gitter
Thanks!
@mjbrender
Editor's Notes
A powerful telemetry agent framework designed to
Improve deployment model and flexibility of the telemetry tools ecosystem
Provide dynamic control of collection for small or large clusters of systems
Allow flexible processing of telemetry data on agent (e.g. machine learning)
Simplify disseminating data to telemetry ingesting systems
Provide operational innovation for collecting across cluster of machines
Support emerging API consumption models