ELK:elasticsearch、logstash、kibana三者的简称
Elasticsearch:实时全文搜索和分析引擎,提供搜集、分析、存储数据的三大功能;是一套开放的Rest和Java API等结构提供高效的搜索功能
Logstash:搜集、分析、过滤日志的工具。几乎支持任何类型的日志(系统日志、错误日志、自定义应用程序的日志等等)
Kibana:web图形界面、用于搜索、分析和可视化存储在Elastisearch中的日志数据
日志查询命令:
## 查询myes.log中前300行中包含'node-1'的行
tail -n 300 myes.log | grep 'node-1'
## 实时查询文件
tail -100f myes.log
logstash启动:
启动指定配置文件: ./logstash -f ../config/myes.conf
logstash启动失败、进入data目录删除.lock文件、重启
查询: ls -alh 删除.lock 文件:rm .lock
logstash配置文件
input{
# 从文件读取日志信息、输送到控制台,以json格式输出
file{
path => "/var/log/messages"
codec =>"json"
type =>"system"
start_position =>"beginning"
}
}
#filter{
#
#}
output{
# 标准输出
# stdout{}
# 输出进行格式化、采用Ruby库来解析日志
stdout{
codec=>rubydebug
}
elasticsearch{
hosts =>"192.168.16.247:9200"
##根据每天创建索引
index =>"system-%{+YYYY.MM.dd}"
}
}
注意:es和kibana的不能以root账号启动
Elk原理流程图
启动后查询kibana结果: