1.下载和安装
https://www.elastic.co/downloads/beats/filebeat
各个版本的下载地址
https://www.elastic.co/cn/downloads/past-releases/logstash-6-8-1
- 1
目前最新版本 1.3.0
这里选择 LINUX 64-BIT 即方式一
方式一:源码
wget https://download.elastic.co/beats/filebeat/filebeat-1.3.0-x86_64.tar.gz
tar -zxvf filebeat-1.3.0-x86_64.tar.gz
- 1
- 2
方式二:deb
curl -L -O https://download.elastic.co/beats/filebeat/filebeat_1.3.0_amd64.deb
sudo dpkg -i filebeat_1.3.0_amd64.deb
- 1
- 2
方式三:rpm
curl -L -O https://download.elastic.co/beats/filebeat/filebeat-1.3.0-x86_64.rpm
sudo rpm -vi filebeat-1.3.0-x86_64.rpm
- 1
- 2
方式四:MAC
curl -L -O https://download.elastic.co/beats/filebeat/filebeat-1.3.0-darwin.tgz
tar -xzvf filebeat-1.3.0-darwin.tgz
- 1
- 2
2.配置Filebeat
环境说明:
1)elasticsearch和logstash 在不同的服务器上,只发送数据给logstash
2)监控nginx日志
3)监控支付日志
4)监控订单日志
2.1配置
编辑filebeat.yml
vim filebeat.yml
- 1
默认监控日志配置
filebeat:
prospectors:
-
paths:
- /var/log/*.log
input_type: log
- 1
- 2
- 3
- 4
- 5
- 6
按照要求修改为
filebeat:
prospectors:
-
paths:
- /www/wwwLog/www.lanmps.com_old/*.log
- /www/wwwLog/www.lanmps.com/*.log
input_type: log
document_type: nginx-access-www.lanmps.com
-
paths:
- /www/wwwRUNTIME/www.lanmps.com/order/*.log
input_type: log
document_type: order-www.lanmps.com
-
paths:
- /www/wwwRUNTIME/www.lanmps.com/pay/*.log
input_type: log
document_type: pay-www.lanmps.com
output:
#elasticsearch:
# hosts: ["localhost:9200"]
logstash:
hosts: ["10.1.5.65:5044"]
...其他部分没有改动,不需要修改
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
2.2 说明
- paths:指定要监控的日志,目前按照Go语言的glob函数处理。没有对配置目录做递归处理,比如配置的如果是:
/var/log/* /*.log
- 1
则只会去/var/log目录的所有子目录中寻找以”.log”结尾的文件,而不会寻找/var/log目录下以”.log”结尾的文件。
2. input_type:指定文件的输入类型log(默认)或者stdin。
3. document_type:设定Elasticsearch输出时的document的type字段,也可以用来给日志进行分类。
把 elasticsearch和其下的所有都注释掉(这里Filebeat是新安装的,只注释这2处即可)
output:
#elasticsearch:
# hosts: ["localhost:9200"]
- 1
- 2
- 3
开启 logstash(删除这两行前的#号),并把localhost改为logstash服务器地址
logstash:
hosts: ["10.1.5.65:5044"]
- 1
- 2
如果开启logstash了,那么Logstash配置中要设置监听端口 5044:
这个是默认文件位置,如果不存在请自行查找
vim /etc/logstash/conf.d/beats-input.conf
- 1
增加端口
input {
beats {
port => 5044
}
}
- 1
- 2
- 3
- 4
- 5
3.启动
3.1 测试
./filebeat -e -c filebeat.yml -d "Publish"
- 1
如果能看到一堆东西输出,表示正在向elasticsearch或logstash发送日志。
如果是elasticsearch可以浏览:http://localhost:9200/_search?pretty 如果有新内容返回,表示ok
测试正常后,Ctrl+C结束
3.2启动
nohup ./filebeat -e -c filebeat.yml >/dev/null 2>&1 &
- 1
上面会转入后台运行
3.3停止
查找进程 ID
ps -ef |grep filebeat
- 1
KILL他
kill -9 id
- 1
3.X kibana设置
如果使用 kibana 做日志分析,
在kibana里,创建一个索引,注意pattern为:filebeat-*
4.高级配置说明
http://kibana.logstash.es/content/beats/file.html
http://blog.csdn.net/a464057216/article/details/51233375
5.其他说明
5.1Elasticsearch知道如何处理每个日志事件
默认的Elasticsearch需要的index template在安装Filebeat的时候已经提供,路径为/etc/filebeat/filebeat.template.json,可以使用如下命令装载该模板:
curl -XPUT 'http://localhost:9200/_template/filebeat?pretty' -d@/etc/filebeat/filebeat.template.json
- 1
如果运行成功则返回如下,表示模板已被接收
{
"acknowledged" : true
}
- 1
- 2
- 3
每次修改Filebeat配置,重启Filebeat才能生效
亲测方法可行,不过我在实际应用的时候并不是使用这种方式去获取日志并推送的,使用的是Filebeat+logstash组合方案
有兴趣的可以参看另一篇博客:
https://blog.csdn.net/qq_15783243/article/details/79445821
部分来源:
http://blog.csdn.net/a464057216/article/details/50987695
http://www.cnblogs.com/yjmyzz/p/filebeat-turorial-and-kibana-login-setting-with-nginx.html