V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
5bb864e1fc775087
V2EX  ›  DevOps

你们的服务器是怎么记录日志的?

  •  
  •   5bb864e1fc775087 · 2020-03-03 12:23:46 +08:00 · 4741 次点击
    这是一个创建于 804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    1. 接口日志是记录在哪里? 日志文件吗?
    2. 是否将接口请求的 request header 和传入的参数,服务端输出的 response header 和数据都记录到日志里?
    3. 业务中日志记录是否有规范,比如要求按某种格式写:“{触发记录日志的文件名和行数} {原因} {其他涉及的参数}”

    我在的公司记录的是日志文件,查看日志只能才 FTP 上下载日志文件下来看,有时候日志文件几十 M,下载的时候还会拖到服务器的带宽,感觉这个做法不好

    16 条回复    2021-01-05 17:48:33 +08:00
    Livid
        1
    Livid  
    MOD
       2020-03-03 12:25:20 +08:00 via iPhone   ❤️ 3
    搜索关键词:

    ELK
    Splunk
    Papertrail Log
    logz.io
    zzzmh
        2
    zzzmh  
       2020-03-03 12:27:02 +08:00
    文件总比数据库强,觉得拖带宽可以先放到另外一台服务器或者同区域的私有 OSS 里再统一拖下来。我们一般 API 接口记录简单的调用记录,再有一份 Nginx 的自带的日志
    Vegetable
        3
    Vegetable  
       2020-03-03 12:27:27 +08:00
    别问,问就是 ELK
    5bb864e1fc775087
        4
    5bb864e1fc775087  
    OP
       2020-03-03 12:27:44 +08:00
    @Livid #1 👌
    gz911122
        5
    gz911122  
       2020-03-03 12:27:53 +08:00
    slf4j 调下格式就好了
    sumarker
        6
    sumarker  
       2020-03-03 12:29:38 +08:00
    阿里云的日志服务.
    littlewing
        7
    littlewing  
       2020-03-03 12:41:32 +08:00 via iPhone
    站长正解
    ericls
        8
    ericls  
       2020-03-03 12:44:36 +08:00 via iPhone
    Vector
    ELK

    Cluster 的每个 node 往 ELK 发送
    37Y37
        9
    37Y37  
       2020-03-03 13:07:54 +08:00
    别问,问就是 ELK,参考:
    https://ops-coffee.cn/elk
    18258226728
        10
    18258226728  
       2020-03-03 16:37:31 +08:00
    小规模项目不想搞 elk,1,2,3 点全符合,也只有这样才能准确定位问题。
    只能 FTP 下载日志文件太麻烦了,一般直接 ssh 上去 grep。
    按照第三点规范日志后,可以根据日志做监控,比如什么日志一段时间内出现多少次就报警发钉钉消息
    smallpython
        11
    smallpython  
       2020-03-03 17:07:39 +08:00
    用数据库是为了方便搜索吗, 感觉写文件挺好的
    hakono
        12
    hakono  
       2020-03-03 22:42:13 +08:00 via Android
    公司服务全在 aws 上,所有服务的日志直接无脑输出到 stdout,然后在 CloudWatch 上查看管理
    Livid
        13
    Livid  
    MOD
       2020-03-04 07:35:04 +08:00
    关于 2,如果 Web Server 是 NGINX 的话,配合 lua-nginx-module 可以在 log_by_lua 阶段把那些数据写到日志里。
    iceecream
        14
    iceecream  
       2020-04-07 09:51:16 +08:00
    @smallpython ELK 记录 nginx 日志是教程最喜欢用的例子,切割字段太方便了,还能图形化展示。。数据分析。。
    领导喜欢。。。容易出成果。
    donespeak
        15
    donespeak  
       2021-01-04 11:55:59 +08:00
    @18258226728 如果日志中输出中含有参数,要怎么统计出现次数呢?比如:
    ```java
    log.info("fail to create user {}", email, ex);
    ```
    18258226728
        16
    18258226728  
       2021-01-05 17:48:33 +08:00
    @donespeak 可以用 awk 统计次数
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2338 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:10 · PVG 00:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.