arda oral - professional services engineer use case: extracting performance data from oncommand...

15
Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Upload: morgan-asher-shaw

Post on 17-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

1

Arda Oral - Professional Services Engineer

Use Case:Extracting Performance data from OnCommand using APIs

Page 2: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Agenda

Scope of WorkEnvironmentPerformance CollectionImplementation – The TheoryImplementation – The Praxis (Demonstration)SLA ThresholdsDashboard

Page 3: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Scope of Work

Customer wants to retrieve and store performance

data of all storage controllers (NetApp and other

vendors) in his common “performance database”

Customer defines SLAs to the performance values.

SLA violations are to be imported into the database

Dashboard presenting SLA violations

3

Page 4: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Scope of Work

Oncommand „Performance Advisor“ responsible for data collection

Performance data is stored in internal Sybase database

NMSDK APIs used to access Oncommand Performance data

4

Page 5: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Environment

~ 30 NetApp Storage Systems

OnCommand5 on a Windows 2008 Server

Oracle10 Database on AIX 5 (Performance DB)

5

Page 6: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Environment

6

AIX 5

OraclePerformance DB

NMSDK4.1

Windows 2008

OnCommand5

http,https

http,https

Page 7: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Performance CollectionNetApp performance data is being collected

by the CounterManager (CM) residing on the storage controller

CM groups data in objects, instances and counters

Data can be retrieved with „stats“ on a storage controller

Page 8: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Performance Collection stats list objects

(aggregate, cifs, disk, lun, volume…)

stats list instancesobject name: aggregate, instance: aggr1object name: system, instance: systemobject name: volume, instance: vol0

stats list countersobject name: aggregate, counter: user_readsobject name: system, counter: cpu_busyobject name: lun, counter: avg_latency

Page 9: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Implementation – The Theory

Install NMSDK 4.1on AIX5 server

Install required Perl Modules (SSL,LWP…)

Check NMDSK examples (basic, advanced)../netapp-manageability-sdk-4.1/src/sample/DataFabric_Manager/API_Sample_Code/advanced/Perl/perf_counters/

Find appropriate API: perf-get-counter-data../netapp-manageability-sdk-4.1/doc/WebHelp/index.htm

9

Page 10: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

NetApp Confidential - Internal Use Only

Page 11: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Implementation – The Theory (cont. 1)

11

perf-get-counter-data

start-time end-time sample-rate time-consolidation-methodinstance-counter-info

object-name-or-id counter-info

perf-object-counter

object-type counter-name

API =

Object =

string/int =

Page 12: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Implementation – The Theory (cont. 2)

Object/Instance/Counter Value

start-time 6h before now

end-time now

sample-rate 5 minutes

objekt-name-or-id storage controller

counter-name cpu_busy

object-type system

time-consolidation-method average

12

Command on storage system:stats show -i 1 system:*:cpu_busy

Page 13: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

SLA Thresholds

CPU_BUSY > 90% = SLA violationDisk_BUSY > 90% = SLA violationLUN Latency > 20ms = SLA violationTARGET Queue Full = SLA violation

if 10% of collected counter data exceed SLA threshold storage system counter is flagged yellow **

if 20% of collected counter data exceed SLA threshold storage system counter is flagged red

13

Page 14: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

Dashboard (sample output)

14

Page 15: Arda Oral - Professional Services Engineer Use Case: Extracting Performance data from OnCommand using APIs 1

15