ELK之filebeat收集多类型日志

摘要:
1.IP规划10.0.0.33:filebeat+tomcat,filebeat收集系统日志和tomcat日志并将其发送到logstack10.0.0.32:logstash,将日志写入reids(输入,输出)10.0.0.31:Redis,缓存大量10.0.0.30:logstach,从Redis获取数据并将其写入es(输入,输出)10.0.0.29:es+kibana,es

1.IP规划

10.0.0.33:filebeat+tomcat,filebeat收集系统日志、tomcat日志发送到logstash

10.0.0.32:logstash,将日志写入reids(input、output)

10.0.0.31:redis,大量缓存数据

10.0.0.30:logstash,从redis取出数据写入es(input、output)

10.0.0.29:es+kibana,es接收传来的数据写入磁盘,等待kibana来取

a.10.0.0.33:filebeat输出到logstash

vim /etc/filebeat/filebeat.yml
filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/*.log
    - /var/log/messages
  exclude_lines: ['^DBG',"^$"]
  document_type: filebeat-systemlog-0033
- input_type: log
  paths:
    - /usr/local/tomcat/logs/tomcat_access_log.*.log
  exclude_lines: ['^DBG',"^$"]
  document_type: tomcat-accesslog-0033
output.logstash:
  hosts: ["10.0.0.32:5044"]
  enabled: true
  worker: 2
  compression_level: 3

systemctl restart filebeat

b.10.0.0.32:logstash将日志写入reids(向redis写数据不需要给key加日期)

vim beats.conf 

input {
  beats {
    port => "5044"
  }
}
output {
  if [type] == "filebeat-systemlog-0033" {
    redis {
      data_type => "list"
      host => "10.0.0.31"
      db => "3"
      port => "6379"
      password => "123456"
      key => "filebeat-systemlog-0033"
    }
  }
  if [type] == "tomcat-accesslog-0033" {
    redis {
      data_type => "list"
      host => "10.0.0.31"
      db => "4"
      port => "6379"
      password => "123456"
      key => "tomcat-accesslog-0033"
    }
  }
}

systemctl restart logstash

c.10.0.0.31:redis不用做什么操作

d.10.0.0.30:logstash从redis取出数据写入es

vim redis-es.conf
input {
  redis {
    data_type => "list"
    host => "10.0.0.31"
    db => "3"
    port => "6379"
    key => "filebeat-systemlog-0033"
    password => "123456"
  }
  redis {
    data_type => "list"
    host => "10.0.0.31"
    db => "4"
    port => "6379"
    key => "tomcat-accesslog-0033"
    password => "123456"
  }
}

output {
  if [type] == "filebeat-systemlog-0033" {
    elasticsearch {
      hosts => ["10.0.0.29:9200"]
      index => "redis31-systemlog-%{+YYYY.MM.dd}"
    }
  }
  if [type] == "tomcat-accesslog-0033" {
    elasticsearch {
      hosts => ["10.0.0.29:9200"]
      index => "tomcat-accesslog-0033-%{+YYYY.MM.dd}"
    }
  }
}
systemctl restart logstash

e.10.0.0.29:es+kibana

es插件页面出现这个日志索引时tomcat-accesslog-0033-xxxx.xx.xx,代表整个流程是通的.

ELK架构实用演示:http://blog.51cto.com/jinlong/2056717

免责声明:文章转载自《ELK之filebeat收集多类型日志》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇转发(forward)和重定向(sendRedirect)20172314 2017-2018-2 《程序设计与数据结构》实验报告一下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

K8S 上部署 Redis-cluster 三主三从 集群

介绍 Redis代表REmote DIctionary Server是一种开源的内存中数据存储,通常用作数据库,缓存或消息代理。它可以存储和操作高级数据类型,例如列表,地图,集合和排序集合。 由于Redis接受多种格式的密钥,因此可以在服务器上执行操作,从而减少了客户端的工作量。 它仅将磁盘用于持久性,而将数据库完全保存在内存中。Redis是一种流行的数据...

学习Spring Boot:(二十五)使用 Redis 实现数据缓存

前言 由于 Ehcache 存在于单个 java 程序的进程中,无法满足多个程序分布式的情况,需要将多个服务器的缓存集中起来进行管理,需要一个缓存的寄存器,这里使用的是 Redis。 正文 当应用程序要去缓存中读取数据,但是缓存中没有找到该数据,则重新去数据库中获取数据,然后将数据存入缓存中。 还有当我们需要更新或者删除缓存中的数据时候,需要让缓存失效...

linux下redis4.0.2集群部署(利用Ruby脚本命令)

一、原生命令方式和Ruby脚本方式区别 利用Ruby脚本部署和用原生命令部署,节点准备的步骤都是一样的,节点启动后的握手,以及主从、槽分配,利用Ruby脚本一步就能完成,利用原生命令需要一步一步地执行命令完成。 二、部署架构:3台服务器,互为主从,3主3从 三、准备6个节点配置文件 在172.28.18.75上操作 cd /etc/redis vim r...

ELK之使用metricbeat收集系统数据及其他程序并生成可视化图表

  将 Metricbeat 部署到您所有的 Linux、Windows 和 Mac 主机,并将它连接到 Elasticsearch 就大功告成啦:您可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,以及获得如同系统上 top 命令类似的各个进程的统计数据   1,安装metricbeat   官网下载rpm包安装 rp...

建立高并发模型需要考虑的点

1、能不能通过增加机群(应用机群,服务机群)的方式去解决?好比一台机器能抗200qps, 然后你就40000qps的业务,那你最少需要200台机器,如果考虑到有机器down掉的情况,还要加备用服务器,这个具体加多少台就得去评估了。     防止出现有机器down掉,还得在每台机器上更新列表的情况,我们最好访问服务名(类似于域名),这样的话的好处就是,如果出...

redis Lua学习与坑

1.在写lua脚本往redis中添加zadd 有序集合的时候一直报 "value isnotavalid float"的错误,经过查询相关资料,最后发现,是顺序写反了。 相关代码 --[错误代码] redis.call('zadd',@TimeOrderKey,objRecord.ActivityID,@TimeScore);--[应该时间在前,value...