ELK学习笔记(六)【原创】

在 [url="http://zhenggm.iteye.com/blog/2370720"]ELK学习笔记(四)【原创】[/url] 中,我们介绍了使用log4j通过tcp输入日志到logstash的方法。这种方法对于推广初期比较好用,因为使用比较简单,但是有个问题,就是当压力增大时,会出现 java.net.SocketException: Broken pipe的问题。同时官网也提示log4j input plugin is deprecated, 建议采用filebeat代替。详见:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html
如果对日志采集要求比较高的,最好采用filebeat。
总体架构图:
[img]http://dl2.iteye.com/upload/attachment/0128/2345/a98488b4-1e2c-3e6e-baea-f25bfa819caf.jpg[/img]
在 [url="http://zhenggm.iteye.com/blog/2370119"]ELK学习笔记(二)【原创】[/url]中我们介绍了使用logstash的file input, 这个和filebeat很像。只是logstash是java编写的,比较耗资源。filebeat更轻量,性能更好,安装更方便。beats包括:
Packetbeat(搜集网络流量数据);
Topbeat(搜集系统、进程和文件系统级别的 CPU 和内存使用情况等数据);
Filebeat(搜集文件数据);
Winlogbeat(搜集 Windows 事件日志数据)。
这里只着重介绍filebeat.
1. 下载和安装

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.1.1-x86_64.rpm
sudo rpm -vi filebeat-6.1.1-x86_64.rpm

2. 修改配置
#/etc/filebeat/filebeat.yml

filebeat.prospectors:
-
paths:
- /var/log/logstash/*.log
input_type: log
exclude_lines: ['DEBUG']
multiline:
pattern: '^\['
negate: true
match: after
output.logstash:
hosts: ["logstash.zjportdns.gov.cn:5000"]

3. 启动

sudo service filebeat start


4. 设置开机自启动
vi /etc/rc.local

sudo service filebeat start


5.logstash配置

input{
beats {
type => "beat"
port => 5000
}
}

完整的配置见[url="http://dl.iteye.com/topics/download/f83a9c79-b6ef-33d3-a102-68a704d63bb4"]附件[/url](为了兼容log4j,对filter做了一些转换)

你可能感兴趣的:(监控)