之前提到,用RabbitMQ作为消息队列。但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉——基本上我这里试验结果跑不了半小时日志传输就断了。所以改用简单易行的redis来干这个活。 之前的lib里,有inputs/redis.rb和outputs/redis.rb两

之前提到,用RabbitMQ作为消息队列。但是这个东西实在太过高精尖,不懂erlang不会调优的情况下,很容易挂掉——基本上我这里试验结果跑不了半小时日志传输就断了。所以改用简单易行的redis来干这个活。

之前的lib里,有inputs/redis.rb和outputs/redis.rb两个库,不过output有依赖,所以要先gem安装redis库,可以修改Gemfile,取消掉相关行的注释,搜redis即可。

然后修改agent.conf:

input {

file {

type => "nginx"

path => ["/var/log/nginx/access.log" ]

}

}

output {

redis {

host => "MyHome-1.domain.com"

data_type => "channel"

key => "nginx"

type => "nginx"

}

}

启动方式还是一样。

接着修改server.conf:

input {

redis {

host => "MyHome-1.domain.com"

data_type => "channel"

type => "nginx"

key => "nginx"

}

}

filter {

grok {

type => "nginx"

pattern => "%{NGINXACCESS}"

patterns_dir => ["/usr/local/logstash/etc/patterns"]

}

}

output {

elasticsearch { }

}

然后创建Grok的patterns目录,主要就是github上clone下来的那个咯~在目录下新建一个叫nginx的文件,内容如下:

NGINXURI %{URIPATH}(?:%{URIPARAM})*

NGINXACCESS \[%{HTTPDATE}\] %{NUMBER:code} %{IP:client} %{HOSTNAME} %{WORD:method} %{NGINXURI:req} %{URIPROTO}/%{NUMBER:version} %{IP:upstream}(:%{POSINT:port})? %{NUMBER:upstime} %{NUMBER:reqtime} %{NUMBER:size} "(%{URIPROTO}://%{HOST:referer}%{NGINXURI:referer}|-)" %{QS:useragent} "(%{IP:x_forwarder_for}|-)"

Grok正则的编写,可以参考wiki进行测试。

也可以不写配置文件,直接用–grok-patterns-path参数启动即可。

ps: 考察了一下statsd,发现它也要另存一份数据,放弃掉。转研究Kibana界面和Elasticsearch的分布式。

logstash grok mysql_【Logstash系列】使用Redis并自定义Grok匹配相关推荐

  1. Logstash:如何逐步构建自定义 grok 模式

    在之前的文章 "在摄入时使用 grok 构建 Elasticsearch 数据以加快分析速度",我们研究了如何在摄取时构造非结构化数据(schema on write),以确保您的 ...

  2. 深入剖析Redis系列(七) - Redis数据结构之列表

    前言 列表(list)类型是用来存储多个 有序 的 字符串.在 Redis 中,可以对列表的 两端 进行 插入(push)和 弹出(pop)操作,还可以获取 指定范围 的 元素列表.获取 指定索引下标 ...

  3. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  4. 深入剖析Redis系列(五) - Redis数据结构之字符串

    前言 字符串类型 是 Redis 最基础的数据结构.字符串类型 的值实际可以是 字符串(简单 和 复杂 的字符串,例如 JSON.XML).数字(整数.浮点数),甚至是 二进制(图片.音频.视频),但 ...

  5. 高并发架构系列:Redis缓存和MySQL数据一致性方案详解

    需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节.所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库. 这个业务场景,主要 ...

  6. redis 经纬度_【SpringBoot DB 系列】Redis 高级特性之 GEO

    [SpringBoot DB 系列]Redis 高级特性之 GEO GEO 用于存储地理信息,最直观的就是我们日常使用的地图 app 中,如果我想查询我所在地的周边餐饮,就可以利用 geo 中的以(x ...

  7. NoSql之Redis系列一: Redis的数据类型和基本使用

    NoSql之Redis系列一: Redis的数据类型和基本使用 Redis简介及特点 Redis常用数据结构及使用 启动redis-server (win) 使用redis-cli操作redis St ...

  8. java redis的同步_java同步系列之redis分布式锁进化史

    标题: 死磕 java同步系列之redis分布式锁进化史 - 彤哥读源码 - 博客园 转帖原地址: https://www.cnblogs.com/tong-yuan/p/11621361.html ...

  9. 拦截器获取请求参数post_「SpringBoot WEB 系列」RestTemplate 之自定义请求头

    [WEB 系列]RestTemplate 之自定义请求头 上一篇介绍了 RestTemplate 的基本使用姿势,在文末提出了一些扩展的高级使用姿势,本篇将主要集中在如何携带自定义的请求头,如设置 U ...

最新文章

  1. PG 9.4 行冻结信息的测试
  2. Android:学习AIDL,这一篇文章就够了(上)
  3. 深度干货 | 多维分析中的 UV 与 PV
  4. ITK:创建一个索引
  5. StringBuilder的使用
  6. CMake configure_file命令
  7. 32位与64位应用程序速度分析
  8. JAVA开发面试常问问题总结2
  9. 百度编辑器 UEditor 报错汇总
  10. 金蝶K3 对接(直接操作数据库)
  11. dmg为什么下载成php,解答:dmg是什么意思,dmg文件如何打开,及怎么把dmg转换成iso
  12. CnPack开发包基础库
  13. sony a7 android,摄影 篇一:SONY A7R4利用ftp传输直传照片到安卓设备,完爆app体验
  14. CVE-2017-8464 震网三代
  15. 最短路算法模板(Dijkstra、Bellman_ford、spfa、Floyd)
  16. 树形结构的数据库表Schema设计
  17. 全方面对比流行报表开发工具,哪一个才是你的菜?
  18. 皮卡洞察报告2021版——附下载链接
  19. 第14届蓝桥杯STEMA测评真题剖析-2022年11月27日Scratch编程初中级组
  20. win7 打开“计算机”慢,怎么解决win7开机慢|win7系统开机速度慢的三大解决方法...

热门文章

  1. 不同主体公众号跳转小程序_公众号和小程序的区别
  2. 网页中设定表格边框的厚度的属性_网页试题
  3. 如何查看服务器账户密码信息文件,如何查询服务器的数据库账号密码
  4. java 删除压缩zip文件_从ZIP存档中删除文件,而无需在Java或Python中解压缩 - java...
  5. Super-palindrome(思维)
  6. 依赖插件版本冲突问题
  7. PAT_B_1006_Java(15分)
  8. 深度学习之自编码器(4)变分自编码器
  9. 深度学习之自编码器(3)自编码器变种
  10. sharepointa嵌入HTML网页,显示存储在SharePoint文档文件夹中的HTML页面