日志是分析线上问题的重要手段,通常我们会把日志输出到控制台或者本地文件中,排查问题时通过根据关键字搜索本地日志,但越来越多的公司,项目开发中采用分布式的架构,日志会记录到多个服务器或者文件中,分析问题时可能需要查看多个日志文件才能定位问题,如果相关项目不是一个团队维护时沟通成本更是直线上升。把各个系统的日志聚合并通过关键字链接一个事务处理请求,是分析分布式系统问题的有效的方式。
ELK(elasticsearch+logstash+kibana)是目前比较常用的日志分析系统,包括日志收集(logstash),日志存储搜索(elasticsearch),展示查询(kibana),我们使用ELK作为日志的存储分析系统并通过为每个请求分配requestId链接相关日志。ELK具体结构如下图所示:
1.安装 Elasticsearch
见上一篇 elasticsearch 的介绍。
2. Linux环境安装Kibana
Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作。
你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互。
你可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。
Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。
1.Kibana环境安装
tar -zxvf kibana-6.4.3-linux-x86_64.tar.gz
vim config/kibana.yml
# 将默认配置改成如下:
server.port: 5601
server.host: "192.168.212.152"
elasticsearch.url: "http:// 192.168.212.151:9200" (elasticsearch 的地址)
启动Kibana
./bin/kibana
http://192.168.212.152:5601/app/kibana
这样 kibana 和elasticsearch 进行了连接。
Logstash环境搭建
Logstash环境安装
1、上传logstash安装包(资料)
2、解压tar –zxvf logstash-6.4.3.tar.gz
3、在config目录下放入xx.conf 读入并且读出日志信息
4、./logstash -f ../config/may.conf
Logstash配置文件说明
input {
# 从文件读取日志信息 输送到控制台
file {
path => "/usr/local/logstash-6.4.3/logs/logstash-plain.log"
codec => "json" ## 以JSON格式读取日志
type => "elasticsearch"
start_position => "beginning"
}
}
# filter {
#
# }
output {
# 标准输出
# stdout {}
# 输出进行格式化,采用Ruby库来解析日志
stdout { codec => rubydebug }
elasticsearch {
hosts => ["192.168.212.151:9200"]
index => "es-%{+YYYY.MM.dd}"
}
}
logstash 编写多个配置文件
1.conf
input {
file {
path => "/data/log/1.log"
start_position => "beginning"
sincedb_path => "/tmp/1_progress"
type => "1-log"
}
}
output {
if [type] == "1-log" {
elasticsearch {
hosts => ["192.168.212.151"]
index => "1-log-%{+YYYY.MM.dd}"
}
}
}
a.conf
input {
file {
path => "/data/log/a.log"
start_position => "beginning"
sincedb_path => "/tmp/a_progress"
type => "a-log"
}
}
output {
if [type] == "a-log" {
elasticsearch {
hosts => ["192.168.212.151"]
index => "a-log-%{+YYYY.MM.dd}"
}
}
}
启动命令如下:
logstash -f /etc/logstash/conf.d/
标签:log,Kiabana,192.168,Logstash,Elasticsearch,kibana,elasticsearch,日志,logstash From: https://blog.51cto.com/u_15461374/5938168