gosf jan 2016 - go write a plugin for snap!

9
Go write a plugin! THE STORY OF AN OPEN TELEMETRY FRAMEWORK CALLED

Upload: matthew-broberg

Post on 11-Apr-2017

576 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: GoSF Jan 2016 - Go Write a Plugin for Snap!

Go write a plugin!

THE STORY OF ANOPEN TELEMETRY FRAMEWORK CALLED

Page 2: GoSF Jan 2016 - Go Write a Plugin for Snap!

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

Page 3: GoSF Jan 2016 - Go Write a Plugin for Snap!

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

Page 4: GoSF Jan 2016 - Go Write a Plugin for Snap!

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

Page 5: GoSF Jan 2016 - Go Write a Plugin for Snap!

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

Page 6: GoSF Jan 2016 - Go Write a Plugin for Snap!

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

Page 7: GoSF Jan 2016 - Go Write a Plugin for Snap!

Why Go? <3 this community slide.

Great toolset

• Logrus

• Gomit*

• Memberlist

Strong opinions

• fmt

• test

Datacenter Momentum

Page 8: GoSF Jan 2016 - Go Write a Plugin for Snap!

Thank You Launch was successful because of this amazing community.

500

Trending!

Page 9: GoSF Jan 2016 - Go Write a Plugin for Snap!

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