• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wangking
V2EX  ›  程序员

运维孙子被要求来定义如何收集错误码: 这个工作内容算是运维的工作内容吗? 当然也希望爷爷们给点方案

  •  
  •   wangking · Nov 29, 2018 · 4929 views
    This topic created in 2731 days ago, the information mentioned may be changed or developed.

    背景:

    某黄牛性质的网站。最近开始倒腾自己的错误码了。  
    错误码如何定义,开发爷爷们已经商定了?接下来就是该怎么收集统计问题。
    
    之前他们的日志会向日志文件和 graylog 两个地方输出。
    
    现在我手里有两种方案:
    
    	1,利用现成的 graylog,就是他们的错误码直接和日志文件一起向 graylog 输出,我再通过 api 查询一段时间内(比如说一个月)错误码出现的次数和时间,错误码出现次数增加则报警。然后统计给开发爷爷们看(做个图形化界面什么的),或着利用 graylog 的图形来做。  
        2,redis。这个是我自己想的。我的设想是:利用 redis 的列表(集合)。用错误码来做 key,然后把错误码发生的时间戳做为 value,push ( add )到列表(集合)中去,还要写怎么删除超过一个月的 value。 这样也可以做到监控错误码的出现次数和时间。
        
    其他的技术我就不太了解了,还希望爷爷们不吝赐教。
    
    Supplement 1  ·  Nov 29, 2018
    更正一些表述不清晰的地方:
    运维孙子被要求来定义如何收集错误码 ---> 运维孙子被要求来收集错误码发生的时间,次数,并展示、报警
    30 replies    2018-11-30 00:43:07 +08:00
    linxiaoziruo
        1
    linxiaoziruo  
       Nov 29, 2018
    你这描述云里雾里的。啥叫‘定义’,‘定义如何收集错误码’是啥意思?
    xi2008wang
        2
    xi2008wang  
       Nov 29, 2018
    运维定错误码大类,具体的项那肯定还是要开发去搞
    入库统计展示直接 ELK 一把梭
    wutiantong
        3
    wutiantong  
       Nov 29, 2018
    现有方案的优缺点是啥先讲清楚
    hcymk2
        4
    hcymk2  
       Nov 29, 2018
    graylog 有现成的的功能吧。generate chart , quick values ,statistics。
    wangking
        5
    wangking  
    OP
       Nov 29, 2018
    @linxiaoziruo 错误码开发大爷们已经定了,现在就讨论如何收集,emm,我的标题确实有歧义
    wangking
        6
    wangking  
    OP
       Nov 29, 2018
    @xi2008wang 错误码已经定好了,现在就是如何收集问题,graylog 其实跟 elk 工作原理是一样的
    wangking
        7
    wangking  
    OP
       Nov 29, 2018
    @hcymk2 第一次接触 graylog 还有很多功能不太清楚,我来看看
    wangking
        8
    wangking  
    OP
       Nov 29, 2018
    @wutiantong 现在没有方案,这不是让运维想收集方案了吗
    CivAx
        9
    CivAx  
       Nov 29, 2018
    单纯收集 grep 都行。。。。所以你这个描述很不清楚
    弄个 logstash 呗,大不了再来个 elasticSearch 做查询
    xi2008wang
        10
    xi2008wang  
       Nov 29, 2018
    没明白,错误码定好了,也有现成的 graylog,那还要啥方案,对照 http://docs.graylog.org/en/2.4/ 配置。。。
    fkmc
        11
    fkmc  
       Nov 29, 2018
    日志错误的收集与统计 ??? 需求是啥
    wutiantong
        12
    wutiantong  
       Nov 29, 2018
    @wangking 现在没有方案? 那你主题里写的 1 跟 2 是啥?
    wangking
        13
    wangking  
    OP
       Nov 29, 2018
    @CivAx 这个不太现实,首先是微服务,其次是业务日志比较大。
    wangking
        14
    wangking  
    OP
       Nov 29, 2018
    @CivAx 我来研究一下 graylog,graylog 后面也是 es
    wangking
        15
    wangking  
    OP
       Nov 29, 2018
    @xi2008wang 谢谢大佬,我去看看
    iphoneXr
        16
    iphoneXr  
       Nov 29, 2018 via iPhone
    elkelk 收集展示,结贴。
    wangking
        17
    wangking  
    OP
       Nov 29, 2018
    @wutiantong 1 和 2 是我自己想的,希望你们有生产中现有的方案
    wangking
        18
    wangking  
    OP
       Nov 29, 2018
    @iphoneXr 貌似这个是最佳的方案了
    reus
        19
    reus  
       Nov 29, 2018
    不就个监控,不懂开发的运维,迟早被淘汰
    peterontheway
        20
    peterontheway  
       Nov 29, 2018   ❤️ 4
    这阴阳怪气的论调真让人不舒服
    0ZXYDDu796nVCFxq
        21
    0ZXYDDu796nVCFxq  
       Nov 29, 2018 via Android
    这样说话,在办公室不会被打吗?
    lfzyx
        22
    lfzyx  
       Nov 29, 2018
    这个工作内容当然算是运维的工作内容,不然运维是修电脑搞网络扛服务器的?
    tourist2018
        23
    tourist2018  
       Nov 29, 2018
    啥意思 统计错误出现的次数么 ? 最简单的 shell 就可以
    liwl
        24
    liwl  
       Nov 29, 2018
    @wangking 你觉得自己是孙子,我不觉得自己是....这字眼,很难受。
    qilishasha
        25
    qilishasha  
       Nov 29, 2018
    所以……团队一定要培训好中文环节
    LeungV2
        26
    LeungV2  
       Nov 29, 2018
    让 V 站里的运维小改改看到了 肯定挨打
    305835227fadf
        27
    305835227fadf  
       Nov 29, 2018
    开发者在代码里嵌入 Prometheus SDK 暴露监控端点,然后服务端 Prometheus 来采集,集合 Grafana 来展示图表;另外看你提到 Graylog,推测你线上环境基于 Docker 部署?如果是那更好办了,Docker 原生就支持 Prometheus 来监控,很便利。
    8355
        28
    8355  
       Nov 29, 2018
    戾气太重了小兄弟
    Raymon111111
        29
    Raymon111111  
       Nov 29, 2018
    这么好提升自己的机会

    怎么抱怨?
    hotsymbol
        30
    hotsymbol  
       Nov 30, 2018
    Prometheus 当然是最好的方案。但是自定义程度不高。PromQL 限制还是很多。不能像 Pyhon 或者 Golang 那样想怎么弄就怎么弄。
    自建日志监控。从捞错误信息开始。一般情况下使用 Push 的方法。只有 prometheus 使用捞数据的方法。Docker 和 Kubernets 原声支持 Prom。但是 Kubernest 内建的 dashboard 也可以完美支持系统负载运维。并且捞出日志。
    如果业务的实时性不是很高。用 Go 或者。Net core 足以。如果需要实时性特别特别强。建议还是用 C。毕竟 F22 的系统都有 C 的代码(据说)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 17:03 · PVG 01:03 · LAX 10:03 · JFK 13:03
    ♥ Do have faith in what you're doing.