/var存放日志
.log
auth:认证
boot:登录
dpkg:深度、Debian软件安装
fontconfig:字体
Logstash是一个开源的数据收集引擎,具有实时管道功能。接收、处理、转发日志。
Logstash可以动态地将来自不同数据源的数据(支持系统日志、WEB服务器日志、错误日志、应用日志等多种日志类型)统一起来
并将数据标准化到所选择的目的地(ElasticSearch完成)
形象理解:
ElasticSearch----后台数据存储
Kibana----前端报表展示
Logstash----搬运工
Logstash组件:
Input(必须)/output(必须)/Codec(解码)/Filter(筛选)
数据流(流水线pipeline)中每一条数据称为一个事件(一条数据)
每个阶段可以指定多种方式(灵活)
Input:
必选项。负责产生事件,常用插件包括:File、syslog(系统日志)、Redis(日志服务器)、Beats(如:Filebeats,日志搜集器)
Filter:
可选项。负责数据处理与转换,常用插件包括Grok(Grok正则表式)/Mutate(?)/Drop/Clone/Geoip(?)
Output:
必选项。负责数据输出,常用插件包括:ElasticSearch(搜索引擎)/File(文件过滤器)/Graphite(网站实时采集与统计)/Statsd(网络守护进程)
Logstash命令行常用参数:
e:执行。即执行命令指定的任务
f:文件。执行指定文件中的任务。
t:测试。不执行任务,而是检查配置文件的语法。
1.安装并解压(略)
2.启动验证
bin/logstash -e 'input { stdin { } } output { stdout {} }'
//input:数据来源 output:数据输出 stdin:标准输入 stdout:标准输出
结果如下:
3.rubydebug插件(用户读取便捷)
bin/logstash -e 'input { stdin { } } output { stdout {codec=>rubydebug} }'
//codec(编码插件) =>:指定
rubydebug优势?:
输入或输出时处理不同的数据
更好的与其他自定义的格式数据共存
结果如下:
3.运行配置文件(依旧在logstash根目录下) bin/logstash -f ./config/logstash_test.conf
配置文件路径及内容如下:
结果与第一次验证相同:
Ctrl+C退出
1.安装并解压(略)
2.启动:(在elasticsearch根目录下) ./bin/elasticsearch
报错:权限不够
解决办法:手动解压(命令解压很多文件的权限没有全部打开)
3.使用Logstash存入数据并查看ElasticSearch存储的日志
bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts=>localhost} }'
直接查看比较乱:安装curl
sudo apt install -y curl
使用curl命令发送请求来查看ES是否接收到了数据 curl 'http://localhost:9200/_search?pretty'
报错:
连接成功应如图所示:
在logstash中输入以下命令(elasticsearch保持打开状态)
bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts=>localhost} }'
注意:
1.在Elasticsearch下输入数据没有变化,需要配合Logstash写入再进行查看(Elasticsearch在后台运行)
2.在Logstash输入后日志并不会有反应(Elasticsearch没有显示功能)
3.Logstash与Elasticsearch要使用相同版本号的软件
1.安装并解压(略)
2.启动:(在kibana的bin目录下) ./kibana
报错:
继上面问题解决后:
(晚上没太搞懂怎么设置Discover)在kibana中查看Discover:
日志采集工具对比:
Logstash:具有过滤器功能,能够分析日志。获取日志,进行过滤分析后,存储到ElasticSearch中。对资源要求比较高。
Filebeat:更轻量,占用资源更少,用来采集日志,发送到消息队列。(仅能收集日志、无法处理)
datax稳定性强 命令出错不能运行
kettle兼容性不强
保留报错:



