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进入logstash
  • 运行vi pipeline/logstash.conf修改logstash默认配置
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"
}

七、搜索、分析日志

访问:http://127.0.0.1:5601,进入 Kibana

Discover可以看到刚刚添加进来的日志数据,开始表演…………


联系方式:

邮箱:iChochy@qq.com

网站:https://www.ichochy.com

源文:https://ichochy.com/posts/20200710/

Elastic Stack(ElasticSearch 、 Kibana 和 Logstash) 实现日志的自动采集、搜索和分析的更多相关文章

  1. Elastic Stack之kibana使用

    Elastic Stack之kibana使用 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客数据流走向:FileBeat ===>Redis  ===>log ...

  2. Filebeat+Logstash+ElasticSearch+Kibana搭建Apache访问日志解析平台

    对于ELK还不太熟悉的同学可以参考我前面的两篇文章ElasticSearch + Logstash + Kibana 搭建笔记.Log stash学习笔记(一),本文搭建了一套专门访问Apache的访 ...

  3. Logstash+ElasticSearch+Kibana处理nginx访问日志(转)

    ELK似乎是当前最为流行的日志收集-存储-分析的全套解决方案. 去年年初, 公司里已经在用, 当时自己还山寨了一个统计系统(postgresql-echarts, 日志无结构化, json形式存储到p ...

  4. Elastic Stack之kibana入门

    为了解决公司的项目在集群环境下查找日志不便的问题,我在做过简单调研后,选用Elastic公司的Elastic Stack产品作为我们的日志收集,存储,分析工具. Elastic Stack是ELK(E ...

  5. ElasticSearch Kibana 和Logstash 安装x-pack记录

    前言 最近用到了ELK的集群,想想还是用使用官方的x-pack的monitor功能对其进行监控,这里先上图看看: 环境如下: 操作系统: window 2012 R2 ELK : elasticsea ...

  6. Elasticsearch,Kibana,Logstash,NLog实现ASP.NET Core 分布式日志系统

    Elasticsearch - 简介 Elasticsearch 作为核心的部分,是一个具有强大索引功能的文档存储库,并且可以通过 REST API 来搜索数据.它使用 Java 编写,基于 Apac ...

  7. Filebeat+Kafka+Logstash+ElasticSearch+Kibana 日志采集方案

    前言 Elastic Stack 提供 Beats 和 Logstash 套件来采集任何来源.任何格式的数据.其实Beats 和 Logstash的功能差不多,都能够与 Elasticsearch 产 ...

  8. ES 集中式日志分析平台 Elastic Stack(介绍)

    一.ELK 介绍 ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地对数据进行搜索.分析和可视化. 最近查看 ELK 官方网站,发现新一代的日志采集器 File ...

  9. 集中式日志分析平台 Elastic Stack(介绍)

    一.ELK 介绍 二.ELK的几种常见架构 >>ELK 介绍<< ELK 构建在开源基础之上,让您能够安全可靠地获取任何来源.任何格式的数据,并且能够实时地对数据进行搜索.分析 ...

随机推荐

  1. java例题_41 利用递归给猴子分桃

    1 /*41 [程序 41 猴子分桃] 2 题目:海滩上有一堆桃子,五只猴子来分.第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把 3 多的一个扔入海中,拿走了一份.第二只猴子把剩下的桃子又平均 ...

  2. Web 前端 - 优雅地 Callback 转 Promise :aw

    前言 当今 ES7 标准大行其道,使用 async + await 将异步逻辑同步书写已经普及,但是却有许多旧库或旧代码尚未完全 Promise 化,急需一个小工具去挖去这代码中藓疾. 设计和实现 由 ...

  3. 使用Docker Toolbox 创建Docker虚拟机的方法-注意正确使用本地文件 file:参数的路径名

    使用Docker Toolbox 创建v1.12.6版的Docker虚拟机的方法, 一定要注意正确使用本地文件 file:// 参数的路径名, 之前尝试创建过多次,一直都没有成功过, 无法使用 fil ...

  4. 一文搞懂MySQL体系架构!!

    写在前面 很多小伙伴工作很长时间了,对于MySQL的掌握程度却仅仅停留在表面的CRUD,对于MySQL深层次的原理和技术知识了解的少之又少,随着工作年限的不断增长,职场竞争力却是不断降低的.很多时候, ...

  5. Spring Boot 2.3.0 新特性Redis 拓扑动态感应

    本文为原创文章.欢迎任何形式的转载,但请务必注明出处 冷冷https://lltx.github.io. Spring Boot 2.3 新特性优雅停机详解 Spring Boot 2.3 新特性分层 ...

  6. (二) LDAP 安装

    LDAP 安装 参考:https://blog.51cto.com/bigboss/2341986

  7. 2. IntelliJ Idea 常用快捷键列表

    Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[ OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 ...

  8. 前端进阶(2)使用fetch/axios时, 如何取消http请求

    前端进阶(2)使用fetch/axios时, 如何取消http请求 1. 需求 现在前端都是SPA,我们什么时候需要取消HTTP请求呢? 当我们从一个页面跳转到另外一个页面时,如果前一个页面的请求还没 ...

  9. Azure CDN 为静态网站创建内容分发网络

    一,引言 最近刚刚接触 Edi.Wang 的 Moonglade 博客系统,正好这套系统中有使用到 Azure CND (内容分发网络),那就学习学习.那么今天就尝试利用 Azure CDN 来发布静 ...

  10. L'ane Trotro(小驴托托) 67集法语字幕+11集无字幕 百度云

    <小驴托托>(L'ane Trotro)是法国经典的少儿动画片,讲述了小驴托托的生活,它的对白浅显易懂,非常适合法语初学者培养语感以及学习日常表达. 百度云链接自取:https://pan ...