学海无涯
go,go,go

ELFK部署安装(九)-接入redis后收集nginx的accsse和error日志

架构图

#配置方法如下代码:

#配置nginx的error和accsse的日志都写入到redis的一个key里面去
cat >/etc/filebeat/filebeat.yml<<'EOF'
filebeat.inputs:
- type: log
  enabled: true 
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["access"] 

- type: log
  enabled: true 
  paths:
    - /var/log/nginx/error.log
  tags: ["error"] 

setup.kibana:
  host: "192.168.2.197:5601"

output.redis:
  hosts: ["192.168.2.197"]
  port: 6379
  key: "filebeat"   
EOF

#配置logstash的配置文件
cat >/etc/logstash/conf.d/redis.conf<<'EOF'
input {
  redis {
    host => "192.168.2.197"
    port => "6379"
    db => "0"
    key => "filebeat"
    data_type => "list"
  }
}

filter {
  mutate {
    convert => ["upstream_time", "float"]
    convert => ["request_time", "float"]
  }
}

output {
    stdout {}
     if "access" in [tags] {
      elasticsearch {
        hosts => "http://192.168.2.197:9200"
        manage_template => false
        index => "nginx_access-%{+yyyy.MM}"
      }
    }
    if "error" in [tags] {
      elasticsearch {
        hosts => "http://192.168.2.197:9200"
        manage_template => false
        index => "nginx_error-%{+yyyy.MM}"
      }
    }
}
EOF

#重启filebeat和logstash
systemctl restart filebeat
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/redis.conf 

#添加测试数据
ab -n 20000 -c 20 http://192.168.2.197/

#检查redis缓存的数据
192.168.2.197:6379> LLEN filebeat
(integer) 20001
192.168.2.197:6379> LLEN filebeat
(integer) 19626
192.168.2.197:6379> LLEN filebeat
(integer) 19501
当redis的数据减少就可以在网页检查最新的数据了

#网页上删除旧数据查看新数据

赞(0) 打赏
未经允许不得转载:YYQ运维技术博客_运维的工作学习之路 » ELFK部署安装(九)-接入redis后收集nginx的accsse和error日志
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

运维devops

联系我们关于本博客

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏