内容简介:Elastic Stack 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化
Elastic Stack 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化
Elasticsearch
是一个分布式、RESTful 风格的搜索和数据分析引擎
Kibana
是一个免费且开放的用户界面,能够让您对 Elasticsearch 数据进行可视化管理和展示
Beats
是一个免费且开放的平台,集合了多种单一用途数据采集器,将数据发送给 Logstash 或 Elasticsearch
Logstash
是一个免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中
一、下载镱像(image)
搜索镱像(image)
docker search elasticsearch docker search kibana docker search logstash
获取镱像(image)
docker pull elasticsearch:7.6.0 #镜像名称:Tag docker pull kibana:7.6.0 #镜像名称:Tag docker pull logstash:7.6.0 #镜像名称:Tag
注:版本要统一
二、创建 ELK.yml
ELK.yml
version: "3.5" services: elasticsearch: container_name: elasticsearch image: elasticsearch:7.6.0 #镱像(image) restart: always #重启方式 environment: discovery.type: single-node #环境变量:运行模式 单例 ports: - "9200:9200" #端口映射 - "9300:9300" kibana: container_name: kibana image: kibana:7.6.0 #镱像(image) restart: always #重启方式 environment: I18N_LOCALE: "zh-CN" #指定中文 ports: - "5601:5601" #端口映射 logstash: container_name: logstash image: logstash:7.6.0 restart: always volumes: #文件夹映射,本地:容器 - "/Users/iChochy/logs:/usr/share/logstash/logs" ports: - "5044:5044" - "9600:9600"
volumes
自定义监控的文件夹
注:注意YML文件编写,不要出现 Tab 制表符,否则导致文件解析错误,启动容器(container)失败
# 错误信息 yaml.scanner.ScannerError: mapping values are not allowed here
三、运行容器
宿主机 hosts
中添加
127.0.0.1 elasticsearch
命令启动
docker-compose -f ELK.yml up -d
docker-compose -f #指定构建文件 up #创建并启动容器 -d #后台运行容器(container),打印容器(container)ID
四、检查容器的运行状态
elasticsearch 访问: http://127.0.0.1:9200
logstash 访问: http://127.0.0.1:9600
Kibana 访问: http://127.0.0.1:5601 ,进入 Kibana
运行 docker ps
查询容器运行状态,可以查看到容器的ID
mleo$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1b8cb2effede logstash:7.6.0 "/usr/local/bin/dock…" 2 hours ago Up About an hour 0.0.0.0:5044->5044/tcp, 0.0.0.0:9600->9600/tcp logstash 69b8bc678e4e kibana:7.6.0 "/usr/local/bin/dumb…" 3 weeks ago Up 2 hours 0.0.0.0:5601->5601/tcp kibana 8c655f5b7493 elasticsearch:7.6.0 "/usr/local/bin/dock…" 3 weeks ago Up 2 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp elasticsearch
运行 docker logs id
查看容器运行日志
例:持续查看logstash日志 docker logs 1b8cb2effede -f
五、修改logstash配置,监控日志文件
docker exec -it 1b8cb2effede bash vi pipeline/logstash.conf
input { beats { port => 5044 } file { path => "/usr/share/logstash/logs/*" #监控的文件路径 } } output { stdout { codec => rubydebug } elasticsearch { hosts => ["http://elasticsearch:9200"] #elasticsearch请求地址 index => "ichochy" #索引名称 } }
- 运行
docker restart 1b8cb2effede
重启 logstash
六、采集日志
在logstash的监控的文件路径下动态添加日志文件,日志就可以自动采集到 elasticsearch
touch web.log #创建日志文件 echo "www.ichochy.com" > web.log #添加日志信息
查看 logstash 日志信息可以看到打印的日志
{ "@version" => "1", "path" => "/usr/share/logstash/logs/web.log", "host" => "1b8cb2effede", "@timestamp" => 2020-07-10T14:07:16.633Z, "message" => "www.ichochy.com" }
以上所述就是小编给大家介绍的《Elastic Stack(ElasticSearch 、 Kibana 和 Logstash) 实现日志的自动采集、搜索和分析》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 源码分析 Sentinel 实时数据采集实现原理
- Ali Canal 实现 MySQL 数据采集转储
- 基于 Kubernetes 实现的大数据采集与存储实践总结
- 日志监控实践:监控 Agent 集成 Lua 引擎实现多维度日志采集
- 一种基于Android Camera无预览采集YUV帧的实现方式
- idou老师教你学Istio 25:如何用istio实现监控和日志采集
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
传统企业,互联网在踢门
刘润 / 中国华侨出版社 / 2014-7 / 42
1、第一本传统企业互联网化的战略指导书,首次提出“互联网加减法”,迄今最清晰的转型公式 鉴于目前很多传统企业“老办法不管用,新办法不会用”的现状,本书将用“互联网的加减法” 这个简单模型清晰地说明商业新时代的游戏规则和全新玩法,帮助传统企业化解“本领恐慌” 。 2、小米董事长&CEO 金山软件董事长雷军,新东方教育科技集团董事长兼CEO俞敏洪,复旦大学管理学院院长陆雄文,复旦大学博士、......一起来看看 《传统企业,互联网在踢门》 这本书的介绍吧!