一、ELK简介
1.1 Elastic Stack简介
1.2 Elasticsearch介绍
1.2.1 Lucene:
https://blog.csdn.net/weixin_42633131/article/details/82873731/
1.2.2 倒排索引
1.2.3Lucene和Elasticsearch的关系
1.3 FileBeat介绍
Filebeat的介绍:
https://www.cnblogs.com/zsql/p/13137833.html
1.4 Logstash介绍
Logstash讲解:
https://www.cnblogs.com/taosiyu/p/13576055.html
1.5 Kibana介绍
1.6 Elasticsearch-head介绍
二、安装ELK(不建议tar包安装)
2.1 安装Elasticsearch(ES)
https://www.136.la/shida/show-323267.html
创建自定义的网络(用于连接到连接到同一网络的其他服务(例如Kibana))
docker network create somenetwork
docker run -d --name elk --net somenetwork -p 9200:9200 -p 9300:9300 -e “ES_JAVA_OPTS=-Xms256m -Xmx256m” -e “discovery.type=single-node” elasticsearch:7.1.1
-e:设置环境变量
-p:设置端口(格式为:主机(宿主)端口:容器端口)
9300是TCP协议端口号,ES集群之间通讯端口号
9200端口号,暴露ES RESTful接口端口号
2.2 安装Kibana
安装Kibana报错Kibana server is not ready yet:
解决方案:(关闭防火墙)
https://blog.csdn.net/fbvukn/article/details/107289027
docker run -d --name kibana --net somenetwork -p 5601:5601 kibana:7.1.1
2.3 安装es_head:
https://www.cnblogs.com/afeige/p/10771140.html
https://blog.csdn.net/qq_21077715/article/details/102951833(解决elasticsearch head浏览不到数据的问题)
docker run -d --name eshead -p 9100:9100 docker.io/mobz/elasticsearch-head:5
2.4 安装Filebet
Docker:
https://blog.csdn.net/shykevin/article/details/108333278
Linux安装:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.2.1-linux-x86_64.tar.gz
启动报错(添加下图的内容):
Filebeat is unable to load the Ingest Node pipelines for the configured modules because the Elasticsearch output is not configured/enabled. If you have already loaded the Ingest Node pipelines or are using Logstash pipelines, you can ignore this warning.
https://blog.csdn.net/ma15732625261/article/details/79734825
启动filebeat:
./filebeat –e –c test.yml
2.5 启动Logstash
启动:
https://blog.csdn.net/shykevin/article/details/108251996
2.6 IK中分分词器
进入elasticsearch(版本要对应,否则会报错)
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.1.1/elasticsearch-analysis-ik-7.1.1.zip
三、 ELK的演示
3.1 Elasticsearch
3.1.1 ES的基本概念
索引
文档
映射
文档类型
创建明确索引:
https://www.cnblogs.com/huanshilang/p/12616310.html
6.x和7.x的版本不允许在一个Index中创建多个Type,一个index中只能有一个type
https://blog.csdn.net/qq_37133859/article/details/108263559?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.no_search_link
3.1.2 RESTful API
基本的CRUD、创建索引、删除索引等操作
3.1.3 中文分词
3.1.4 结构化查询和全文搜索
3.1.5 Elasticsearch集群
3.2 Filebeat
启动filebeat:
./filebeat –e –c test.yml
Filebeat的Yaml文件详解:
https://www.cnblogs.com/zlslch/p/6622079.html
标准的输入输出
参数介绍:
https://www.cnblogs.com/whych/p/9930138.html
3.3 Logstash
启动较慢:(标准输入输出)
bin/logstash -e ‘input { stdin {} } output { stdout {} }’
Logstash配置文件的详解:
https://www.cnblogs.com/wzxmt/p/11031110.html
3.3.1 Grok过滤器插件解析日志
Grok过滤器插件解析日志
https://www.tizi365.com/archives/763.html
3.4演示filebeat+logstash+es+kibana
bin/logstash -f config/logstash-sample.conf --config.reload.automatic
3.4.1 给文件test2写入数据
3.4.2 通过Filebeat读取数据
3.4.3 数据传送到logstash
3.4.4将数据存储到ES中
3.4.5 通过kibana显示数据
3.4 Kibana
五、 参考文档
讲义-day01.pdf
讲义-day02.pdf
讲义资料获取路径:
https://gitee.com/qq127827/projectdoc/tree/master/ELK
5.1 FileBeat配置文件介绍
Filebeat的Yaml文件详解:
https://www.cnblogs.com/zlslch/p/6622079.html
5.2 logstash配置文件介绍
http://doc.yonyoucloud.com/doc/logstash-best-practice-cn/filter/split.html
Logstash配置文件的详解:
https://www.cnblogs.com/wzxmt/p/11031110.html
Grok过滤器插件解析日志
https://www.tizi365.com/archives/763.html
https://blog.csdn.net/zhengzaifeidelushang/article/details/101271007
logstash的output:
https://blog.csdn.net/xcl119xcl/article/details/89244563