关于 promtail 与 loki 处理时间戳 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
vacuitym
V2EX    程序员

关于 promtail 与 loki 处理时间戳

  •  
  •   vacuitym 2022-02-22 16:37:49 +08:00 2614 次点击
    这是一个创建于 1332 天前的主题,其中的信息可能已经有所发展或是发生改变。

    看了一下官网,promtail 默认是读取日志时间作为时间戳,但是也可以自己从日志读取时间作为时间戳,有日志如下:

    2022-02-17 21:50:17,869 [DubboServerHandler-132.147.1.198:20881-thread-474] INFO com.aaa.cccc.service.channel.OpPaaaaaaaSerivce [20220217214840017738] - 2222222 

    我的 promtail 配置如下:

    - job_name: system pipeline_stages: # 这个阶段只有在被抓取地目标有一个标签名为 name 且值为 promtail 地时候才会执行 - match: selector: '{job="onepay"}' stages: # regex 阶段解析出一个 level 、timestamp 与 component ,在该阶段结束时,这几个值只为 pipeline 内部设置,在以后地阶段可以使用这些值并决定如何处理他们。 - regex: expression: '(?P<timestamp>[\d- :,]*) \[.*' # 最后,时间戳阶段采用从 regex 提取地 timestamp ,并将其变成日志的新时间戳,并解析为 RFC3339Nano 格式。 - timestamp: format: RFC3339Nano # format: Year-Month-Day Hour:Minute:Second # format: 2006-01-02 15:04:05 source: timestamp 

    发现查询到的日志时间戳还是读取日志的时间,有兄弟知道我哪里配置错误了吗。 (如发帖有问题辛苦管理员指出,谢谢)

    7 条回复    2023-11-13 12:00:26 +08:00
    shiyuu
        1
    shiyuu  
       2023-03-10 15:28:41 +08:00
    我也遇到这个问题,求大佬解答或者给个配置参考
    vacuitym
        2
    vacuitym  
    OP
       2023-03-10 17:12:06 +08:00
    @shiyuu 我这边解决了,你发个邮箱我给你我用的配置吧
    shiyuu
        3
    shiyuu  
       2023-03-11 11:01:40 +08:00
    vacuitym
        4
    vacuitym  
    OP
       2023-03-13 14:31:08 +08:00
    @shiyuu 已发邮件
    vacuitym
        5
    vacuitym  
    OP
       2023-03-13 14:32:34 +08:00
    也在这里贴一下:

    以下是我们用的日志格式和 promtail 配置,需要重点关注下日志中的时间最后的毫秒和秒之间一定要是”.”而不是”,”,这个好像是因为 promtail 用的 go 版本还不支持逗号分隔的时间格式。

    format: "2006-01-02 15:04:05.000”
    这一行的数字也不能改动,这是 go 语言对时间的定义,类似其他语言中的:yyyy-MM-dd HH:mm:ss.sss

    差不多就这些,希望可以帮到你

    目前我们用的日志格式:
    2023-03-13 13:54:54.776 [xxxxxxx,231901dc1678686893498301420468,0] [http-nio-8086-exec-7] INFO com.xxxxxxx.compatible.servi

    目前我们用的 promtail 配置:

    server:
    http_listen_port: 9080
    grpc_listen_port: 0

    # 自己创建到 tmp 文件夹,后面的会自动创建
    positions:
    filename: /app/software/loki/tmp/positions.yaml

    # 此处需要根据 loki 所在的 ip 和端口进行更改
    clients:
    - url: http://localhost:3100/loki/api/v1/push


    # 以下需要修改的部分为__path__,修改为日志路径
    # 注意此处配置了三个 job ,到时候可以根据需要增删
    scrape_configs:
    - job_name: web
    pipeline_stages:
    - multiline:
    firstline: '^\d{4}'
    max_wait_time: 3s
    - regex:
    expression: '^(?P<ttts>\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{3}).*'
    - timestamp:
    source: ttts
    format: "2006-01-02 15:04:05.000"
    location: Asia/Shanghai

    static_configs:
    - targets:
    - localhost
    labels:
    job: onepay
    service: web
    __path__: /app/logs/xxx/xxxx-debug*log
    yunweier
        6
    yunweier  
       2023-11-11 19:59:03 +08:00
    所以是改了程序,把日志里面的逗号,改成了点吗?
    有办法在 promtail 配置里面做兼容不
    vacuitym
        7
    vacuitym  
    OP
       2023-11-13 12:00:26 +08:00
    @yunweier 要看现在的 promtail 编译用的 go 版本支不支持,以前是因为 go 本身没有对逗号的时间格式做支持
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2869 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 14:08 PVG 22:08 LAX 07:08 JFK 10:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86