getting data out of your cloud(s) with open source · getting data out of your cloud(s) with open...

30
GETTING DATA OUT OF GETTING DATA OUT OF YOUR CLOUD(S) WITH YOUR CLOUD(S) WITH OPEN SOURCE OPEN SOURCE OBTAINING SUPERIOR INSIGHT OBTAINING SUPERIOR INSIGHT Created by Cody Herriges

Upload: others

Post on 29-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

GETTING DATA OUT OFGETTING DATA OUT OFYOUR CLOUD(S) WITHYOUR CLOUD(S) WITH

OPEN SOURCEOPEN SOURCEOBTAINING SUPERIOR INSIGHTOBTAINING SUPERIOR INSIGHT

Created'by'Cody'Herriges

Page 2: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

INTRODUCTIONINTRODUCTIONPuppet'LabsOpera4ons'EngineerSystems'Team'lead

Page 3: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

OUR PROBLEMSOUR PROBLEMSNo'consumable'historic'dataIncomplete'real'4me'dataData'collec4on'wasn't'eBec4vely'scalableTime'wasted'correla4ng'mul4ple'interfaces'by'handShort'lived'issues'almost'impossible'to'understandMetrics'gathering'can'require'secondary'purchases

Page 4: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

OUR PRIVATE CLOUDSOUR PRIVATE CLOUDSAging'VMware'stack'(vCenter'graph'failures)Budding'OpenStack'expansion'(Incomplete'built'in'tooling)

Page 5: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 6: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 7: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 8: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 9: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

GETTING MORE INFORMATIONGETTING MORE INFORMATIONA'4me'box'for'adequate'collec4on'is'not'reasonableVMware'KB:'2003885

Page 10: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 11: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

CEILOMETER NOT TARGETED AT MECEILOMETER NOT TARGETED AT MENo'func4ons'to'help'analyze'codeNot'able'to'be'broken'down'by'hypervisorOriginally'developed'with'a'slant'towards'billing'and'chargebackLacking'4me'granularity

Page 12: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

EMC'S MONITORING & REPORTINGEMC'S MONITORING & REPORTINGMostly'workedNever'had'a'4me'it'failed'to'provide'a'graphIts'downfall'was'the'inability'export'data'progroma4callyAutomated'reported'geared'towards'managers

Page 13: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

CLOSEST I GOT TO AUTOMATING DATA EXPORTCLOSEST I GOT TO AUTOMATING DATA EXPORTA REPLAY OF A FIREBUG SESSION IN RUBYA REPLAY OF A FIREBUG SESSION IN RUBY

uri0 = URI.parse("http://vnx-reporting1.ops.puppetlabs.net:58080/VNX-MR/")

response0 = http.get(uri0.request_uri)

cookie = response0.get_fields('set-cookie')

uri1 = URI.parse("http://vnx-reporting1.ops.puppetlabs.net:58080/VNX-MR/j_security_check?j_password=changeme&j_username=admin"

response1 = http.get(uri1.request_uri, {'Cookie' => cookie.first})

cookie = response1.get_fields('set-cookie')

uri2 = URI.parse("http://vnx-reporting1.ops.puppetlabs.net:58080/VNX-MR/")

response2 = http.get(uri2.request_uri, { 'Cookie' => cookie.first })

all_cookies = response2.get_fields('set-cookie')

cookies_array = Array.new

all_cookies.each { | cookie |

cookies_array.push(cookie.split('; ')[0])

}

cookies = cookies_array.join('; ')

uri3 = URI.parse("http://vnx-reporting1.ops.puppetlabs.net:58080/VNX-MR/report.csv?report&select=0-0-cf550d56&display=0&mode=frg&statistics=none&lower=0.0&upper=$type=3&period=0&durationType=l&duration=15m&itz=Canada%2FPacific"

response3 = http.get(uri3.request_uri, { 'Cookie' => cookies })

Page 14: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

MY SINGLE PANE OF GLASSMY SINGLE PANE OF GLASSNOT YOUR'S!NOT YOUR'S!

Vendor'single'panes'of'glass'are'seldom'singleMight'"work"'if'you're'the'tradi4onal'enterprisevirtualiza4on'or'storage'teamOnly'achievable'if'I'can'provide'my'own'inputs'andbusiness'logic

Page 16: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

TACKLING MOST OF OUR VMWARE PROBLEMTACKLING MOST OF OUR VMWARE PROBLEMSTATSFEEDER+GRAPHITE+GRAFANASTATSFEEDER+GRAPHITE+GRAFANA

Wasn't'able'to'force'everyone'to'a'diBerent'plaZormStatsFeeder'grabs'real'4me'stats'for'all'hypervisors'andVMsDumps'to'CSV'and'we'batch'convert'to'graphitePulls'all'discrete'instances'of'vCenter'into'a'singledashboardpuppet[graphitepuppet[statsfeederBasic'con\g

Page 17: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

LESS IMPORTANT VMWARE INFORMATIONLESS IMPORTANT VMWARE INFORMATIONELASTICSEARCH+LOGSTASH+KIBANA (ELK)ELASTICSEARCH+LOGSTASH+KIBANA (ELK)

Really'noisyHard'to'si^'throughSearchable'for'events'like'everything'involving'a'speci\cLUNvCenter'log'forwardingESXi'log'forwarding

Page 18: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 19: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

THEN WE STARTED LEARNING THINGSTHEN WE STARTED LEARNING THINGS

Page 20: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 21: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 22: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

WE ARE AND MUST PURCHASE MULTIPLEWE ARE AND MUST PURCHASE MULTIPLETIMES MORE HARDWARE THAN WE USE ONTIMES MORE HARDWARE THAN WE USE ON

AVERAGE!AVERAGE!

Page 23: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

MAKING A PUBLIC CLOUD DECISIONMAKING A PUBLIC CLOUD DECISIONACTUALLY WE HAVE FOUR ALREADY...ACTUALLY WE HAVE FOUR ALREADY...

Page 24: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

MAKING A BETTER PUBLIC CLOUD DECISIONMAKING A BETTER PUBLIC CLOUD DECISIONI'think'I'am'changing...Insight'and'manageability'over'performance

Page 25: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

ELK+CLOUDTRAILELK+CLOUDTRAILUNDERSTANDING WHO IS DOING WHAT IN AWSUNDERSTANDING WHO IS DOING WHAT IN AWS

Track'every'API'callOnly'way'to'reliably'know'who'launched'a'speci\c'instanceidUsed'to'track'down'rogue'comprimised'instances

Tip:'

puppet[elas4csearchpuppet[logstash

S3'has'a'bat'namespaceResults'in'a'simple'logstash'con\g

Page 26: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 27: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

DIAMOND+GRAPHITEDIAMOND+GRAPHITE"SOLVED" OUR STORGE METRICS ISSUES AND AUGMENTS CEILOMETER"SOLVED" OUR STORGE METRICS ISSUES AND AUGMENTS CEILOMETER

That'EMC'we'couldn't'automate...replaced'by'LinuxDiamond'kvm,'libvirtkvm,'and'iostat'collectors/sys/kernel/debug'and'/sys/fs/cgroup'must'be'mountedfor'kvm'statsgarethr[diamond'(we'forked'it)

Page 28: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA
Page 29: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

NEW CHALLENGESNEW CHALLENGESHave'to'scale'Elas4cSearch'&'GraphiteData'normaliza4onMore'and'more'dashboards'to'generate

Page 30: Getting data out of your cloud(s) with open source · GETTING DATA OUT OF YOUR CLOUD(S) WITH OPEN SOURCE OBTAINING SUPERIOR INSIGHT Created'by'Cody'Herriges. INTRODUCTION ... ELASTICSEARCH+LOGSTASH+KIBANA

ENDENDCreated'by'Cody'Herriges'

PuppetConf''14