一、简介
elk日志平台 :日志收集、分析和展示的解决方案。满足用户对⽇志的查询、排序、统计需求。
elk架构: filebeat(采集)(+kafka)+Logstash(管道)+Elasticsearch(存储、搜索)+Kibana(日志应用)
各组件功能:
Filebeat:监听并收集日志数据
kafka:高吞吐量的分布式发布订阅消息,大吞吐数据的临时队列。Kafka的吞吐性能很好,可以对付N个filebeat,而且能持久化了日志数据,这样即便过程中存在某个处理点出故障,只要kafka机器好,数据就好。比直接推logstash要高可靠,性能还好。
Logstash:将收集数据汇总给Logstash,Logstash进行数据清洗,将结果再以流式方式推送给Kafka对应的过滤数据Topic,这样看Kafka既保存了原始数据,还保存了过滤数据。
Elasticsearch:分布式、高扩展、高实时的搜索与数据分析引擎,Logstash将数据写入Elasticsearch
Kibana:用Kibana进行可视化展示es中的数据
二、filebeat配置与使用(windows)
(1)下载地址:https://www.elastic.co/cn/downloads/beats/filebeat
(2)选择 windows zip x86_64,下载安装filebeat后找到安装位置打开filebeat.yaml文件进行编辑
(3)找到filebeat inputs。配置如下图所示,将enabled设为true,并在paths填写要监听的日志文件地址。
如果直接将监听数据输出到logstash,找到output.logstash,如下图所示,删除output.logstash的注释,填写logstash的访问地址,可以填写多个,以逗号分隔。由于我在k8s集群中安装的logstash,填写的是可访问的外部地址。
如果直接将监听数据输出到kafka,找到 kafka output。如果没有可以自己添加在文件中。将enabled改为true,在hosts中填写kafka的访问地址,可以填写多个,以逗号分隔。填写topic的名字,kafka中的topic会自动创建。
官方说明文档:
https://www.elastic.co/guide/en/beats/filebeat/7.9/kafka-output.html
启动filebeat:
需要等elk中其他应用启动完毕后,修改filebeat.yaml中输入输出的访问地址,保存后在filebeat文件夹下打开cmd
输入命令并回车:filebeat -c filebeat.yml -e
三、logstash配置
官方文档:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-beats.html
1.input
如果filebeat输出到logstash, logstash只需要监听自己的端口即可。
beats {
port => 8080
}
如果filebeat输出到kafka,logstash需要监听kafka,其他参数可查询logstash官方文档。
kafka {
bootstrap_servers => "IP:PORT"
codec => json
topics => ["topic_name"] #请填写对应topic
decorate_events => true
}
2.filter根据需要填写
3.output
将过滤后的日志输出到es中(示例为https服务)
如果es服务为http服务,需要将https修改为https;如果es没有开启安全认证,可以注释掉用户与密码。 ssl_certificate_verification 设置false意为跳过ssl证书;manage_template为false意为禁用系统自动创建模版
elasticsearch {
hosts => ["https://10.111.200.128:9200"]
user => "elastic"
password => "Dameng7777"
ssl_certificate_verification => false
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
}
四、启动
由于我已经在k8s集群中使用helm chart安装了 kafka 、logstash、es(已包含kibana),修改上述内容后即可测试改架构能否使用。
安装启动顺序
es -->kibana -->kafka(可省)–>logstash -->filebeat
全部启动完毕后在浏览器输入kibana的地址,输入es的账号密码,
选择”Esplore on my own”
点击Discover
点击 create view创建视图,可以看到右边已经读取到的日志数据,在左边依次填写视图名,es索引通配式,点击 ‘save data view kibana’
进入视图后即可查看匹配到的所有日志。