上一章讲了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
环境: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 如果出现下列返回说明安装成功:注意:上面我们已经解压了 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端口注意:上面我们已经解压了 logstash-6.6.0.tar.gz 这是一个免安装的解压版,所以我们不需要再额外的安装,只需要配置即可。
修改配置:vim /home/project/elk/logstash-6.6.0/config/logstash.ymlfilebea作为日志收集器 应当是部署再目标服务器。我们在目标服务器创建: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搭建的时候是从上往下搭建的,下面我从数据源从下往上说明数据流向:
在目标服务器安装配置好filebeat 配置好获取的日志路径文件 —>配置指向的logstash:172.16.6.247:5044 在logstash服务器上配置接收filebeat的日志标识并写日志过滤: