`

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

阅读更多
ELK学习笔记(四)【原创】 中,我们介绍了使用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。
总体架构图:

ELK学习笔记(二)【原创】中我们介绍了使用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
  }
}

完整的配置见附件(为了兼容log4j,对filter做了一些转换)
  • 大小: 24.1 KB
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics