GoSF Jan 2016 - Go Write a Plugin for Snap!

Preview:

Citation preview

Go write a plugin!

THE STORY OF ANOPEN TELEMETRY FRAMEWORK CALLED

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, InfluxDBMosquito, File, postgresSQL, mySQL

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

Why this is cool Write this plugin (or others!)

Cloud Software

Server Silicon

StorageSilicon

NetworkSilicon

Orchestration Software

Developer Environment

Virtualization Software

Operating System, Libraries

Cloud Software Stack

Applications & Services

Telemetry andDatacenter Analytics

Collector

Processor

Publisher

Bayesian Filter Cassand

ra

PublisherTASK

Grafana

CPU NIC ME

M

Key Features

CollectPublish

Publish

CollectProcess 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

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

Why Go? <3 this community slide.

Great toolset

• Logrus

• Gomit*

• Memberlist

Strong opinions

• fmt

• test

Datacenter Momentum

Thank You Launch was successful because of this amazing community.

500

Trending!

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

Recommended