赤色烙印 发表于 2018-11-2 13:39:38

filebeat+redis+elk日志平台搭建

  filebeat+redis+elk
  系统:centos7.1 x86_64
  filebeat: 6.2.3
  logstash: 6.2.3
  elasticsearch: 6.2.3
  kibana: 6.2.3
  架构如下:

  配置yum源:
  导入验证文件
  rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
  创建yum repo文件:
  cat /etc/yum.repos.d/elasticsearch-6x.repo
  
  name=Elasticsearch repository for 6.x packages
  baseurl=https://artifacts.elastic.co/packages/6.x/yum
  gpgcheck=1
  gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
  enabled=1
  autorefresh=1
  type=rpm-md
  安装软件:
  yum install filebeat logstash elasticsearch kibana -y
  系统架构:
  filebeat +redis+ logstash+ elasticsearch + kibana
  使用beat的原因为logstash需要依赖java环境,对cpu和内存消耗都比较大,所以filebeat应运而生,对cpu和内存基本没有消耗。
  使用redis 的原因是当多个clinet同事写入到logstash或者elasticsearch 时候,有io瓶颈,所以选择了redis ,当然可以使用kafka,rabbitmq等消息中间件。
  配置filebeat(注意为yaml语法,什么是yaml自己google):
  filebeat.prospectors:

[*]type: log  enabled: true
  paths:

[*]/var/log/*.log ###监控的文件

  输出到redis:
  ##-------------------------- redisoutput ------------------------------------
  output.redis:
  hosts: ["192.168.147.190"]
  password: "6lapp"
  key: "log_file"
  db: 0
  timeout: 5
  logstash配置,只是写了最简单的input和output,需要filter的可以去github上面找正则去匹配,有点繁琐就没有写:
  cat /etc/logstash/conf.d/redis_logstash.conf
  input {
  redis {
  port => "6379"
  host => "192.168.147.190"
  password => "6lapp"
  data_type => "list"
  type => "log"
  key => "log_file"
  }
  }
  output {
  elasticsearch {
  hosts => "192.168.147.190:9200"
  index => "logstash-%{+YYYY.MM.dd}"
  }
  }
  elasticsearch配置,这里没有建立集群,elaticsearch 有自动发现功能,所以只是需要配置ip和端口即可:
---------------------------------- Network -----------------------------------
  #
Set the bind address to a specific IP (IPv4 or IPv6):
  #
  network.host: 192.168.147.190
  #
Set a custom port for HTTP:
  #
  http.port: 9200
  #
For more information, consult the network module documentation.
  #
  kibana配置需要修改端口ip和 elasticsearch的地址即可:
  server.port: 5601
  server.host: 192.168.147.190
  elasticsearch.url: "http://192.168.147.190:9200"
  启动:
  systemctl start redis
  systemctl start filebeat
  logstash -f /etc/logstash/conf.d/redis_logstash & 或者使用nohup启动 或者使用screen启动
  systemctl start elasticsearch
  systemctl start kibana
  启动之后查看进程和端口:
  访问一下http://192.168.147.190:5601 可以操作kibana了,整个日志系统初步搭建完成,需要使用完善一下logstash的配置文件即可
  创建测试文件:
  touch /var/log/test.log
  for ((i=0 ;i> test.log ;done
  kibana截图:

  注意:
  kibana的时间和系统的时间是否一致,否则可能导致看不到图像,这个是我猜的一个坑。
  参考文件:
  https://www.elastic.co
  https://blog.csdn.net/Ghost_leader/article/details/79121297

页: [1]
查看完整版本: filebeat+redis+elk日志平台搭建