• Logcliloki 命令行工具


    安装

    cd /tmp/  && \
    wget https://github.com/grafana/loki/releases/download/v2.5.0/logcli-linux-amd64.zip && \
    unzip logcli-linux-amd64.zip && \
    mv logcli-linux-amd64 /usr/local/bin/ && \
    ln -sv /usr/local/bin/logcli-linux-amd64 /usr/local/bin/logcli && \
    rm -f ./logcli-linux-amd64.zip 
    

    配置

    echo 'export LOKI_ADDR=http://localhost:3100' >> /etc/profile && \
    source /etc/profile
    

    如果loki 为非本机地址, 请将localhost 替换为对应ip 地址

    执行命令logcli labels 出现类似以下内容时,表示配置成功

    logcli labels
    http://localhost:3100/loki/api/v1/labels?end=1656311640897253757&start=1656308040897253757
    __name__
    

    用法

    query

    query 中查询表达式可以使用任意logql 进行查询, 以下仅以{app="foo"} 做示例说明, 更多logql 语法请查询官方文档 LogQL

    1. 查询app 为foo, 10条日志

    logcli query '{app="foo"}' --limit 1 -o raw  
    # --limit 限制日志条数, 默认30
    # -o 输出格式, 有三种default, jsonl, raw. raw 相比default 会抑制日志标签与时间戳的输出
    

    2. 查询app 为foo, 10条日志,每批次限制5条

    logcli query '{app="foo"}' --limit 10 -o raw --batch 5 
    # --batch 限制每批次请求行数,范围 2-5000
    

    3. 查询app 为foo, 时间为2022-06-26 09:00:00 到 2022-06-26 18:00:00 的日志

    logcli query '{app="foo"}' -o raw --from="2022-06-26T01:00:00Z" --to="2022-06-26T10:00:00Z" --timezone=UTC
    # --from 日志起始时间
    # --to 日志截止时间
    # --timezone 时区, 二选一 Local 或UTC, 建议使用UTC 时区
    

    有时可能会遇到这种情况-> 服务foo 在过去某一段时间明明有日志, 但是通过 logcli query '{app="foo"}' -o raw 未查询到结果, 这是因为 logcli 默认只在过去1小时的区间里查询日志(--since=1h), 如果没有查询到日志,则会返回空

    4. 查询app 为foo, 过去8个小时最新的1000 条日志

    logcli query '{app="foo"}' -o raw  --limit 1000  --since=8h
    

    5. 实时查询app 为iam 的日志

    logcli query '{app="foo"}'  --limit 10 -o raw -t
    # -t 实时跟踪日志
    

    labels

    1. 查询loki 所有的标签

    logcli labels -q # 同query 的时间区间,默认 --since=1h
    

    2. 查询app 标签所有的值

    logcli labels app
    

    series

    series 命令将根据提供的标签匹配器 返回时间窗口内的所有日志流

    1. 获取所有标签的摘要信息

    logcli series '{}' -q --analyze-labels # 同query 的时间区间,默认 --since=1h
    

    2. 获取app 为foo 的日志流信息

    logcli series '{app="foo"}' -q
    

    参考: https://grafana.com/docs/loki/latest/tools/logcli/

  • 相关阅读:
    GridView中实现可收缩的面板
    android之xml数据解析(Pull)
    android之xml数据解析(DOM)
    android intent 传递list或者对象
    Android之单元测试
    Directx11教程(48) depth/stencil buffer的作用
    Directx11教程(47) alpha blend(4)雾的实现
    Directx11教程41 纹理映射(11)
    Directx11教程40 纹理映射(10)
    Directx11教程(46) alpha blend(3)
  • 原文地址:https://www.cnblogs.com/guoew/p/16417060.html
Copyright © 2020-2023  润新知