1 个不稳定版本

0.1.0 2024 年 8 月 5 日

#364调试

Download history 114/week @ 2024-08-02 10/week @ 2024-08-09

124 每月下载量

MIT 许可证

25KB
541 代码行

logu

logu.gif

logu 用于从(流式)非结构化日志消息中提取模式。

对于非结构化日志的解析,它使用 Drain 的解析器。简单来说,它对日志消息进行标记化,构建树状结构,并将类似的日志分组到单个簇中,将非结构化日志数据转换为可组织和分析的格式。

此方法也由 Grafana Loki 使用。如果您对日志解析器本身感兴趣,其他方法在 logpai/logparser 中进行了总结,请查看。

特性

  • 从流式日志消息中提取模式
  • 允许更详细的分析
    • 显示包含的消息数量和簇中的特定示例列表
    • 识别属性,如 IP、端口

安装

Homebrew

brew install ynqa/tap/logu

Cargo

cargo install logu

示例

stern --context kind-kind - | logu

快捷键映射

操作
Ctrl + C 退出 logu

用法

Usage: logu [OPTIONS]

Options:
      --retrieval-timeout <RETRIEVAL_TIMEOUT_MILLIS>
          Timeout to read a next line from the stream in milliseconds. [default: 10]
      --render-interval <RENDER_INTERVAL_MILLIS>
          Interval to render the list in milliseconds. [default: 100]
      --train-interval <TRAIN_INTERVAL_MILLIS>
          [default: 10]
      --cluster-size-th <CLUSTER_SIZE_TH>
          Threshold to filter out small clusters. [default: 0]
      --max-clusters <MAX_CLUSTERS>

      --max-node-depth <MAX_NODE_DEPTH>
          [default: 2]
      --sim-th <SIM_TH>
          [default: 0.4]
      --max-children <MAX_CHILDREN>
          [default: 100]
      --param-str <PARAM_STR>
          [default: <*>]
  -h, --help
          Print help (see more with '--help')
  -V, --version
          Print version

依赖项

~8–16MB
~184K SLoC