#log-viewer #aws #logs #date-time #cloud-watch #regex #tool

app cw-axe

AWS CloudWatch CLI日志查看器

2个不稳定版本

0.2.0 2024年6月12日
0.1.0 2024年5月11日

#4 in #log-viewer

Download history 176/week @ 2024-05-10 10/week @ 2024-05-17 1/week @ 2024-05-24 127/week @ 2024-06-07 20/week @ 2024-06-14

每月下载量106次

GPL-3.0 许可证

60KB
671 行代码(不含注释)

AWS CloudWatch日志CLI查看器

Axe是另一个从AWS CloudWatch获取日志的工具。

功能

  • 多种定义日期时间范围的方法,
  • 内置正则表达式支持,
  • 别名支持。

安装

最简单的方法是使用rustup安装cargo,然后运行cargo install cw-axe

用法

全局选项

 -p, --prodile AWS profile
 -c, --config-path <CONFIG_PATH>

命令

  log      show logs
  groups   show log groups
  streams  show log group streams
  alias    add or rewrite alias, use with with -- after alias to pass args
  aliases  print all aliases
  help     Print this message or the help of the given subcommand(s)

日志

Arguments:
  <GROUP>   group name
  <STREAM>  stream name

Options:
  -s, --start <START>
          start time, the time can be defines as
          * RFC 3339, ex:
              * 2024-01-02T03:04:05.678Z
              * 2024-01-02T03:04:05+1
          * offset from now, in days(d), hours(h), minutes(m), seconds(s) ex:
              * 10m - 10 minutes
              * 100 - 100 seconds
              * 1m30s
          * local time of day, ex:
              * 12:34
          * UTC time of day, ex:
              * 12:34Z
          * [default: 60m]
  -e, --end <END>
          end time, format is the same as for start
  -l, --length <LENGTH>
          either length or end is used, the format is same as offset for start
  -f, --filter <FILTER>
          AWS CloudWatch filter https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html
          Examples:
          * 'A B' - the log has to contain A and B
          * '"A B"' - exact match
          * '?A ?B' - matches with A or B
          * 'A -B' - matches with lines contains A and no B
          * '%\s[A-Z]{4}\s%' - regex
  -r, --message-regexp <MESSAGE_REGEXP>
          replace regexp
          '<delimiter char><regexp><the same delimiter char><replacement>'
          example: '/(\d{4} [^|]+/$1'
  -d, --datetime-format <DATETIME_FORMAT>
          ouput datetime format https://docs.rs/chrono/latest/chrono/format/strftime/index.html [default: "%d%b %H:%M:%S%.3f"]
  -u, --ui
          show results in UI
      --chunk-size <CHUNK_SIZE>
          number records in a chunk, maximum is 10k [default: 1000]

别名

当您想保存命令时,可以通过以下方式创建别名。对于cw-axe -p my-profile log my-group my-setream -r '#^2024#24',在cw-axe之后插入alias <name> --cw-axe alias my-alias -- -p my-profile log my-group my-setream -r '#^2024#24。现在您可以使用cw-axe my-alias

支持的平台

  • Linux,
  • macOS,
  • 应在其他类Unix系统上工作。

它可能在Windows上也能工作,但由于配置位于常见的类Unix目录中,可能需要一些小的更改。

已知的错误

  • AWS CloudWatch过滤器并不总是正确工作,有时会错过一些命令,但这在AWS方面,所以除了获取所有事件和grep之外,无法修复。

UI

如果启用了ui功能,结果可以在UI(egui)中显示。但目前它仅限于当前查询结果。我计划有一天实现一个完全功能的UI。

依赖关系

~24–46MB
~765K SLoC