1.连接从Redis中获取日志文件并存储到ES中

[root@Logstash ~]# vim /usr/local/logstash/config/redis.conf

input {

    beats {

    port => "5044"

     }

    redis {

    data_type => "list"

        key => "220"

        host => "192.168.200.134"

        port => 6379

        db => 0

        threads => 1

    }

}

filter {

    if [type] == "nginx"{

    grok {

    match => { "message" => "%{NGINXACCESS}" }

 

  }

 

  }

 

  date {

    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]

    target => ["datetime"]

  }

  geoip {

    source => "clientip"

  }

 

}

 

output {

 if [fields][logsource] == "220nginx_access"{

     elasticsearch {

      hosts => ["192.168.200.130:9200"]

      index => "220nginx_access"

     }

}

   if [fields][logsource] == "220nginx_error"{

     elasticsearch {

      hosts => ["192.168.200.130:9200"]

      index => "220nginx_error"

     }

  }

 

        stdout { codec => rubydebug }

}

2.将Nginx访问日志和错误日志推送到Redis消息队列中。

[root@mobanji filebeat]# egrep -v "#|^$" filebeat.yml

filebeat.prospectors:

- type: log

  fields:

    logsource: 220nginx_access

    log_type: access_log

    fields_under_root: true

  paths:

    - /usr/local/nginx/logs/access.log

- type: log

  fields:

    logsource: 220nginx_error

    log_type: error_log

  paths:

    - /usr/local/nginx/logs/error.log

output.redis:

  hosts: ["192.168.200.134"]

  port: 6379

  db: 0

  timeout: 5

  key: "220"

3.收集Nginx和Tomcat日志:

[root@mobanji ~]# egrep -v "#|^$" /usr/local/filebeat/filebeat.yml

filebeat.prospectors:

- type: log

  fields:

    logsource: 220nginx_access

    log_type: access_log

    fields_under_root: true

  paths:

    - /usr/local/nginx/logs/access.log

- type: log

  fields:

    logsource: 220nginx_error

    log_type: error_log

  paths:

    - /usr/local/nginx/logs/error.log

- type: log

  fields:

    logsource: 220tomcat_out

    log_type: tomcat_out

  paths:

    - /usr/local/tomcat/logs/catalina.out

output.redis:

  hosts: ["192.168.200.134"]

  port: 6379

  db: 0

  timeout: 5

  key: "220"

Redis做消息队列的更多相关文章

  1. Redis除了做缓存--Redis做消息队列/Redis做分布式锁/Redis做接口限流

    1.用Redis实现消息队列 用命令lpush入队,rpop出队 Long size = jedis.lpush("QueueName", message);//返回存放的数据条数 ...

  2. 程序员过关斩将--redis做消息队列,香吗?

    Redis消息队列 在程序员这个圈子打拼了太多年,见过太多的程序员使用redis,其中一部分喜欢把redis做缓存(cache)使用,其中最典型的当属存储用户session,除此之外,把redis作为 ...

  3. Redis 做消息队列

    一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式.利用redis这两种场景的消息队列都能够实现.定义: 生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列, ...

  4. 使用Redis做消息队列

    基于内存的单线程数据库,使Redis的线程安全性极高.而Redis的双向链表数据类型(List)天生就可作为消息队列存储消息. 在这里就不说消息队列的等等一些优点.但是补充一下Redis的List类型 ...

  5. RabbitMQ跟Redis做消息队列的区别

    区别 https://www.zhihu.com/question/20795043 https://blog.csdn.net/dd18709200301/article/details/79077 ...

  6. Redis做消息队列文章两篇

    介绍:http://www.cnblogs.com/lhfcws/p/3732535.html 具体做法:http://shift-alt-ctrl.iteye.com/blog/1867454 另外 ...

  7. 使用Redis Stream来做消息队列和在Asp.Net Core中的实现

    写在前面 我一直以来使用redis的时候,很多低烈度需求(并发要求不是很高)需要用到消息队列的时候,在项目本身已经使用了Redis的情况下都想直接用Redis来做消息队列,而不想引入新的服务,kafk ...

  8. PHP使用Redis实现消息队列

    消息队列可以使用MySQL来实现,可以参考博客PHP使用MySQL实现消息队列,虽然用MySQL可以实现,但是一般不这么用,因为MySQL的数据都存在硬盘中,而从硬盘中对MySQL的操作,I/O花费的 ...

  9. rabbitmq和redis用作消息队列的区别

    将redis发布订阅模式用做消息队列和rabbitmq的区别: 可靠性redis :没有相应的机制保证消息的可靠消费,如果发布者发布一条消息,而没有对应的订阅者的话,这条消息将丢失,不会存在内存中:r ...

随机推荐

  1. 【转】JS大总结(带实例)

    JS大总结(带实例) JavaScript事务查询综合click() 对象.click() 使对象被点击.closed 对象.closed 对象窗口是否已封闭true/falseclearTimeou ...

  2. Django后台缓存运用,提高并发

    图片防盗链 -通过请求头refer控制 -nginx处理 提高网站并发的通用方法 QPS:每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准.衡量一个服务器能抗多大并发的重要 ...

  3. 微信公众号 微信连wifi最全的教程

    微信公众号 微信连wifi最全的教程 http://jingyan.baidu.com/article/1709ad806c69bd4634c4f0b3.html 放到自定义菜单 只能用新建图文 把二 ...

  4. nvm 相关命令

    nvm install 安装指定版本,可模糊安装,如:安装v10.4.0,既可nvm install v10.4.0,又可nvm install 4.4 nvm uninstall 删除已安装的指定版 ...

  5. Memory Barriers Are Like Source Control Operations

    From:   http://preshing.com/20120710/memory-barriers-are-like-source-control-operations/ If you use ...

  6. K8S从入门到放弃系列-(8)kube-apiserver 高可用配置

    摘要: 前面几篇文章,就是整个的master节点各组件的部署,上面我们提到过,k8s组件中,kube-controller-manager.kube-scheduler及etcd这三个服务高可用,都是 ...

  7. Centos7.0配置Hadoop2.7.0伪分布式

    一.ssh免密登录 1.命令ssh-keygen. overwrite输入y一路回车 2.将生成的密钥发送到本机 ssh-copy-id localhost中间会询问是否继续输入“yes” 3.测试免 ...

  8. 通过vs2015给QT添加模块

    Qt VS Tools->Qt Project Settings->Qt Modules

  9. SAS学习笔记16 SAS创建计数(枚举)变量

  10. Codeforces 666E Forensic Examination(广义后缀自动机+线段树合并)

    将所有串(包括S)放一块建SAM.对于询问,倍增定位出该子串所在节点,然后要查询的就是该子串在区间内的哪个字符串出现最多.可以线段树合并求出该节点在每个字符串中的出现次数. #include<b ...