Slide 1

Slide 1 text

Elastic 1 March 2018 @GeorgeKobar @jpcarey @juliD “Here, Hold My Beer.” Customer Stories to Learn from as Told by Support George, Jared & Jaleh

Slide 2

Slide 2 text

Most good stories start with, “Here, Hold my beer.” Unless it’s a story about you...

Slide 3

Slide 3 text

Our Goal To avoid this...

Slide 4

Slide 4 text

4 And Provide This

Slide 5

Slide 5 text

In this session, members of the Elastic support team discuss the top three common customer mistakes and misconfigurations along with best practices and recommendations so you can avoid those issues yourself.

Slide 6

Slide 6 text

In this session, members of the Elastic support team discuss the top three common customer mistakes and misconfigurations along with best practices and recommendations so you can avoid those issues yourself.

Slide 7

Slide 7 text

{ Common Evolution of Using Elasticsearch } 7

Slide 8

Slide 8 text

{ Common Evolution of Using Elasticsearch } 8 Common Evolution of Marriage

Slide 9

Slide 9 text

{ Common Evolution of Using Elasticsearch } 9 1 The Honeymoon 2 The Work Maintaining 3 4 Realization Marriage

Slide 10

Slide 10 text

{ Common Evolution of Using Elasticsearch } 1 0 1 The Honeymoon Proof of Concept 2 The Work Tuning & Optimization, Growth Maintaining Business Continuity, Upgrades 3 4 Realization Life in Production Marriage

Slide 11

Slide 11 text

{ Honeymoon }

Slide 12

Slide 12 text

Proof of Concept : { Honeymoon }

Slide 13

Slide 13 text

Proof of Concept : { Honeymoon }

Slide 14

Slide 14 text

{ Bootstrap Checks } Heap size check - JVM min and max heap are equal File descriptor check - file descriptors are set to at least 65,536 Memory lock check - Bootstrap.memory_lock is set Maximum number of threads check - Allow elasticsearch process to create at least 2048 threads Maximum size virtual memory check - Allow unlimited address space for elasticsearch process Maximum map count check - sysctl -w vm.max_map_count=262144 Client JVM check - Make sure server JVM is running, not the client JVM Use serial collector check - Make sure -XX:+UseSerialGC is enabled System call filter check - Make sure system call filters are installed and enabled OnError and OnOutOfMemoryError checks - Disallow these settings when syscall filters are enabled Early-access check Disallow use of openJDK early access builds G1GC check - Disallow use of G1GC

Slide 15

Slide 15 text

Elastic Products { Honeymoon } 0.90 1.x 2.x 5.x 6.x 7+

Slide 16

Slide 16 text

{ Common User Path } POC Production

Slide 17

Slide 17 text

{ Common User Path } POC Production

Slide 18

Slide 18 text

{ Realization }

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

No content

Slide 37

Slide 37 text

No content

Slide 38

Slide 38 text

No content

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

No content

Slide 41

Slide 41 text

{ Shard Benchmarking } Rally (elasticsearch’s benchmarking tool) $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:1" --report-file=~/result_1p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:2" --report-file=~/result_2p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:4" --report-file=~/result_4p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:8" --report-file=~/result_8p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:12" --report-file=~/result_12p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:18" --report-file=~/result_18p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:24" --report-file=~/result_24p.txt $ esrally --distribution-version=6.2.2 --track=http_logs --car="4gheap" --track-params="number_of_shards:48" --report-file=~/result_48p.txt esrally 0.9.2 Google Compute n1-standard-4 (4 vCPUs, 15 GB memory) CPU platform: Intel Haswell 100gb SSD persistent disk CentOS Linux release 7.4.1708 (Core)

Slide 42

Slide 42 text

{Indexing}

Slide 43

Slide 43 text

{Terms}

Slide 44

Slide 44 text

{ The Work }

Slide 45

Slide 45 text

{ The Work } 45 Elasticsearch Has Many Uses Cases • Application Search • Enterprise Search • Business Analytics • Metrics / Operational Log Analytics • Security Analysis • https://www.elastic.co/use-cases

Slide 46

Slide 46 text

{ The Work } 46 Elasticsearch Has Many Uses Cases ●Search ●Time Series Data • Application Search • Enterprise Search • Business Analytics • Metrics / Operational Log Analytics • Security Analysis • https://www.elastic.co/use-cases

Slide 47

Slide 47 text

{ The Work } Elasticsearch Has Many Uses Cases ● Search How Fast Are My Search Results? ● Time Series How Fast Can I Index?

Slide 48

Slide 48 text

{ The Work } Default Search Indexing Search Performance Index Performance

Slide 49

Slide 49 text

Search { The Work } Faster Search Performance

Slide 50

Slide 50 text

Search { The Work } Indexing Slower Indexing Performance Faster Search Performance

Slide 51

Slide 51 text

Faster Index Performance { The Work } Slower Search Performance Search Indexing

Slide 52

Slide 52 text

● Data Modeling ● Filters!!! ● Use Profiler for Query Optimization ● Force Merge Static Indices Search Performance { Optimize for Search }

Slide 53

Slide 53 text

● Increase Refresh Interval >30 sec ● Disable OS Swapping ● Increase Buffer Index Size Index Performance { Optimize for Index }

Slide 54

Slide 54 text

{ Optimize for Both } Index Performance Search Performance

Slide 55

Slide 55 text

• Rollover API - • Managing Time Based Series Data Efficiently • https://www.elastic.co/blog/managing-time-based-indices-efficiently • Aliases • Abstract or change your physical mapping without downtime • https://www.elastic.co/blog/aliases-ftw • Optimize for failure • Users commonly optimize and fine tune to what is available. • Rarely plan for node outage. N+1!!! OR N+2!!! { Other Considerations }

Slide 56

Slide 56 text

5 6 {Maintenance}

Slide 57

Slide 57 text

{ Business Continuity } Big Words for It Needs to Keep Working

Slide 58

Slide 58 text

5 8 Beats Log Files Metrics Wire Data your(beat) Datastore Social Web APIs Sensors Kafka Redis Messaging Queue Nodes (X) Logstash Elasticsearch Kibana X-pack Authentication Notification X-pack LDAP AD SSO Instances (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) { Maintaining The Family }

Slide 59

Slide 59 text

59 Secure • Authentication • Secure Connections • Monitor - • Nodes, Kibana, and Logstash • Data Retention • Index Sizing { Keeping an Eye on Your Cluster } • High Availability • Disaster Recovery - Hot/Warm Site Monitoring Management HA and DR

Slide 60

Slide 60 text

60 This is a sample image Lock it up

Slide 61

Slide 61 text

{Chose your Lock}

Slide 62

Slide 62 text

62 This is a sample image Monitoring

Slide 63

Slide 63 text

{Don’t take your eyes off it }

Slide 64

Slide 64 text

6 4 Cluster Alerts { Cluster Alerts }

Slide 65

Slide 65 text

6 5 Nodes { Nodes }

Slide 66

Slide 66 text

6 6 Logstash { Logstash }

Slide 67

Slide 67 text

6 7 Logstash pipeline { Pipeline }

Slide 68

Slide 68 text

{Do it your way}

Slide 69

Slide 69 text

69 This is a sample image Index Management

Slide 70

Slide 70 text

• Data Retention • Delete indices • Index size management. • Replicas (Change the number of replicas per shard for indices) • Rollover • Shrink • Rollover indices { Curator to the Rescue } 70 How can it help you

Slide 71

Slide 71 text

71 This is a sample image High Availability Disaster Recovery

Slide 72

Slide 72 text

72 Elasticsearch X-pack Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Zone A Zone B { High Availability } Shard Allocation Awareness Beats Log Files Metrics Wire Data your(beat) Nodes (X) Logstash Kibana Instances (X)

Slide 73

Slide 73 text

73 { Disaster Recovery } Elasticsearch Kibana X-pack X-pack Instances (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Elasticsearch Kibana X-pack X-pack Instances (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Beats Log Files Metrics Wire Data your(beat) Datastore Social Web APIs Sensors Kafka Redis Messaging Queue Nodes (X) Logstash

Slide 74

Slide 74 text

{ Upgrades } Keep it Fresh

Slide 75

Slide 75 text

75 This is a sample image But It’s a Tough Climb

Slide 76

Slide 76 text

76 This is a sample image Sudden leaps are more risky

Slide 77

Slide 77 text

• Rolling Upgrade • Upgrade assistant • Interactive Upgrade Guide. { We Heard You } 77 Major upgrade without downtime

Slide 78

Slide 78 text

78 This is a sample image { Upgrade Assistant }

Slide 79

Slide 79 text

79 This is a sample image { Cluster Checkup }

Slide 80

Slide 80 text

80 This is a sample image { Reindex Helper }

Slide 81

Slide 81 text

81 This is a sample image { Toggle Deprecation Logger }

Slide 82

Slide 82 text

82 This is a sample image { Interactive Upgrade Guide }

Slide 83

Slide 83 text

83 This is a sample image { Interactive Upgrade Guide }

Slide 84

Slide 84 text

{ Backup } Don’t Lose Your Data

Slide 85

Slide 85 text

85 Not This Way

Slide 86

Slide 86 text

{ Backup Your Elasticsearch Data } Avoid relying solely on - Infrastructure strategies - OS Strategies Elasticsearch Snapshot API - Separate storage in your data Center - Cloud storage

Slide 87

Slide 87 text

{ Curator to the Rescue }

Slide 88

Slide 88 text

{ How to Get Help }

Slide 89

Slide 89 text

Timeshare Time

Slide 90

Slide 90 text

{ How to Get Help } ● Subscription Support -Consultative in Nature ○ Dedicated Support Engineer ■Use Case Driven Support ■Understands Impact of Upgrade/Caveats For Your Environment ● Baseline Taken -Metrics ■Upgrade Planning ■24/7 Break Fix For Production Issues

Slide 91

Slide 91 text

• Support • https://www.elastic.co/guide/en/elastic-stack/current/upgrading-elastic-stack.html • Training • Courses in your area: https://www.elastic.co/blog/category/releases • Consulting • For on-site, time-sensitive assistance • https://www.elastic.co/services_policy#upgrade-strategy { How to Get Help } 91

Slide 92

Slide 92 text

{ How to Get Help } 92 ⬩ IRC on Freenode ◈ #elasticsearch, #logstash, #kibana, #beats ◈ #elastic-webinar ⬩ Slides and recording are available ⬩ Forum: https://discuss.elastic.co/ ⬩ Github: https://github.com/elastic ⬩ StackOverflow: http://stackoverflow.com/questions/tagged/e lasticsearch

Slide 93

Slide 93 text

93 More Questions? Visit us at the AMA

Slide 94

Slide 94 text

www.elastic.c o

Slide 95

Slide 95 text

Except where otherwise noted, this work is licensed under http://creativecommons.org/licenses/by-nd/4.0/ Creative Commons and the double C in a circle are registered trademarks of Creative Commons in the United States and other countries. Third party marks and brands are the property of their respective holders. 95 Please attribute Elastic with a link to elastic.co