logstash配置codec插件-JSON模式

配置nginx日志
log_format json '{"remote_addr":"$remote_addr" ,"host":"$host" ,"server_addr":"$server_addr" ,"timestamp":"$time_iso8601" ,"request_time":$request_time, "remote_user":"$remote_user",  "request":"$request" ,"status":$status, "body_sent":$body_bytes_sent ,"http_referer":"$http_referer" ,"http_user_agent":"$http_user_agent" ,"http_x_forwarded_for":"$http_x_forwarded_for"}';
配置logstash
input {
	file {
		path => ["/data/logs/nginx/collectd.dev-access.log"]
		type => "demo-codec-json-log"
		start_position => "beginning"
        codec => "json"
	}
}
output {
	stdout{
		codec=>rubydebug
	}
}
启动
bin/logstash -f /etc/logstash/conf.d/demo-codec-json.conf
结果
{
             "remote_addr" => "192.168.56.1",
                 "request" => "GET /graph.php?p=load&t=load&h=192.168.56.201&s=86400 HTTP/1.1",
                    "type" => "demo-codec-json-log",
             "server_addr" => "192.168.56.201",
         "http_user_agent" => "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36",
             "remote_user" => "-",
                    "path" => "/data/logs/nginx/collectd.dev-access.log",
            "request_time" => 0.026,
              "@timestamp" => 2017-06-13T06:31:12.761Z,
            "http_referer" => "http://collectd.dev/host.php?h=192.168.56.201&p=load",
                    "host" => "collectd.dev",
    "http_x_forwarded_for" => "-",
                "@version" => "1",
               "body_sent" => 13863,
               "timestamp" => "2017-06-13T06:31:12+00:00",
                  "status" => 200
}
备注
nginx日志当中部分字段可能会是数字或者-,可以将日志全部转换为字符串,然后通过filter来处理

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据小魔方

同时用R语言和Python爬取知乎美图

学习Python已有两月有余,是时候检验下学习效果了,之前练习了不少R语言数据爬取,Python的爬虫模块还没有来得及认真入门,乱拼乱凑就匆忙的开始了,今天就尝...

38750
来自专栏iOSDevLog

Python 刷简书的浏览量 阅读数端午节快乐。熬夜看世界杯,先刷到 10k 吧。简易爬虫 common.py

299150
来自专栏编程微刊

表格插件-bootstrap table的分页使用示例

4:完整的添加数据之后显示在表格里面,自动分页代码,删除和编辑效果 jsp界面 :

57020
来自专栏练小习的专栏

WP-pagenavi插件在分类内分页无效问题

一直用WP-pagenavi这个插件分页,今天突然遇到个大问题,我在首页调用一个分类 <?php query_posts('showposts=2&cat=5'...

21760
来自专栏hbbliyong

Extjs 在项目中碰到问题

1.切换tabpanel,新建tab关闭后再新建报错,在火狐下报错 TypeError: el is null el.addCls.apply(el...

32780
来自专栏SeanCheney的专栏

Scrapy使用随机IP代理

第一步,先用不用代理的方式从西刺代理抓几个可用的IP,用Python的telnetlib库对其进行验证,将可用且速度够快的IP存入Redis和一个txt文件: ...

48860
来自专栏北京马哥教育

从零开始的 Python 爬虫速成指南

序 本文主要内容:以最短的时间写一个最简单的爬虫,可以抓取论坛的帖子标题和帖子内容。 本文受众:没写过爬虫的萌新。 入门 0.准备工作 需要准备的东西: Pyt...

39960
来自专栏用户画像

第23章 TCP基本原理

    TCP协议使用三次握手机制建立连接,其中被请求方在第二次握手时需应答的关键信息及其作用是(A)。

13830
来自专栏云计算教程系列

如何在Ubuntu 18.04上使用mdadm创建RAID阵列

该mdadm实用程序可用于使用Linux的软件RAID功能创建和管理存储阵列。管理员可以非常灵活地协调各自的存储设备,并创建具有更高性能或冗余特性的逻辑存储设备...

2.2K00
来自专栏FreeBuf

看我如何通过邮箱获取IP定位

还记得那些年,邮箱钓鱼盛行,各种广告邮件钓鱼邮件层出不穷,经过邮箱防水墙能拦截一部分以外,你是否注意到了正常邮箱可能被有心人利用的姿势?本文将用一个比较难以察觉...

77410

扫码关注云+社区

领取腾讯云代金券