ELK+FileBeat搭建日志中心
1 搭建ELK
操作系统:Centos7.3
1.1 修改配置
vi /etc/security/limits.conf
添加下面配置:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
1.2 下载ELK相关软件包
官网下载地址
选择版本:6.5.1
Kibana 6.5.1
Elasticsearch 6.5.1
Logstash 6.5.1
1.3 安装并配置Elasticsearch
1.3.1 创建普通用户,Elasticsearch不能用root用户启动
1.3.2 下载ik分词器
在解压的es安装包中,
cd elasticsearch-6.5.1/plugins/
将下载的ik分词器解压到该目录下。安装其他插件的话,也是保存到该目录。
1.3.3 下载ES-Head
elasticsearch-head需要使用node启动,需要单独安装node环境。elasticsearch-head 不能放在elasticsearch的 plugins、modules 目录下,否则elasticsearch启动会报错
cd elasticsearch-head
npm install -g grunt-cli //执行后会生成node_modules文件夹,可以更换淘宝的源
vi Gruntfile.js
增加hostname属性,设置为*
nohup grunt server &
elasticsearch-head的访问地址:http://ip:9100
可以通过elasticsearch-head查看es中相关数据。
1.3.4 修改es配置并启动
vim config/elasticsearch.yml
修改:network.host: 0.0.0.0
配置文件末尾追加:
thread_pool.bulk.queue_size: 1000
http.cors.enabled: true
http.cors.allow-origin: "*"
启动:
cd elasticsearch-6.5.1/bin
nohup ./elasticsearch -d &
1.4 安装并配置logstash
cd logstash-6.5.1/config
根据logstash-sample.conf文件,定义自己的配置文件
主要是input、filter、output相关配置,filter涉及到grok、kv、date、mutate相关插件。
还可以使用自定义的规则,通过patterns_dir引入。
启动:
cd logstash-6.5.1/bin
nohup ./logstash -f logstash-sample.conf &
1.5 安装并配置kibana
cd kibana-6.5.1-linux-x86_64/config
修改kibana.yml中server.host: "0.0.0.0"
启动:
cd kibana-6.5.1-linux-x86_64/bin
nohup ./kibana &
2 安装FileBeat
2.1 下载FileBeat6.5.1
2.2 配置并启动
cd filebeat-6.5.1-linux-x86_64
vim filebeat.yml
例如:
- type: log
enabled: true #设置成true
paths:
- /home/centos/zipelkf/point/*.log #监控日志文件
fields: #附加的字段信息
docType: test-log
启动:
nohup ./filebeat -e -c filebeat.yml &
3 进行整合测试
3.1 根据filebeat配置文件中监控日志文件路径,向日志文件中添加日志内容。
3.2 查看kibana界面或者通过es-head查看。