用Logstash解析OpenResty的Resty.Logger推送的Syslog数据

作者:糖果

【前记】 用Resty.Logger给SyslogNG推送了几个测试的数据字段,如下:

192.168.0.1 68.180.228.95 GET /feed Jun 28 16:12:19

中间用空格区分,下面是grok的测试,经测式这些模式的测试数据都能正常解析。

【正文】

ruby grokdebug.rb -m '192.168.0.1 68.180.228.95 GET /feed Jun 28 16:12:19' -p '%{IP:server_ip} %{IP:client_ip} %{WORD:http_verb} %{PATH:baseurl} %{MONTH:month} %{MONTHDAY:day} %{TIME:time}'

被正常分析出来的JSON,如下:

{
  "server_ip": [
    "139.129.93.234"
  ],
  "IPV6": [
    null,
    null
  ],
  "IPV4": [
    "139.129.93.234",
    "68.180.228.95"
  ],
  "client_ip": [
    "68.180.228.95"
  ],
  "http_verb": [
    "GET"
  ],
  "baseurl": [
    "/feed"
  ],
  "UNIXPATH": [
    "/feed"
  ],
  "WINPATH": [
    null
  ],
  "month": [
    "Jun"
  ],
  "day": [
    "28"
  ],
  "time": [
    "16:12:19"
  ],
  "HOUR": [
    "16"
  ],
  "MINUTE": [
    "12"
  ],
  "SECOND": [
    "19"
  ]
}

【后记】 放到ES里,就可以直接用Django REST创建接口了,给外部使用。原理和使用的过程都是一样的,接口怎么实现,看具体业务复杂情况。

搭建grok的debugger环境,参考这篇:

更多的问题,直接参考StackOverflow上的问题:

糖果

糖果

糖果
LUA教程

如果不小心安装错 SQL Server 为 Evaluation 的版本,要小心当超过 180 天之后,系统就会无法正常使用了 这几天遇到一个蛮特别的案例,原本收到的问题是 “维护计划” 忽然无法使用,即便是里面没有任何的Task,都无法顺利地执行。但从对方所提供的错误消...… Continue reading

PLUM NIZ静电容键盘怎么样?

Published on September 25, 2020

程序员如何选择合适的机械键盘

Published on September 18, 2020