1.分布式日志
1.1.ELK介绍
1.1.1.什么是ELK?
ELK是Elasticsearch、Logstash、Kibana的简称(也称为 ELK Stack),是elastic公司提供的一套完整的日志收集以及展示的解决方案,能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。
-
Elasticsearch:是开源的分布式全文检索服务器。
-
Logstash:是一个具有实时传输能力的数据收集引擎,用来进行数据收集(如:读取文本文件)、过滤、解析,并将数据发送给ES。
-
Kibana:数据分析与可视化平台,对Elasticsearch存储的数据进行可视化分析,通过表格的形式展现出来。
1.1.2.为什么要用 ELK?
一般大型系统都采用分布式架构,不同的模块部署在不同的服务器上,大规模分布式项目的日志面临的问题如下:
- 文本搜索太慢怎么办?
- 分布式环境下的日志如何查询?
- 如何多维度查询?
1.2.安装logstash
1.2.1.下载
下载地址:https://artifacts.elastic.co/downloads/logstash/logstash-6.2.3.tar.gz
1.2.2.安装
解压即安装:
tar -zxvf logstash-6.2.3.tar.gz -C /usr/local/logstash
1.2.3.修改配置
在 logstash 的主目录下:
vim config/log_to_es.conf
内容如下:
# For detail structure of this file
# Set: https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
input {
# For detail config for log4j as input,
# See: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html
tcp {
mode => "server"
#本Logstash服务器的ip
host => "0.0.0.0"
#本Logstash服务器的端口
port => 9250
}
}
filter {
##过滤、格式化数据. 可以选择要哪些日志,不要哪些日志。
}
output {
# For detail config for elasticsearch as output,
# See: https://www.e