来自官网,版本为1.2

下载rpm包并安装

wget -c https://download.elastic.co/beats/filebeat/filebeat-1.2.3-x86_64.rpm
rpm -ivh filebeat-1.2.3-x86_64.rpm

配置文件位于/etc/filebeat/

默认filebeat的日志是to_syslog,就是/var/log/message,而且是error级别以上才打印,最好改一下

vi /etc/filebeat/filebeat.yml(Logging段,一般在文件末尾,配置项都是存在的,取消注释后修改下即可)

logging:
to_syslog: false
to_files: true
files:
rotateeverybytes: 10485760 # 默认的10MB
level: info

修改后,日志文件将位于/var/log/filebeat/

另外要说的是,类似logstash,为了防止重复处理日志,filebeat也会记录处理进度到文件/var/lib/filebeat/registry

为了测试可以先停止filebeat,清空文件registry,然后再启动就会重复处理了

下面是简单将文件传到elasticsearch的配置

vi /etc/filebeat/filebeat.yml(配置项都是存在的,取消注释后修改下即可)

filebeat:
prospectors:
paths:
- /data/logs/*.log
encoding: utf-8
input_type: log
output:
elasticsearch:
hosts: ["localhost:9200"]

paths下面可以配置多个路径

下面启动filebeat

/etc/init.d/filebeat

在elasticsearch中可以看到多了一个filebeat-[date]的索引,查一下可以看到直接把每行日志作为一个字符串处理的

所以实际情况下,都是会经过logstash处理后再传给elasticsearch

首先需要让logstash做好接收filebeat数据的准备

vi /etc/logstash/conf.d/filebeat.conf

input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => "localhost"
}
}

重启logstash

vi /etc/filebeat/filebeat.yml

output:
logstash:
hosts: ["localhost:5044"]

重启filebeat(如果配置的还是上面的日志文件,记得清理进度缓存)

然后在elasticsearch中可以看到多了一个logstash-[date]的索引

因为没有在logstash配置filter,所以并没有进行任何解析,logstash-filter相关的就不在这篇谈了。

最后传输到elasticsearch的日志默认会带两个值:

"beat" : {
"hostname" : "localhost.localdomain",
"name" : "localhost.localdomain"
},

hostname当然就是日志来源filebeat所在机器的机器名,name则是可配置的filebeat名称,默认也是获取机器名,可以改为ip,多一个过滤属性

vi /etc/filebeat/filebeat.yml

shipper:
name: 192.168.1.111

这样,传输到logstash的日志就是这样了:

"beat" : {
"hostname" : "localhost.localdomain",
"name" : "192.168.1.111"
},

filebeat安装与基础用法的更多相关文章

  1. Docker 安装和基础用法

    理解Docker(1):Docker 安装和基础用法 本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 ...

  2. logstash安装与基础用法

    若是搭建elk,建议先安装好elasticsearch 来自官网,版本为2.3 wget -c https://download.elastic.co/logstash/logstash/packag ...

  3. elasticsearch安装与基础用法

    来自官网,版本为2.3 注意elasticsearch依赖jdk,2.3依赖jdk7 下载rpm包并安装 wget -c https://download.elastic.co/elasticsear ...

  4. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  5. kibana安装与基础用法

    来自官网,版本为4.5 下载rpm包并安装 wget -c https://download.elastic.co/kibana/kibana/kibana-4.5.4-1.x86_64.rpm rp ...

  6. git安装及基础用法

    1.安装GitGit-2.9.3-64-bit.exe 2.打开Git Bash,设置用户名,Email $ git config --global user.name "Your Name ...

  7. 前端自动化测试神器-Katalon的基础用法

    前言 最近由于在工作中需要通过Web端的功能进行一次大批量的操作,数据量大概在5000左右,如果手动处理, 完成一条数据的操作用时在20秒左右的话,大概需要4-5个人/天的工作量(假设一天8小时的工作 ...

  8. mySQL的安装和基础使用及语法教程

    mySQL的安装和基础使用及语法指南 一.MySQL的安装.配置及卸载 1.安装 2.配置 3.mySQL5.1的完全卸载 4.MYSQL环境变量的配置 二.MySQL控制台doc窗口的操作命令 1. ...

  9. oracle入坑日记<六>自增列创建和清除(含序列和触发器的基础用法)

    0   前言 用过 SQLserver 和 MySQL 的自增列(auto_increment),然而 Oracle 在建表设置列时却没有自增列. 查阅资料后发现 Oracle 的自增列需要手动编写. ...

随机推荐

  1. java动态编译类文件并加载到内存中

    如果你想在动态编译并加载了class后,能够用hibernate的数据访问接口以面向对象的方式来操作该class类,请参考这篇博文-http://www.cnblogs.com/anai/p/4270 ...

  2. MySQL Access denied for user root@localhost 解决方法

    今天把本地开发的项目(ThinkPHP 3.2.3)移到虚拟机上(CentOS 6.6,LNMP 1.2,MySQL 5.6.23),配置好 MySQL 之后访问首页,出现: 此时 MySQL 的用户 ...

  3. js判断字符是否包含字母汉字

    <script type="text/javascript"> function check(str) { if (escape(str).indexOf(" ...

  4. 有return语句情况下,try-catch-finally的执行顺序

    重要结论: 1.不管有没有出现异常,finally块中代码都会执行 2.当try和catch中有return时,finally仍然会执行 3.finally是在return后面的表达式运算后执行的(此 ...

  5. 11高级网站构建:div和span

    用<div>元素把属于一个逻辑部分的元素包围起来.可以用id属性为<div>提供一个唯一的标签. <div>的作用:1.更深一步展示页面的基本逻辑结构(相当于一个逻 ...

  6. k8s入门系列之扩展组件(二)kube-ui安装篇

    kube-ui是k8s提供的web管理界面,可以展示节点的内存.CPU.磁盘.Pod.RC.SVC等信息. 1.编辑kube-dashboard-rc.yml定义文件[root@master kube ...

  7. electron开发(一)

    0. 简介 http://electron.atom.io/ 官网 https://www.v2ex.com/t/277623   基于 Electron 的 Linux 下的网易云音乐 https: ...

  8. Unity3D 装备系统学习Inventory Pro 2.1.2 总结

    前言 写在最前面,本文未必适合纯新手,但有一些C#开发经验的还是可以看懂的,虽然本人也是一位Unity3D新人,但是本文只是自己在学习Inventory Pro的学习总结,而不是教程,本人觉得要读懂理 ...

  9. 使用compass自动合并css雪碧图(css sprite)

    本文转载自: 使用compass自动合并css雪碧图(css sprite)

  10. C#学校班级自动升级实现代码

    代码逻辑如下: //班级自动升级 //获取该学校还没有毕业的班级 List<ClassInfoes> classinfoeslist = classinfoesbll.GetList(Sc ...