经过上两篇的安装学习,我们将这些软件都已安装:
cent os7 安装elasticsearch-7.9.3(伪集群)和kibana-7.9.3
安装logstash-7.9.3和filebeat-7.9.3
基于这个环境,下面我们来搭建下elk日志分析系统。(大概就是这样的结构)Filebeat,Logstash,Elasticsearch,Kibana都在一台虚拟机上
在本例中,各个系统的日志都在/usr/local/java/log/,比如:所以Filebeat采集的时候只需要监视这个目录下文件即可
这些系统我们暂不开启安全管理,只做功能检测和学习
Filebeat配置
Filebeat的主要配置在于filebeat.yml配置文件中的 filebeat.inputs 和 output.logstash 区域:
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
enabled: true
# 要抓取的文件路径
paths:
- /usr/local/java/log/*.log
#================================ Outputs =====================================
#----------------------------- Logstash output --------------------------------
output.logstash:
hosts: ["10.108.3.180:5044"]
在我这里只需要把output 输出改为logstash即可:
Logstash配置(管道配置)
在logstash安装目录下新建一个文件elk.conf
只需配置最简单的即可,这里先不使用过滤
input {
beats {
port => "5044"
}
}
output {
elasticsearch {
hosts => ["http://10.108.3.180:9200","http://10.108.3.180:9300","http://10.108.3.180:9400"]
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
启动服务
启动Elasticsearch集群
/usr/local/java/elasticsearch/bin/elasticsearch -d
/usr/local/java/elasticsearch2/bin/elasticsearch -d
/usr/local/java/elasticsearch3/bin/elasticsearch -d
启动Kibana
nohup ./bin/kibana >> logs/kibana-start.log 2>&1 &
启动Logstash
启动检查自定义管道文件 bin/logstash -f elk.conf --config.test_and_exit
启动 bin/logstash -f elk.conf --config.reload.automatic
启动Filebeat
nohup ./filebeat -e -c filebeat.yml >> filebeat-start.log 2>&1 &
浏览器访问 http://10.108.3.180:5601/
成功!