本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Linux日志
/var存放日志
.log
auth:认证
boot:登录
dpkg:深度、Debian软件安装
fontconfig:字体
Logstash功能
Logstash是一个开源的数据收集引擎,具有实时管道功能。接收、处理、转发日志。
Logstash可以动态地将来自不同数据源的数据(支持系统日志、WEB服务器日志、错误日志、应用日志等多种日志类型)统一起来并将数据标准化到所选择的目的地(ElasticSearch完成)
形象理解:
ElasticSearch----后台数据存储
Kibana----前端报表展示
Logstash----搬运工
Logstash组件:
Input(必须)/output(必须)/Codec(解码)/Filter(筛选)
Logstash工作原理
数据流(流水线pipeline)中每一条数据称为一个事件(一条数据)
每个阶段可以指定多种方式(灵活)
Input: 必选项。负责产生事件,常用插件包括:File、syslog(系统日志)、Redis(日志服务器)、Beats(如:Filebeats,日志搜集器)
Filter: 可选项。负责数据处理与转换,常用插件包括Grok(Grok正则表式)/Mutate(对事件中的数据进行修改)/Drop/Clone/Geoip(将ip地址解析为更丰富的内容)
Output: 必选项。负责数据输出,常用插件包括:ElasticSearch(搜索引擎)/File(文件过滤器)/Graphite(网站实时采集与统计)/Statsd(网络守护进程)
Logstash命令行常用参数:
e:执行。即执行命令指定的任务
f:文件。执行指定文件中的任务。
t:测试。不执行任务,而是检查配置文件的语法。
日志采集工具对比:
Logstash:具有过滤器功能,能够分析日志。获取日志,进行过滤分析后,存储到ElasticSearch中。对资源要求比较高。
Filebeat:更轻量,占用资源更少,用来采集日志,发送到消息队列。(仅能收集日志、无法处理)
Java环境
略
Logstash安装与启动
1.安装并解压
(略)
2.启动验证
logstash目录下执行
bin/logstash -e 'input { stdin { } } output { stdout {} }'
//input:数据来源 output:数据输出 stdin:标准输入 stdout:标准输出
3.rubydebug插件(用户读取便捷)
bin/logstash -e 'input { stdin { } } output { stdout {codec=>rubydebug} }'
//codec(编码插件) =>:指定
4.配置文件
bin/logstash -f ./config/logstash_test.conf
配置文件内容及路径:
结果与启动验证一致:
ElasticSearch安装与启动
1.安装并解压
(略)
2.启动
./bin/elasticsearch
报错:权限不够
解决办法:手动解压(命令解压很多文件的权限没有全部打开)
3.使用Logstash存入数据并查看ElasticSearch存储的日志
Elasticsearch启动状态下:
logstash根目录下:
bin/logstash -e 'input { stdin { } } output { elasticsearch { hosts=>localhost} }'
curl命令查看ES是否接收到了数据:
logstash根目录下:
curl 'http://localhost:9200/_search?pretty'
如果报错,则进行curl安装:
sudo apt install -y curl
ps:
1.在Logstash输入后日志并不会有反应,Elasticsearch没有显示功能
2.Logstash与Elasticsearch要使用相同版本号的软件
Kibana安装与启动
1.安装并解压
(略)
2.启动
kibana根目录下:
bin/kibana
访问:localhost:5601
Kibana中index简单设置:
1.创建索引
2.选择索引及内容显示