21.ELK-redis做缓存收集日志

redis做缓存收集日志

在这里插入图片描述
在之前架构的基础上添加redis存储介质与logstash中间件,来缓解es的压力

因为es集群处理日志会达到一个峰值,当无法处理时,日志被就会被丢弃,造成分析日志就不精确

filebeat收集的日志会先存到redis中去,redis不会主动将日志发给logstash

logstash会向redis要日志,然后logstash会把日志给到es集群

部署redis
安装redis

yum install redis -y

修改redis配置文件

vim /etc/redis.conf

redis部署在哪台机器上就写哪台机器的IP
在这里插入图片描述

重启redis服务

systemctl start redis

redis启动后会起来6379端口

ss -lnt

在这里插入图片描述

然后尝试连接redis

redis-cli -h 192.168.51.189

-h参数是制定要连接的redis服务的IP地址
在这里插入图片描述

清空nginx之前的老日志
>/var/log/nginx/access.log
生成新的访问日志

修改filebeat配置文件,将日志输出到redis

vim /etc/filebeat/filebeat.yml

filebeat.inputs:  
- type: log
  enabled: true
  paths:
    - /var/log/nginx/access.log
  json.keys_under_root: true
  json.overwrite_keys: true
  tags: ["access"]  #添加tag标签
- type: log
  enabled: true
  paths:
    - /var/log/nginx/error.log
  tags: ["error"] #添加tag标签

  
output.redis: #这里的输出不再是elasticsearch,改为redis
  hosts: ["192.168.51.189"] #这里是redis服务的IP filebeat不支持redis集群,如果我们在设置redis集群的时候,IP写成集群的主节点即可
  keys:
    - key: "nginx_access"
      when.contains:
        tags: "access" #通过标签判断,当输入的tags为access时,将日志输出到键为nginx_access的键中

    - key: "nginx_error"
      when.contains:
        tags: "error" #与上面同理
setup.template.name: "nginx"
setup.template.pattern: "nginx-*"
setup.template.enabled: false
setup.template.overwrite: true

重启filebeat服务
systemctl restart filebeat
查看filebeat日志,显示已经与redis建立连接
在这里插入图片描述

然后再尝试连接redis客户端

redis-cli -h 192.168.51.189

查看所有键,就会看到之前配置好的键
在这里插入图片描述

查看这个键的长度
llen nginx_access
查看这个键对就有那些值
lrang nginx_access 0 -1
0代表开头
-1代表结尾
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值