好久没有写,这久都是在做ELK的数据化模板,觉得还是有些东西需要写下来的,前面我已经写过了EKL的安装,今天就来说一下ELK三个软件之间的连接把。
# 关系介绍:
ES是一个文档数据库,Logstash是一个数据收集工具,Kibana是一个数据处理工具,这么去理解这三个组件是无可厚非的。我们通过Logstash把数据收集起来,无论是通过读取日志,还是读取数据库,亦或是去监听某一个日志输出端口,总之Logstash就是一个数据收集工具,收集到数据之后再把数据发送给ES进行固化。好了,现在我们在ES中已经有了数据了,那么,通过什么来分析呢?没错,就是通过Kibana,它需要去ES数据库拿去数据,然后对数据进行分析。
现在我们应该可以理ELK三个组件的逻辑关系了。
现在把三者的关系理解清楚以后,就可以进行配置了。
# EKL相互配置
根据关系图我们可以知道,第一步需要做的是连接数据源和Logstash。
第一步:连接数据源和Logstsh
假设我们使用时是日志文件数据源,我们就需要使用Logstash的file{}插件
事例代码如下:
file{
path=>['/data/access.log']
type => "system"
start_position => "beginning"
sincedb_path => '/dev/null'
}
path属性是指定元数据位置
type属性是指点该批元数据在ES中的类型
start_position 属性表示从头开始读取数据
sincedb_path 属性标识为/dev/null'时标识无论如何从头开始读取文件
更多file插件的字段属性,可以参考ELK文档。
第二步:让Ligstash把数据发送给ES
elasticsearch{
hosts => ["10.66.140.37:9200"]
action=>"index"
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
manage_template => false
idle_flush_time => 10
sniffing => true
document_id=>"%{[DocID]}"
}
hosts属性是表示ES在哪
index 属性表示事件要被写进的索引
idle_flush_time 属性表示每10秒发送一次数据到ES
active属性表示ES要执行的动作
第三步:连接ES和Kibana
前面我们已经把需要的数据发送到ES进行了存储了,现在要做的就是通过Kibana来分析我们的数据。
编辑Kibana的.ylm
设置ES的地址。
至此,ELK三大组件的连接已经完成。
你可以开心的去编辑你的数据格式和图标了...