All language subtitles for 004 Elasticsearch Overview_en[UdemyIran.Com]

af Afrikaans
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian Download
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,270 --> 00:00:04,410 Let's start off with sort of a 30,000 foot view of the elastic stack, and the components within it and 2 00:00:04,410 --> 00:00:08,530 how they fit together. So, elastic search is just one piece of this system. 3 00:00:08,550 --> 00:00:13,740 It started off as basically a scalable version of the Lucene open source search framework, and it 4 00:00:13,740 --> 00:00:19,020 just added the ability to horizontally scale Lucene indici, so we'll talk about shards of elastic 5 00:00:19,020 --> 00:00:24,870 search, and each shard in elastic search is just a single Lucene inverted index of documents, so every shard 6 00:00:24,870 --> 00:00:30,120 is an actual Lucene instance of its own. However, elastic search has evolved to be much more than just 7 00:00:30,180 --> 00:00:32,420 Lucene spread out across a cluster, 8 00:00:32,549 --> 00:00:36,780 it can be used for much more than full text search now, and it can actually handle structure data and 9 00:00:36,780 --> 00:00:42,030 aggregate data very quickly. So, it's not just for search, you can handle structure data of any type and 10 00:00:42,030 --> 00:00:45,260 you'll see it's often used for things like aggregating logs and things like that. 11 00:00:45,480 --> 00:00:49,740 And what's really cool, is that it's often a much faster solution than things like Hadoop or Spark or 12 00:00:49,780 --> 00:00:54,570 Flink; you're actually building in new things into the elastic search all the time, with things like graph 13 00:00:54,720 --> 00:00:59,970 visualization and machine learning that actually make elastic search a competitor for things like Hadoop 14 00:00:59,970 --> 00:01:04,519 and Spark and Flink, only it can give you an answer in milliseconds, instead of in hours. 15 00:01:04,530 --> 00:01:10,660 So for the right sorts of use cases, elastic search can be a very powerful tool and not just for search. 16 00:01:10,920 --> 00:01:15,780 So let's zoom in and see what elastic search is really about. At a low level, it's really just about handling 17 00:01:15,780 --> 00:01:20,520 JSON requests, so we're not talking about pretty UIs or graphical interfaces, when we're 18 00:01:20,520 --> 00:01:25,800 just talking about elastic search itself, we're talking about a server that can process JSON requests 19 00:01:25,800 --> 00:01:29,790 and give you back JSON data, and it's up to you to actually do something useful with that. 20 00:01:30,210 --> 00:01:36,990 So for example, we're using curl here to actually issue an arrest request with a GET verb for a given index 21 00:01:36,990 --> 00:01:40,890 called "tags", and we're just searching everything that's in it and you can see the results come back in 22 00:01:40,890 --> 00:01:43,620 JSON format here, and it's up to you to pass all this. 23 00:01:43,620 --> 00:01:49,080 So for example, we did get one result here called, for the movie, "Swimming to Cambodia", which has a given 24 00:01:49,080 --> 00:01:50,820 user I.D. and a tag of "Cambodia". 25 00:01:50,820 --> 00:01:55,080 So if this is part of a tags index that we're searching, this is what a result might actually look like. 26 00:01:55,080 --> 00:01:56,790 So, just to make it real, 27 00:01:56,910 --> 00:02:02,070 that's a sort of output you can expect from elastic search itself. But, there's more to it than just elastic 28 00:02:02,100 --> 00:02:06,810 search, there's also Kibana, which sits on top of elastic search and that's what gives you a pretty web 29 00:02:06,810 --> 00:02:07,330 UI. 30 00:02:07,770 --> 00:02:12,930 So if you're not building your own application on top of elastic search or your own web application, Kibana 31 00:02:12,960 --> 00:02:17,820 can be used just for searching and visualizing what's in your search index graphically, and it can do 32 00:02:17,820 --> 00:02:22,740 very complex aggregations of data, it can graph your data, it can create charts and it's often used to do 33 00:02:22,740 --> 00:02:27,120 things like log analysis - so if you're familiar with things like Google Analytics, the combination of 34 00:02:27,120 --> 00:02:32,220 elastic search and Kibana can be used as sort of a way to roll your own Google Analytics at a very large 35 00:02:32,220 --> 00:02:32,740 scale. 36 00:02:32,940 --> 00:02:35,100 Let's zoom in and take a look at what it might look like. 37 00:02:35,100 --> 00:02:38,430 So here's an actual screenshot from Kibana looking at some real log data. 38 00:02:38,430 --> 00:02:42,860 You can see there's multiple dashboards you can actually look at that are built into Kibana 39 00:02:42,940 --> 00:02:47,580 and this lets you visualize things like; where the hits on my web site are coming from, and where are the error 40 00:02:47,580 --> 00:02:51,210 response codes and how are they all broken down, and what's my distribution of URLs, whatever you 41 00:02:51,210 --> 00:02:52,330 can dream up. 42 00:02:52,350 --> 00:02:56,730 So, there are a lot of specialized dashboards for certain kinds of data, and it kind of brings home 43 00:02:56,730 --> 00:03:02,160 the point that elastic search is not just for searching text anymore; you can actually use it for aggregating 44 00:03:02,160 --> 00:03:05,710 things like apache access logs, which is what this view in Kibana does. 45 00:03:05,800 --> 00:03:09,780 But you can also use Kibana for pretty much anything else you want to. Later on this course we'll use 46 00:03:09,780 --> 00:03:15,060 it to visualize the complete works of William Shakespeare for example, and you can see how it can also 47 00:03:15,060 --> 00:03:21,800 be used for text data as well; it's a very flexible tool and a very powerful UI. We can also have something 48 00:03:21,800 --> 00:03:26,920 called logstash in the Beats framework, and these are ways of actually publishing data into elastic 49 00:03:26,930 --> 00:03:29,800 search, in real time, in a streaming format. 50 00:03:29,870 --> 00:03:33,980 So if you have for example, a collection of web server logs coming in that you just want to feed into 51 00:03:33,980 --> 00:03:39,110 your search index over time automatically, FileBeat can just sit on your web servers and look for new 52 00:03:39,110 --> 00:03:43,640 log files and parse them out, structure them in the way that elastic search wants, and then feed them into 53 00:03:43,640 --> 00:03:49,460 your elastic search cluster as they come in. Logstash does much the same thing, it can also be used to 54 00:03:49,460 --> 00:03:54,440 push data around between your servers and elastic search, but often it's used sort of an intermediate step, 55 00:03:54,590 --> 00:03:59,810 so you have a very lightweight FileBeat client that would sit on your web servers, logstash would accept 56 00:03:59,810 --> 00:04:05,930 those and sort of collect them and pool them up for feeding into elastic search over time. But it's 57 00:04:05,930 --> 00:04:09,920 not just made for log files, and it's not just made for elastic search and web servers either, these are 58 00:04:09,920 --> 00:04:15,020 all very general purpose systems that allow you to tie different systems together and publish data 59 00:04:15,050 --> 00:04:19,310 to wherever it needs to go, which might be elastic search, might be something else, but it's all part of the 60 00:04:19,310 --> 00:04:24,950 elastic stack still. But, it can also collect data from things like Amazon S3 or Kafka, or pretty 61 00:04:24,950 --> 00:04:29,660 much anything else you can imagine, databases, and we'll look at all of those examples later in this course. 62 00:04:31,460 --> 00:04:34,680 Finally, another piece of the elastic stack is called X-pack. 63 00:04:34,700 --> 00:04:39,650 This is actually a paid add on offered by elastic.co, and it offers things like security and alerting 64 00:04:39,650 --> 00:04:42,210 and monitoring and reporting, features like that. 65 00:04:42,230 --> 00:04:46,460 It also contains some of the more advanced features that are just starting to make it into elastic search 66 00:04:46,450 --> 00:04:51,770 now, such as machine learning and graph exploration, so you can see that with X-Pack, elastic search starts 67 00:04:51,770 --> 00:04:56,590 to become a real competitor for much more complex and heavy weight systems like Flink and Spark. 68 00:04:57,200 --> 00:05:01,130 But that's another piece of the elastic stack when we talk about this larger ecosystem. You can see 69 00:05:01,130 --> 00:05:06,440 here that there are free parts of X-Pack, like the monitoring framework, that lets you quickly visualize 70 00:05:06,470 --> 00:05:07,910 what's going on with your cluster, you know, 71 00:05:08,000 --> 00:05:09,980 what's my cpu utilization system load? 72 00:05:09,980 --> 00:05:11,150 How much memory you have available? 73 00:05:11,150 --> 00:05:11,810 Things like that. 74 00:05:11,810 --> 00:05:14,150 So, when things start to go wrong with your cluster, 75 00:05:14,150 --> 00:05:18,290 this is a very useful tool to have for understanding the health of your cluster. 76 00:05:18,290 --> 00:05:23,090 So that's it at a high level, the elastic stack. Obviously elastic search can still be used for a powering 77 00:05:23,090 --> 00:05:27,800 search on a web site like Wikipedia or something, but with these components it can be used for so much 78 00:05:27,800 --> 00:05:28,180 more. 79 00:05:28,190 --> 00:05:33,380 It's actually a larger framework for publishing data from any source you can imagine, and visualizing 80 00:05:33,380 --> 00:05:34,860 it as well through things like Kibana, 81 00:05:34,880 --> 00:05:40,540 and it also has operational capabilities through X-Pack; so that is the elastic stack at a high level. 82 00:05:40,610 --> 00:05:44,060 Lets dive in more into elastic search itself and learn more about how it works. 83 00:00:00,270 --> 00:00:04,410 Let's start off with sort of a 30,000 foot view of the elastic stack, and the components within it. And 84 00:00:04,410 --> 00:00:08,530 how they fit together. So, elastic search is just one piece of this system. 85 00:00:08,550 --> 00:00:13,740 It started off as basically a scalable version of the Lucene open source search framework, and it 86 00:00:13,740 --> 00:00:19,020 just added the ability to horizontally scale Lucene indici, so we'll talk about shards of elastic 87 00:00:19,020 --> 00:00:24,870 search, and each shard in elastic search is just a single Lucene inverted index of documents, so every shard 88 00:00:24,870 --> 00:00:30,120 is an actual Lucene instance of its own. However, elastic search has evolved to be much more than just 89 00:00:30,180 --> 00:00:32,420 Lucene spread out across a cluster, 90 00:00:32,549 --> 00:00:36,780 it can be used for much more than full text search now, and it can actually handle structure data and 91 00:00:36,780 --> 00:00:42,030 aggregate data very quickly. So, it's not just for search, you can handle structure data of any type and 92 00:00:42,030 --> 00:00:45,260 you'll see it's often used for things like aggregating logs and things like that. 93 00:00:45,480 --> 00:00:49,740 And what's really cool, is that it's often a much faster solution than things like Hadoop or Spark or 94 00:00:49,780 --> 00:00:54,570 Flink; you're actually building in new things into the elastic search all the time, with things like graph 95 00:00:54,720 --> 00:00:59,970 visualization and machine learning that actually make elastic search a competitor for things like Hadoop 96 00:00:59,970 --> 00:01:04,519 and Spark and Flink, only it can give you an answer in milliseconds, instead of in hours. 97 00:01:04,530 --> 00:01:10,660 So for the right sorts of use cases, elastic search can be a very powerful tool and not just for search. 98 00:01:10,920 --> 00:01:15,780 So let's zoom in and see what elastic search is really about. At a low level, it's really just about handling 99 00:01:15,780 --> 00:01:20,520 JSON requests, so we're not talking about pretty UIs or graphical interfaces, when we're 100 00:01:20,520 --> 00:01:25,800 just talking about elastic search itself, we're talking about a server that can process JSON requests 101 00:01:25,800 --> 00:01:29,790 and give you back JSON data, and it's up to you to actually do something useful with that. 102 00:01:30,210 --> 00:01:36,990 So for example, we're using curl here to actually issue an arrest request with a GET verb for a given index 103 00:01:36,990 --> 00:01:40,890 called "tags", and we're just searching everything that's in it and you can see the results come back in 104 00:01:40,890 --> 00:01:43,620 JSON format here, and it's up to you to pass all this. 105 00:01:43,620 --> 00:01:49,080 So for example, we did get one result here called, for the movie, "Swimming to Cambodia", which has a given 106 00:01:49,080 --> 00:01:50,820 user I.D. and a tag of "Cambodia". 107 00:01:50,820 --> 00:01:55,080 So if this is part of a tags index that we're searching, this is what a result might actually look like. 108 00:01:55,080 --> 00:01:56,790 So, just to make it real, 109 00:01:56,910 --> 00:02:02,070 that's a sort of output you can expect from elastic search itself. But, there's more to it than just elastic 110 00:02:02,100 --> 00:02:06,810 search, there's also Kibana, which sits on top of elastic search and that's what gives you a pretty web 111 00:02:06,810 --> 00:02:07,330 UI. 112 00:02:07,770 --> 00:02:12,930 So if you're not building your own application on top of elastic search or your own web application, Kibana 113 00:02:12,960 --> 00:02:17,820 can be used just for searching and visualizing what's in your search index graphically, and it can do 114 00:02:17,820 --> 00:02:22,740 very complex aggregations of data, it can graph your data, it can create charts and it's often used to do 115 00:02:22,740 --> 00:02:27,120 things like log analysis - so if you're familiar with things like Google Analytics, the combination of 116 00:02:27,120 --> 00:02:32,220 elastic search and Kibana can be used as sort of a way to roll your own Google Analytics at a very large 117 00:02:32,220 --> 00:02:32,740 scale. 118 00:02:32,940 --> 00:02:35,100 Let's zoom in and take a look at what it might look like. 119 00:02:35,100 --> 00:02:38,430 So here's an actual screenshot from Kibana looking at some real log data. 120 00:02:38,430 --> 00:02:42,860 You can see there's multiple dashboards you can actually look at that are built into Kibana 121 00:02:42,940 --> 00:02:47,580 and this lets you visualize things like; where the hits on my web site are coming from, and where are the error 122 00:02:47,580 --> 00:02:51,210 response codes and how are they all broken down, and what's my distribution of URLs, whatever you 123 00:02:51,210 --> 00:02:52,330 can dream up. 124 00:02:52,350 --> 00:02:56,730 So, there are a lot of specialized dashboards for certain kinds of data, and it kind of brings home 125 00:02:56,730 --> 00:03:02,160 the point that elastic search is not just for searching text anymore; you can actually use it for aggregating 126 00:03:02,160 --> 00:03:05,710 things like apache access logs, which is what this view in Kibana does. 127 00:03:05,800 --> 00:03:09,780 But you can also use Kibana for pretty much anything else you want to. Later on this course we'll use 128 00:03:09,780 --> 00:03:15,060 it to visualize the complete works of William Shakespeare for example, and you can see how it can also 129 00:03:15,060 --> 00:03:21,800 be used for text data as well; it's a very flexible tool and a very powerful UI. We can also have something 130 00:03:21,800 --> 00:03:26,920 called logstash in the Beats framework, and these are ways of actually publishing data into elastic 131 00:03:26,930 --> 00:03:29,800 search, in real time, in a streaming format. 132 00:03:29,870 --> 00:03:33,980 So if you have for example, a collection of web server logs coming in that you just want to feed into 133 00:03:33,980 --> 00:03:39,110 your search index over time automatically, FileBeat can just sit on your web servers and look for new 134 00:03:39,110 --> 00:03:43,640 log files and parse them out, structure them in the way that elastic search wants, and then feed them into 135 00:03:43,640 --> 00:03:49,460 your elastic search cluster as they come in. Logstash does much the same thing, it can also be used to 136 00:03:49,460 --> 00:03:54,440 push data around between your servers and elastic search, but often it's used sort of an intermediate step, 137 00:03:54,590 --> 00:03:59,810 so you have a very lightweight FileBeat client that would sit on your web servers, logstash would accept 138 00:03:59,810 --> 00:04:05,930 those and sort of collect them and pool them up for feeding into elastic search over time. But it's 139 00:04:05,930 --> 00:04:09,920 not just made for log files, and it's not just made for elastic search and web servers either, these are 140 00:04:09,920 --> 00:04:15,020 all very general purpose systems that allow you to tie different systems together and publish data 141 00:04:15,050 --> 00:04:19,310 to wherever it needs to go, which might be elastic search, might be something else, but it's all part of the 142 00:04:19,310 --> 00:04:24,950 elastic stack still. But, it can also collect data from things like Amazon S3 or Kafka, or pretty 143 00:04:24,950 --> 00:04:29,660 much anything else you can imagine, databases, and we'll look at all of those examples later in this course. 144 00:04:31,460 --> 00:04:34,680 Finally, another piece of the elastic stack is called X-pack. 145 00:04:34,700 --> 00:04:39,650 This is actually a paid add on offered by elastic.co, and it offers things like security and alerting 146 00:04:39,650 --> 00:04:42,210 and monitoring and reporting, features like that. 147 00:04:42,230 --> 00:04:46,460 It also contains some of the more advanced features that are just starting to make it into elastic search 148 00:04:46,450 --> 00:04:51,770 now, such as machine learning and graph exploration, so you can see that with X-Pack, elastic search starts 149 00:04:51,770 --> 00:04:56,590 to become a real competitor for much more complex and heavy weight systems like Flink and Spark. 150 00:04:57,200 --> 00:05:01,130 But that's another piece of the elastic stack when we talk about this larger ecosystem. You can see 151 00:05:01,130 --> 00:05:06,440 here that there are free parts of X-Pack, like the monitoring framework, that lets you quickly visualize 152 00:05:06,470 --> 00:05:07,910 what's going on with your cluster, you know, 153 00:05:08,000 --> 00:05:09,980 what's my cpu utilization system load? 154 00:05:09,980 --> 00:05:11,150 How much memory you have available? 155 00:05:11,150 --> 00:05:11,810 Things like that. 156 00:05:11,810 --> 00:05:14,150 So, when things start to go wrong with your cluster, 157 00:05:14,150 --> 00:05:18,290 this is a very useful tool to have for understanding the health of your cluster. 158 00:05:18,290 --> 00:05:23,090 So that's it at a high level, the elastic stack. Obviously elastic search can still be used for a powering 159 00:05:23,090 --> 00:05:27,800 search on a web site like Wikipedia or something, but with these components it can be used for so much 160 00:05:27,800 --> 00:05:28,180 more. 161 00:05:28,190 --> 00:05:33,380 It's actually a larger framework for publishing data from any source you can imagine, and visualizing 162 00:05:33,380 --> 00:05:34,860 it as well through things like Kibana, 163 00:05:34,880 --> 00:05:40,540 and it also has operational capabilities through X-Pack; so that is the elastic stack at a high level. 164 00:05:40,610 --> 00:05:44,060 Lets dive in more into elastic search itself and learn more about how it works. 165 00:00:00,270 --> 00:00:04,410 Let's start off with sort of a 30,000 foot view of the elastic stack, and the components within it and 166 00:00:04,410 --> 00:00:08,530 how they fit together. So, elastic search is just one piece of this system. 167 00:00:08,550 --> 00:00:13,740 It started off as basically a scalable version of the Lucene open source search framework, and it 168 00:00:13,740 --> 00:00:19,020 just added the ability to horizontally scale Lucene indici, so we'll talk about shards of elastic 169 00:00:19,020 --> 00:00:24,870 search, and each shard in elastic search is just a single Lucene inverted index of documents, so every shard 170 00:00:24,870 --> 00:00:30,120 is an actual Lucene instance of its own. However, elastic search has evolved to be much more than just 171 00:00:30,180 --> 00:00:32,420 Lucene spread out across a cluster, 172 00:00:32,549 --> 00:00:36,780 it can be used for much more than full text search now, and it can actually handle structure data and 173 00:00:36,780 --> 00:00:42,030 aggregate data very quickly. So, it's not just for search, you can handle structure data of any type and 174 00:00:42,030 --> 00:00:45,260 you'll see it's often used for things like aggregating logs and things like that. 175 00:00:45,480 --> 00:00:49,740 And what's really cool, is that it's often a much faster solution than things like Hadoop or Spark or 176 00:00:49,780 --> 00:00:54,570 Flink; you're actually building in new things into the elastic search all the time, with things like graph 177 00:00:54,720 --> 00:00:59,970 visualization and machine learning that actually make elastic search a competitor for things like Hadoop 178 00:00:59,970 --> 00:01:04,519 and Spark and Flink, only it can give you an answer in milliseconds, instead of in hours. 179 00:01:04,530 --> 00:01:10,660 So for the right sorts of use cases, elastic search can be a very powerful tool and not just for search. 180 00:01:10,920 --> 00:01:15,780 So let's zoom in and see what elastic search is really about. At a low level, it's really just about handling 181 00:01:15,780 --> 00:01:20,520 JSON requests, so we're not talking about pretty UIs or graphical interfaces, when we're 182 00:01:20,520 --> 00:01:25,800 just talking about elastic search itself, we're talking about a server that can process JSON requests 183 00:01:25,800 --> 00:01:29,790 and give you back JSON data, and it's up to you to actually do something useful with that. 184 00:01:30,210 --> 00:01:36,990 So for example, we're using curl here to actually issue an arrest request with a GET verb for a given index 185 00:01:36,990 --> 00:01:40,890 called "tags", and we're just searching everything that's in it and you can see the results come back in 186 00:01:40,890 --> 00:01:43,620 JSON format here, and it's up to you to pass all this. 187 00:01:43,620 --> 00:01:49,080 So for example, we did get one result here called, for the movie, "Swimming to Cambodia", which has a given 188 00:01:49,080 --> 00:01:50,820 user I.D. and a tag of "Cambodia". 189 00:01:50,820 --> 00:01:55,080 So if this is part of a tags index that we're searching, this is what a result might actually look like. 190 00:01:55,080 --> 00:01:56,790 So, just to make it real, 191 00:01:56,910 --> 00:02:02,070 that's a sort of output you can expect from elastic search itself. But, there's more to it than just elastic 192 00:02:02,100 --> 00:02:06,810 search, there's also Kibana, which sits on top of elastic search and that's what gives you a pretty web 193 00:02:06,810 --> 00:02:07,330 UI. 194 00:02:07,770 --> 00:02:12,930 So if you're not building your own application on top of elastic search or your own web application, Kibana 195 00:02:12,960 --> 00:02:17,820 can be used just for searching and visualizing what's in your search index graphically, and it can do 196 00:02:17,820 --> 00:02:22,740 very complex aggregations of data, it can graph your data, it can create charts and it's often used to do 197 00:02:22,740 --> 00:02:27,120 things like log analysis - so if you're familiar with things like Google Analytics, the combination of 198 00:02:27,120 --> 00:02:32,220 elastic search and Kibana can be used as sort of a way to roll your own Google Analytics at a very large 199 00:02:32,220 --> 00:02:32,740 scale. 200 00:02:32,940 --> 00:02:35,100 Let's zoom in and take a look at what it might look like. 201 00:02:35,100 --> 00:02:38,430 So here's an actual screenshot from Kibana looking at some real log data. 202 00:02:38,430 --> 00:02:42,860 You can see there's multiple dashboards you can actually look at that are built into Kibana 203 00:02:42,940 --> 00:02:47,580 and this lets you visualize things like; where the hits on my web site are coming from, and where are the error 204 00:02:47,580 --> 00:02:51,210 response codes and how are they all broken down, and what's my distribution of URLs, whatever you 205 00:02:51,210 --> 00:02:52,330 can dream up. 206 00:02:52,350 --> 00:02:56,730 So, there are a lot of specialized dashboards for certain kinds of data, and it kind of brings home 207 00:02:56,730 --> 00:03:02,160 the point that elastic search is not just for searching text anymore; you can actually use it for aggregating 208 00:03:02,160 --> 00:03:05,710 things like apache access logs, which is what this view in Kibana does. 209 00:03:05,800 --> 00:03:09,780 But you can also use Kibana for pretty much anything else you want to. Later on this course we'll use 210 00:03:09,780 --> 00:03:15,060 it to visualize the complete works of William Shakespeare for example, and you can see how it can also 211 00:03:15,060 --> 00:03:21,800 be used for text data as well; it's a very flexible tool and a very powerful UI. We can also have something 212 00:03:21,800 --> 00:03:26,920 called logstash in the Beats framework, and these are ways of actually publishing data into elastic 213 00:03:26,930 --> 00:03:29,800 search, in real time, in a streaming format. 214 00:03:29,870 --> 00:03:33,980 So if you have for example, a collection of web server logs coming in that you just want to feed into 215 00:03:33,980 --> 00:03:39,110 your search index over time automatically, FileBeat can just sit on your web servers and look for new 216 00:03:39,110 --> 00:03:43,640 log files and parse them out, structure them in the way that elastic search wants, and then feed them into 217 00:03:43,640 --> 00:03:49,460 your elastic search cluster as they come in. Logstash does much the same thing, it can also be used to 218 00:03:49,460 --> 00:03:54,440 push data around between your servers and elastic search, but often it's used sort of an intermediate step, 219 00:03:54,590 --> 00:03:59,810 so you have a very lightweight FileBeat client that would sit on your web servers, logstash would accept 220 00:03:59,810 --> 00:04:05,930 those and sort of collect them and pool them up for feeding into elastic search over time. But it's 221 00:04:05,930 --> 00:04:09,920 not just made for log files, and it's not just made for elastic search and web servers either, these are 222 00:04:09,920 --> 00:04:15,020 all very general purpose systems that allow you to tie different systems together and publish data 223 00:04:15,050 --> 00:04:19,310 to wherever it needs to go, which might be elastic search, might be something else, but it's all part of the 224 00:04:19,310 --> 00:04:24,950 elastic stack still. But, it can also collect data from things like Amazon S3 or Kafka, or pretty 225 00:04:24,950 --> 00:04:29,660 much anything else you can imagine, databases, and we'll look at all of those examples later in this course. 226 00:04:31,460 --> 00:04:34,680 Finally, another piece of the elastic stack is called X-pack. 227 00:04:34,700 --> 00:04:39,650 This is actually a paid add on offered by elastic.co, and it offers things like security and alerting 228 00:04:39,650 --> 00:04:42,210 and monitoring and reporting, features like that. 229 00:04:42,230 --> 00:04:46,460 It also contains some of the more advanced features that are just starting to make it into elastic search 230 00:04:46,450 --> 00:04:51,770 now, such as machine learning and graph exploration, so you can see that with X-Pack, elastic search starts 231 00:04:51,770 --> 00:04:56,590 to become a real competitor for much more complex and heavy weight systems like Flink and Spark. 232 00:04:57,200 --> 00:05:01,130 But that's another piece of the elastic stack when we talk about this larger ecosystem. You can see 233 00:05:01,130 --> 00:05:06,440 here that there are free parts of X-Pack, like the monitoring framework, that lets you quickly visualize 234 00:05:06,470 --> 00:05:07,910 what's going on with your cluster, you know, 235 00:05:08,000 --> 00:05:09,980 what's my cpu utilization system load? 236 00:05:09,980 --> 00:05:11,150 How much memory you have available? 237 00:05:11,150 --> 00:05:11,810 Things like that. 238 00:05:11,810 --> 00:05:14,150 So, when things start to go wrong with your cluster, 239 00:05:14,150 --> 00:05:18,290 this is a very useful tool to have for understanding the health of your cluster. 240 00:05:18,290 --> 00:05:23,090 So that's it at a high level, the elastic stack. Obviously elastic search can still be used for a powering 241 00:05:23,090 --> 00:05:27,800 search on a web site like Wikipedia or something, but with these components it can be used for so much 242 00:05:27,800 --> 00:05:28,180 more. 243 00:05:28,190 --> 00:05:33,380 It's actually a larger framework for publishing data from any source you can imagine, and visualizing 244 00:05:33,380 --> 00:05:34,860 it as well through things like Kibana, 245 00:05:34,880 --> 00:05:40,540 and it also has operational capabilities through X-Pack; so that is the elastic stack at a high level. 246 00:05:40,610 --> 00:05:44,060 Lets dive in more into elastic search itself and learn more about how it works. 247 00:00:00,270 --> 00:00:04,410 Let's start off with sort of a 30,000 foot view of the elastic stack, and the components within it. And 248 00:00:04,410 --> 00:00:08,530 how they fit together. So, elastic search is just one piece of this system. 249 00:00:08,550 --> 00:00:13,740 It started off as basically a scalable version of the Lucene open source search framework, and it 250 00:00:13,740 --> 00:00:19,020 just added the ability to horizontally scale Lucene indici, so we'll talk about shards of elastic 251 00:00:19,020 --> 00:00:24,870 search, and each shard in elastic search is just a single Lucene inverted index of documents, so every shard 252 00:00:24,870 --> 00:00:30,120 is an actual Lucene instance of its own. However, elastic search has evolved to be much more than just 253 00:00:30,180 --> 00:00:32,420 Lucene spread out across a cluster, 254 00:00:32,549 --> 00:00:36,780 it can be used for much more than full text search now, and it can actually handle structure data and 255 00:00:36,780 --> 00:00:42,030 aggregate data very quickly. So, it's not just for search, you can handle structure data of any type and 256 00:00:42,030 --> 00:00:45,260 you'll see it's often used for things like aggregating logs and things like that. 257 00:00:45,480 --> 00:00:49,740 And what's really cool, is that it's often a much faster solution than things like Hadoop or Spark or 258 00:00:49,780 --> 00:00:54,570 Flink; you're actually building in new things into the elastic search all the time, with things like graph 259 00:00:54,720 --> 00:00:59,970 visualization and machine learning that actually make elastic search a competitor for things like Hadoop 260 00:00:59,970 --> 00:01:04,519 and Spark and Flink, only it can give you an answer in milliseconds, instead of in hours. 261 00:01:04,530 --> 00:01:10,660 So for the right sorts of use cases, elastic search can be a very powerful tool and not just for search. 262 00:01:10,920 --> 00:01:15,780 So let's zoom in and see what elastic search is really about. At a low level, it's really just about handling 263 00:01:15,780 --> 00:01:20,520 JSON requests, so we're not talking about pretty UIs or graphical interfaces, when we're 264 00:01:20,520 --> 00:01:25,800 just talking about elastic search itself, we're talking about a server that can process JSON requests 265 00:01:25,800 --> 00:01:29,790 and give you back JSON data, and it's up to you to actually do something useful with that. 266 00:01:30,210 --> 00:01:36,990 So for example, we're using curl here to actually issue an arrest request with a GET verb for a given index 267 00:01:36,990 --> 00:01:40,890 called "tags", and we're just searching everything that's in it and you can see the results come back in 268 00:01:40,890 --> 00:01:43,620 JSON format here, and it's up to you to pass all this. 269 00:01:43,620 --> 00:01:49,080 So for example, we did get one result here called, for the movie, "Swimming to Cambodia", which has a given 270 00:01:49,080 --> 00:01:50,820 user I.D. and a tag of "Cambodia". 271 00:01:50,820 --> 00:01:55,080 So if this is part of a tags index that we're searching, this is what a result might actually look like. 272 00:01:55,080 --> 00:01:56,790 So, just to make it real, 273 00:01:56,910 --> 00:02:02,070 that's a sort of output you can expect from elastic search itself. But, there's more to it than just elastic 274 00:02:02,100 --> 00:02:06,810 search, there's also Kibana, which sits on top of elastic search and that's what gives you a pretty web 275 00:02:06,810 --> 00:02:07,330 UI. 276 00:02:07,770 --> 00:02:12,930 So if you're not building your own application on top of elastic search or your own web application, Kibana 277 00:02:12,960 --> 00:02:17,820 can be used just for searching and visualizing what's in your search index graphically, and it can do 278 00:02:17,820 --> 00:02:22,740 very complex aggregations of data, it can graph your data, it can create charts and it's often used to do 279 00:02:22,740 --> 00:02:27,120 things like log analysis - so if you're familiar with things like Google Analytics, the combination of 280 00:02:27,120 --> 00:02:32,220 elastic search and Kibana can be used as sort of a way to roll your own Google Analytics at a very large 281 00:02:32,220 --> 00:02:32,740 scale. 282 00:02:32,940 --> 00:02:35,100 Let's zoom in and take a look at what it might look like. 283 00:02:35,100 --> 00:02:38,430 So here's an actual screenshot from Kibana looking at some real log data. 284 00:02:38,430 --> 00:02:42,860 You can see there's multiple dashboards you can actually look at that are built into Kibana 285 00:02:42,940 --> 00:02:47,580 and this lets you visualize things like; where the hits on my web site are coming from, and where are the error 286 00:02:47,580 --> 00:02:51,210 response codes and how are they all broken down, and what's my distribution of URLs, whatever you 287 00:02:51,210 --> 00:02:52,330 can dream up. 288 00:02:52,350 --> 00:02:56,730 So, there are a lot of specialized dashboards for certain kinds of data, and it kind of brings home 289 00:02:56,730 --> 00:03:02,160 the point that elastic search is not just for searching text anymore; you can actually use it for aggregating 290 00:03:02,160 --> 00:03:05,710 things like apache access logs, which is what this view in Kibana does. 291 00:03:05,800 --> 00:03:09,780 But you can also use Kibana for pretty much anything else you want to. Later on this course we'll use 292 00:03:09,780 --> 00:03:15,060 it to visualize the complete works of William Shakespeare for example, and you can see how it can also 293 00:03:15,060 --> 00:03:21,800 be used for text data as well; it's a very flexible tool and a very powerful UI. We can also have something 294 00:03:21,800 --> 00:03:26,920 called logstash in the Beats framework, and these are ways of actually publishing data into elastic 295 00:03:26,930 --> 00:03:29,800 search, in real time, in a streaming format. 296 00:03:29,870 --> 00:03:33,980 So if you have for example, a collection of web server logs coming in that you just want to feed into 297 00:03:33,980 --> 00:03:39,110 your search index over time automatically, FileBeat can just sit on your web servers and look for new 298 00:03:39,110 --> 00:03:43,640 log files and parse them out, structure them in the way that elastic search wants, and then feed them into 299 00:03:43,640 --> 00:03:49,460 your elastic search cluster as they come in. Logstash does much the same thing, it can also be used to 300 00:03:49,460 --> 00:03:54,440 push data around between your servers and elastic search, but often it's used sort of an intermediate step, 301 00:03:54,590 --> 00:03:59,810 so you have a very lightweight FileBeat client that would sit on your web servers, logstash would accept 302 00:03:59,810 --> 00:04:05,930 those and sort of collect them and pool them up for feeding into elastic search over time. But it's 303 00:04:05,930 --> 00:04:09,920 not just made for log files, and it's not just made for elastic search and web servers either, these are 304 00:04:09,920 --> 00:04:15,020 all very general purpose systems that allow you to tie different systems together and publish data 305 00:04:15,050 --> 00:04:19,310 to wherever it needs to go, which might be elastic search, might be something else, but it's all part of the 306 00:04:19,310 --> 00:04:24,950 elastic stack still. But, it can also collect data from things like Amazon S3 or Kafka, or pretty 307 00:04:24,950 --> 00:04:29,660 much anything else you can imagine, databases, and we'll look at all of those examples later in this course. 308 00:04:31,460 --> 00:04:34,680 Finally, another piece of the elastic stack is called X-pack. 309 00:04:34,700 --> 00:04:39,650 This is actually a paid add on offered by elastic.co, and it offers things like security and alerting 310 00:04:39,650 --> 00:04:42,210 and monitoring and reporting, features like that. 311 00:04:42,230 --> 00:04:46,460 It also contains some of the more advanced features that are just starting to make it into elastic search 312 00:04:46,450 --> 00:04:51,770 now, such as machine learning and graph exploration, so you can see that with X-Pack, elastic search starts 313 00:04:51,770 --> 00:04:56,590 to become a real competitor for much more complex and heavy weight systems like Flink and Spark. 314 00:04:57,200 --> 00:05:01,130 But that's another piece of the elastic stack when we talk about this larger ecosystem. You can see 315 00:05:01,130 --> 00:05:06,440 here that there are free parts of X-Pack, like the monitoring framework, that lets you quickly visualize 316 00:05:06,470 --> 00:05:07,910 what's going on with your cluster, you know, 317 00:05:08,000 --> 00:05:09,980 what's my cpu utilization system load? 318 00:05:09,980 --> 00:05:11,150 How much memory you have available? 319 00:05:11,150 --> 00:05:11,810 Things like that. 320 00:05:11,810 --> 00:05:14,150 So, when things start to go wrong with your cluster, 321 00:05:14,150 --> 00:05:18,290 this is a very useful tool to have for understanding the health of your cluster. 322 00:05:18,290 --> 00:05:23,090 So that's it at a high level, the elastic stack. Obviously elastic search can still be used for a powering 323 00:05:23,090 --> 00:05:27,800 search on a web site like Wikipedia or something, but with these components it can be used for so much 324 00:05:27,800 --> 00:05:28,180 more. 325 00:05:28,190 --> 00:05:33,380 It's actually a larger framework for publishing data from any source you can imagine, and visualizing 326 00:05:33,380 --> 00:05:34,860 it as well through things like Kibana, 327 00:05:34,880 --> 00:05:40,540 and it also has operational capabilities through X-Pack; so that is the elastic stack at a high level. 328 00:05:40,610 --> 00:05:44,060 Lets dive in more into elastic search itself and learn more about how it works. 41006

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.