【Logstash】【ElasticSearch】【Kibana】安装测试【日志存储】

143 阅读3分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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.选择索引及内容显示

在这里插入图片描述