zl程序教程

您现在的位置是:首页 >  工具

当前栏目

ELK之ES-Logstash-Kibana互联

ES ELK 互联 Logstash Kibana
2023-09-11 14:22:32 时间
好久没有写,这久都是在做ELK的数据化模板,觉得还是有些东西需要写下来的,前面我已经写过了EKL的安装,今天就来说一下ELK三个软件之间的连接把。

# 关系介绍:

ES是一个文档数据库,Logstash是一个数据收集工具,Kibana是一个数据处理工具,这么去理解这三个组件是无可厚非的。我们通过Logstash把数据收集起来,无论是通过读取日志,还是读取数据库,亦或是去监听某一个日志输出端口,总之Logstash就是一个数据收集工具,收集到数据之后再把数据发送给ES进行固化。好了,现在我们在ES中已经有了数据了,那么,通过什么来分析呢?没错,就是通过Kibana,它需要去ES数据库拿去数据,然后对数据进行分析。
现在我们应该可以理ELK三个组件的逻辑关系了。
image
现在把三者的关系理解清楚以后,就可以进行配置了。

# 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
image
设置ES的地址。
至此,ELK三大组件的连接已经完成。
你可以开心的去编辑你的数据格式和图标了...