【问题标题】:logstash - collecting information about ip connected to serverlogstash - 收集有关连接到服务器的 ip 的信息
【发布时间】:2015-11-06 03:34:48
【问题描述】:

我正在使用 ELK 来可视化连接到我的服务器的所有客户端(通过 putty 连接的机器)机器的 IP 地址信息。 我正在使用“last”命令获取连接到我的服务器的所有机器的 IP 地址列表。

最后一条命令的输出如下

root pts/0 32.97.110.56 Mon Oct 5 16:44- 17:33 (19:03)

root pts/0 32.97.110.56 Mon Oct 5 18:06 - 18:19 (00:12)

当我在 kibana 上推送此信息时,使用 logstash 和弹性搜索,我可以看到如下消息。

消息:root pts/0 32.97.110.56 Mon Oct 5 16:44 - 17:33

我想按空格分割“消息”,以便在 kibana 中为每个字段设置不同的字段。 请建议我如何做到这一点。 谢谢。

【问题讨论】:

    标签: logstash kibana elastic-stack


    【解决方案1】:

    grok 过滤器可用于将消息解析为更有用的结构以供查询。

    grok 模式是正则表达式,但还包括一个 library of common patterns 可以使用,而不是从头开始编写自己的表达式。这种简单解析的有用模式是NOTSPACE,它匹配任何非空白字符。 IP 等其他模式也可用于确保选择的数据确实符合您的预期。

    filter {
      grok {
        match => {
          "message" => "^%{NOTSPACE:user} %{NOTSPACE:tty} %{IP:ip}"
        }
        named_captures_only => true
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2017-06-27
      相关资源
      最近更新 更多