ELK 基于filebeat搭建过程(二)
上一章讲了ELK的数据传输和各个中间件的作用,以及基于ELK和filebeat搭建日志管理平台的不同架构。这一章将会基于第一种架构来记录整个搭建过程。其他更复杂的架构原理其实是一样的。我们将从上往 下搭建,elasticsearch–>kibana–>logstash–>filebeat
ELK系统官网地址:
Kibana地址: https://www.elastic.co/guide/cn/kibana/current/set-time-filter.html
Elasticserach地址: https://www.elastic.co/cn/
Logstash最佳实践地址: http://doc.yonyoucloud.com/doc/logstash-best-practice-cn/index.html
Logstash原理说明:https://blog.51cto.com/kinglab/2450986
准备工作
环境:centos7.x
安装目录:/home/project/elk
Java环境: jdk_1.8.x
版本:6.6.0
下载资源:elasticsearch kibana logstash
将下列资源下载到 /home/project/elk目录:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.0.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.6.0-linux-x86_64.tar.gz
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.6.0.tar.gz
解压下载好的资源:
tar -xzvf elasticsearch-6.6.0.tar.gz
tar -xzvf logstash-6.6.0.tar.gz
tar -xzvf kibana-6.6.0-linux-x86_64.tar.gz
ok主备工作好了,下面开始搭建。
Elasticserach搭建
注意:上面我们已经解压了 elasticsearch-6.6.0.tar.gz 这是一个免安装的解压版,所以我们不需要再额外的安装,只需要配置即可。这边要注意elasticsearch启动需要单独创建一个elasticsearch用户。
a. 创建elasticsearch用户组和用户:
1. groupadd elasticsearch
2. useradd elasticsearch
3. chown -R elasticsearch:elasticsearch/home/project/elk/elasticsearch-6.6.0
b. 切换用户elasticsearch:su elasticsearch
c. 修改配置启动elasticsearch,打开 /elasticsearch/home/project/elk/elasticsearch-6.6.0/conf目录 因为这边配置的单机版,所以只需要修改elasticsearch.yml的一个配置,支持外网访问即可:network.host: 0.0.0.0。默认端口是9200。
d. 启动命令: 后台运行 nohup./bin/elasticsearch & 过程中可能会遇到两个问题:
1.异常:允许最大的文件数:max virtual memory areas vm.max_map_count [65530]is too low, increase to at least [262144]
解决办法: 切换回root用户—>vim /etc/sysctl.conf —>最后一行添加vm.max_map_count=262144—>sysctl -p
2. 异常:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决办法: 切换回root用户—>vim /etc/security/limits.conf—>最后一行添加:*** hard nofile 65536 *** soft nofile 65536
ok 切回elasticsearch 重新启动:nohup./bin/elasticsearch & 此时顺利启动。
e. 验证:
- netstat -nalp|grep 9200 查看端口是否启动监听
- 访问:http://ip:9200 如果出现下列返回说明安装成功:
总结:到这边单机的elasticsearch 已经按照配置好了 elasticsearch 其他详细配置这边不详情说明可以看官网,后面也可以单独写一篇帖子来讲解。这边主要是要注意:1.单独用户问题 2.文件数的两个异常问题。
Kibana的搭建
注意:上面我们已经解压了 kibana-6.6.0-linux-x86_64.tar.gz 这是一个免安装的解压版,所以我们不需要再额外的安装,只需要配置即可。
- 修改配置文件 vim /home/project/elk/kibana-6.6.0-linux-x86_64/config/kibana.yml
- 简单修改几个配置就可以了:elasticsearch.url 这边配置我们刚刚安装好的elasticsearch的IP端口
- 后台启动:nohup /home/project/elk/kibana-6.6.0-linux-x86_64/bin/kibana &
- 验证:访问 http://IP:5601 出现下面界面说明安装成功
Logstash的搭建
注意:上面我们已经解压了 logstash-6.6.0.tar.gz 这是一个免安装的解压版,所以我们不需要再额外的安装,只需要配置即可。
- 修改配置:vim /home/project/elk/logstash-6.6.0/config/logstash.yml
- 从/home/project/elk/logstash-6.6.0/config/logstash-sample.conf 复制到当前目录或bin目录:cp /home/project/elk/logstash-6.6.0/config/logstash-sample.conf /home/project/elk/logstash-6.6.0/bin/logstash.conf
- 配置logstash的过滤器和端口:
- 启动logstash: nohup /home/project/elk/logstash-6.6.0/bin/logstash -f /home/project/elk/logstash-6.6.0/bin/logstash.conf >/dev/null &
filebeat的搭建
filebea作为日志收集器 应当是部署再目标服务器。我们在目标服务器创建:mkdir -p /home/project/filebeat 目录.
- wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.6.0-linux-x86_64.tar.gz
- tar -zxvf filebeat-6.6.0-linux-x86_64.tar.gz
- 修改配置:vim /home/project/filebeat/filebeat-6.6.0-linux-x86_64/filebeat.yml
- ok上面配置好后 filebeat就配置好了 下面启动filebeat
- 后台启动: nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &
总结:至此ELK+Filebeat 单机版搭建完成,这边总结下过程:
搭建的时候是从上往下搭建的,下面我从数据源从下往上说明数据流向:
- 在目标服务器安装配置好filebeat 配置好获取的日志路径文件 —>配置指向的logstash:172.16.6.247:5044
- 在logstash服务器上配置接收filebeat的日志标识并写日志过滤:
- 在logstash的配置文件中配置存储的elasticsearch地址:
- 最后我们配置Kibana 让Kibana 的Elasticsearch配置指向:http://172.16.6.247:9200
- 这样我们数据流向就到了 Elasticsearch 所有都配置好了 我们可以打开Kibana看看结果:http://172.16.6.247:5601
这边再讲解下关于Kibana Index Patterns 的配置: