1.在filebeat配置指定目录 创建日志文件 a.log 正常情况下日志已经传到logstash 并传到elasticseatch
数据索引类似这样的格式 log-%{+YYYY.MM.dd},通过命令查找e中的所有索引
http://127.0.0.1:9200/_cat/indices?v 发现并没有
2、我电脑不能同时启动 e l k f 4个容器 提示内存不足 我就把k器先关了
3、查看filebeat日志
好像没啥问题
4 查看logstash 日志
好像不能链接9200 百度一下 容器之间不能通信 要创建个网络 把容器加进去
5、 创建网络 docker network create elk
6、把容器加进去
docker network connect elk elasticsearch
docker network connect elk logstash
7、重启两个容器 查看logstash日志
logstash和elastic 应该是通了
8 发现e还没有数据 估计是filebeat也要加到网络
docker network connect elk filebeat
重启filebeat
9、elasticsearch 还没数据 让我想想
查看logstash日志 发现
难道一直没连上
10、查阅文档,原来配置里面访问 直接用容器名称
修改之前logstash配置 logstash.conf
重启logstash
11、修改 filebeat配置filebeat.yml
这里 paths 貌似是容器访问日志路径,要绝对的路径,然后容器启动还要映射实际日志路径与这个路径
把之前filebeat容器删了 重新创建
docker run --name filebeat --network elk -d -v ~/elk/log1:/root/elk/log -v ~/elk/yaml/filebeat.yml:/usr/share/filebeat/filebeat.yml docker.elastic.co/beats/filebeat:7.16.2-amd64
这样相当于容器都log1下面的日志 没有这个映射直接好像读不到 ,后续研究,先走通。
在log1文件夹下创建日志文件 例如a.log,写入一些日志
12、此时我再访问
elasticsearch 已经创建了日志索引log-2022.01.07,这个索引名字是根据之前logstash.conf配置命名的。意思日志已经存储到e的库里。
这个日志应该是更新就会存储,实时的。
13、接下来再用kibana访问就行了 我的电脑配置低. 不能同时开启4个容器.
也要把kibana加到elk网络 4个容器要放到同一个网络 才能互通 用容器名代替ip访问
我一启动kibana logstash就自动关了 因为内存不足
14、浏览器访问 ip:5601 一切正常就能访问可视化界面了 这应该就是kibana了 接下来配置查看日志
15.先配索引 搜索框搜索
这个通配索引 e库里面必须能匹配到,不然创建不了 .我创建的就是匹配log-* 就是匹配log-开头的日志
16.接下来根据索引查看日志
进入 discover 设置查询条件 就能查询了
e好像就是一个非关系数据库 通过filebeat 采集日志文件数据 logstash用来过滤 这次没用到过滤功能 过滤后的数据存到elasticsearch数据库中 kibana查看数据库数据



