splunkingwind turbines*and*keeping* the*earth*green* · the*challenge* •...

29
Copyright © 2015 Splunk Inc. Marijan Fofonjka Senior developer, INFIGO IS Splunking Wind Turbines and Keeping the Earth Green Ante MarKnić Business Unit Director, KONČAR

Upload: others

Post on 17-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Copyright  ©  2015  Splunk  Inc.  

Marijan  Fofonjka  Senior  developer,  INFIGO  IS  

Splunking  Wind  Turbines  and  Keeping  the  Earth  Green  

Ante  MarKnić  Business  Unit  Director,  KONČAR  

Page 2: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Disclaimer  During  the  course  of  this  presentaKon,  we  may  make  forward  looking  statements  regarding  future  

events  or  the  expected  performance  of  the  company.  We  cauKon  you  that  such  statements  reflect  our  current  expectaKons  and  esKmates  based  on  factors  currently  known  to  us  and  that  actual  events  or  results  could  differ  materially.  For  important  factors  that  may  cause  actual  results  to  differ  from  those  contained  in  our  forward-­‐looking  statements,  please  review  our  filings  with  the  SEC.  The  forward-­‐looking  statements  made  in  the  this  presentaKon  are  being  made  as  of  the  Kme  and  date  of  its  live  presentaKon.  If  reviewed  aYer  its  live  presentaKon,  this  presentaKon  may  not  contain  current  or  

accurate  informaKon.  We  do  not  assume  any  obligaKon  to  update  any  forward  looking  statements  we  may  make.    

 In  addiKon,  any  informaKon  about  our  roadmap  outlines  our  general  product  direcKon  and  is  subject  to  change  at  any  Kme  without  noKce.  It  is  for  informaKonal  purposes  only  and  shall  not,  be  incorporated  into  any  contract  or  other  commitment.  Splunk  undertakes  no  obligaKon  either  to  develop  the  features  

or  funcKonality  described  or  to  include  any  such  feature  or  funcKonality  in  a  future  release.  

Page 3: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Agenda  

3  

THE  CUSTOMER  

1  

WHO  ARE  THEY?  

THE  USE  CASE  

2  

WHAT  DID  THEY  NEED?  

THE  JOURNEY  

3  

WHAT  DID  WE  DO?  

A  CUSTOM  SOLUTION  

4  

WHAT  DID  WE  CREATE?  

HOW  WE  WON  

5  

KEY  TAKEAWAYS  

Page 4: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

KONČAR  Electrical  Industry  Inc.  

4  

  Founded  1921    Companies  and  representaKve  offices  abroad  in:  Switzerland,  Bosnia  and  Herzegovina,    the  Russian  Federa8on    and  Serbia  

  3800  employees    Sales  revenue:  €332  million    Export:  50%  

Page 5: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Wind  Park  –  Pometeno  Brdo  

  LocaKon:  Dugopolje  (near  Split)    16  wind  turbines,  built  completely  by  Končar  

  Total  power:  17,5  MW    Total  investment:  €29  million    14  Končar  companies  and  15  partners  

  80%  parts  from  CroaKa  

5  

Page 6: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

The  Challenge  •  Wind  turbines  generate  a  huge  amount  of  data  (approx.  2  million  events  per  day)  

about  their  availability,  producKon  of  energy  and  energy  losses  

•  Končar  previously  stored  this  data  in  a  SQL  database  and  used  complex  external  applicaKons  to  produce  reports  as  well  as  to  proacKvely  alert  when  a  parKcular  wind  turbine  is  having  issues  

•  This  became  more  and  more  cumbersome  as  the  amount  of  historical  data    kept  growing  

6  

Page 7: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

7  

Issues:  

•  Algorithm  for  calculaKon  of  availability  –  IteraKve  algorithm  (very  slow)  

•  Report  generaKon  Kme  –  Daily  reports:  ~1h  –  Monthly  reports:  ~12h  (!!!)  

•  Central  storage  –  SCADA  –  MicrosoY  SQL  Server  2008              (2  million  events  daily)  

 

Monitoring  requirements:  

•  CalculaKon  of  availability  •  Total  energy  producKon  &  losses  •  Daily  and  monthly  PDF  reports  •  ProacKve  detecKon  of  issues  in  

wind  turbines  

The  Challenge  

Page 8: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

The  Journey  

8  

ExisKng  customer  came  to  us  with  a  new  problem  

POC  uncovered  the  need  for  a  custom  

soluKon  

Built  custom  app  and  custom  reporKng  

module  

Happy  customer,  looking  to  extend  

usage!  

Page 9: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

9  

  Database  –  MicrosoY  SQL  Server  2008    

  XML  configuraKons  –  Custom  XML  configuraKons  for  calculaKons  

ApplicaKon  inputs  

Page 10: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

10  

  MicrosoY  SQL  Server  2008  

  Unable  to  use  Splunk  DB  Connect  –  Primary  key  composed  of  two  columns              Time  (to  seconds)  and  MS  (milliseconds)  

  Developed  our  own  Java  JDBC  agent  

Database  inputs  

Page 11: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

11  

  ConnecKon  parameters  –  host,  port,  database,  username  and  password  

  Primary  keys  –  Name  –  Type  (Kmestamp  or  number)  

  SQL  query  –  …  WHERE  (a.Time='$8me$'  AND  a.Ms>'$ms$')  OR  a.Time>'$8me$'  

  Encrypts  configuraKon  with  a  private  RSA  key  

Custom  database  connector  

Page 12: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

12  

  Scripted  input  –  iteraKvely,  every  30  seconds  

[script://$SPLUNK_HOME/etc/apps/koncar/bin/database_agent.sh]  interval  =  30  index  =  koncar  sourcetype  =  koncar  

  Collect  inputs  from  standard  output  –  Key-­‐value  format  (field=value)  

2015-­‐02-­‐16  23:59:59.346  Value=1.0  Quality=192  DataKeyId=135  

  Store  maximum  primary  key  pair  values  for  the  next  run  

Custom  database  connector  

Page 13: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

13  

  Custom  XML  configuraKons  for  calculaKons    Parsers  as  custom  Python  controllers    Lookup  files  as  output  

XML  configuraKon  inputs  

Page 14: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

14  

XML  configuraKon  inputs  

Page 15: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

15  

XML  configuraKon  inputs  

Page 16: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

16  

  Inputs  –  Groups  (System  OK,  Service,  Error,  …)  –  States  (Error  →  Emergency  brake,  Grid  brake,  …)  

  MulKple  states  can  be  acKve  at  the  same  Kme    Custom  python  search  command    Summary  indexes  –  Hourly  staKsKcs  and  calculaKon  states  

CalculaKng  availability  

Page 17: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

17  

  Read  group  acKvity  from  previous  hour  –  index=availability  sourcetype=acKvity  earliest=-­‐1h@h  latest=@h  |  table  …    

  Calculate  availability  –  index=koncar  earliest=-­‐1h@h  latest=@h  |  sort  0  _Kme  |  table  ...  

  Store  results  –  Group  duraKon  

2015-­‐02-­‐17  13:00:00  WindTurbine="VA10"  Group="System  OK"    DuraKon=2934000  

–  Group  acKvity  2015-­‐02-­‐17  14:00:00  WindTurbine="VA10"  Group="Error"  States="2000,2490"  

 

CalculaKng  availability  

Page 18: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

18  

UpdaKng  events  

Page 19: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

19  

UpdaKng  events  

  Find  entry  –  index=koncar  earliest="$m/d/y:h:m:s$"  "$y-­‐m-­‐d  h:m:s.ms$"  GroupId="$gid

$"  DataKeyId  ="$dkid$"  |  head  1  |  table  _raw  

   Delete  entry  –  index=koncar  earliest="$m/d/y:h:m:s$"  "$y-­‐m-­‐d  h:m:s.ms$“  GroupId="$gid

$"  DataKeyId  ="$dkid$"  |  delete  

Page 20: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

20  

UpdaKng  events  

  Save  modified  entry  to  unique  filename  that  Splunk  is  indexing  in  batch  mode  

 [batch://$SPLUNK_HOME/etc/apps/koncar/update]  index  =  koncar  sourcetype  =  koncar  move_policy  =  sinkhole  crcSalt  =  <SOURCE>      

Page 21: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

What  We  Built  

21  

  CalculaKons  based  on  stats  commands  –  Energy  curve  lookup  

  Energy    Losses  –  Average  wind  speed  in  1m  intervals  

  Summary  indexing  –  Hourly  and  daily  staKsKcs  

Total  energy  producKon  and  losses  

Page 22: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Custom  .NET  applicaKon    A  crucial  part  of  this  project  was  the  ability  to  produce  reports  in  their    exisKng  templates    

  Now  they  can  send  the  same  reports  to  their  exisKng  customers    We  developed  a  custom  external  .NET  applicaKon  that  relies  on  Splunk's  SDK  API      Retrieve  data  and  produce  specific  PDF  and  Excel  reports  in  the  format  requested  by  the  customer  

  This  allows  the  customer  to  generate  reports  from  data  stored  in  Splunk  in  any  format  they  want  –  They  simply  need  to  generate  a  template  which  will  be  used  by  the  developed    

.NET  applicaKon  

22  

Page 23: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Custom  .NET  applicaKon  

  Templates  prepared  in  Excel    Fetch  summary  data  from  Splunk  –  Splunk  C#  SDK  

  Start  Excel  process  in  a  background  and  fill  template  –  MicrosoY.Office.Interop.Excel  

  Generate  PDF  from  Excel  template    Send  report  to  list  of  email  addresses  

23  

Page 24: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

24  

Page 25: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

25  

Page 26: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Key  Takeaways    Machine  data  is  more  than  just  IT  (IoT  is  really  here)  Splunk  is  a  flexible  tool  –  Take  advantage  of  customizaKons  through  search  commands  

or  external  Python  controllers  

  Use  this  flexibility  to  implement  exactly  what  the  customer  needs  –  If  Splunk’s  built-­‐in  reporKng  is  limited,  with  SDK  API  sky’s    

the  limit  

26  

Page 27: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Key  Takeaways    With  Splunk,  the  Kme  to  generate  reports  has  been  dramaKcally  reduced  

  Daily  report  –  From  one  hour  to  less  than  ten  seconds  

  Monthly  report  –  From  twelve  hours  to  less  than  ten  seconds            (yes,  4.000  Kmes  faster  with  Splunk)  

  The  customer  can  now  run  yearly  reports  –  Something  they  could  not  even  dream  about  before  

27  

Page 28: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

Copyright  ©  2015  Splunk  Inc.  

Page 29: SplunkingWind Turbines*and*Keeping* the*Earth*Green* · The*Challenge* • Wind*turbines*generate*ahuge*amountof*data(approx.*2*million*events*per*day)* abouttheir*availability,*producKon*of*energy*and*energy*losses

THANK  YOU