Logcli-loki命令行工具使用详解
Logcli-loki命令行工具
安装
前往Loki版本发布页面 下载对应版本的Logcli
命令行工具到本地。
1 | cd /tmp && wget https://github.com/grafana/loki/releases/download/v2.7.2/logcli-linux-amd64.zip |
配置loki客户端连接loki服务器的地址到环境变量
1 | # 如果loki 为非本机地址, 请将localhost 替换为对应ip地址 |
注意:如果在代理服务器后面运行 Loki 并且配置了身份验证,则还必须相应地传入 LOKI_USERNAME 和 LOKI_PASSWORD、LOKI_BEARER_TOKEN 或 LOKI_BEARER_TOKEN_FILE。
验证是否安装成功
1 | # 当查询到服务器上的标签即成功。 |
常用子命令的用法
query子命令
0、子命令帮助信息查看
1 | $ logcli query --help |
1、查询app标签
为foo
的10条
日志
1 | $ logcli query '{app="foo"}' --limit 10 -o raw |
2、查询app标签
为foo
的10条
日志,每批次限制5条
。
1 | $ logcli query '{app="foo"}' --limit 10 -o raw --batch 5 |
3、查询app标签
为foo
, 时间为2022-06-26 09:00:00
到2022-06-26 18:00:00
的日志
1 | $ logcli query --limit 2000000 --batch 2000 '{app="foo"}' --from="2022-06-26T01:00:00Z" --to="2022-06-26T10:00:00Z" --timezone=Local |
有时可能会遇到这种情况-> 服务foo在过去某一段时间明明有日志, 但是通过
logcli query '{app="foo"}' -o raw
未查询到结果.这是因为logcli
默认只在过去1小时
的区间里查询日志(–since=1h), 如果没有查询到日志,则会返回空。
4、查询app标签
为foo
,过去8个小时最新的1000条日志。
1 | $ logcli query '{app="foo"}' --limit 1000 --since=8h |
5、实时查询app标签
为foo
的日志
1 | $ logcli query '{app="foo"}' --limit 10 -o raw -t |
labels子命令
1、查询loki
所有的标签
1 | $ logcli labels -q |
2、查询app标签
下所有的值
1 | $ logcli labels app |
series子命令
series 命令将根据提供的标签匹配器 返回时间窗口内的所有日志流
1、获取所有标签的摘要信息
1 | $ logcli series '{}' -q --analyze-labels |
2、获取app为foo的日志流信息
1 | $ logcli series '{app="foo"}' -q |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mr.Pu 个站博客!
评论