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

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

  •  
  •   wangking · 2018-11-29 11:18:12 +08:00 · 4430 次点击
    这是一个创建于 2190 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:

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

    怎么抱怨?
    hotsymbol
        30
    hotsymbol  
       2018-11-30 00:43:07 +08:00
    Prometheus 当然是最好的方案。但是自定义程度不高。PromQL 限制还是很多。不能像 Pyhon 或者 Golang 那样想怎么弄就怎么弄。
    自建日志监控。从捞错误信息开始。一般情况下使用 Push 的方法。只有 prometheus 使用捞数据的方法。Docker 和 Kubernets 原声支持 Prom。但是 Kubernest 内建的 dashboard 也可以完美支持系统负载运维。并且捞出日志。
    如果业务的实时性不是很高。用 Go 或者。Net core 足以。如果需要实时性特别特别强。建议还是用 C。毕竟 F22 的系统都有 C 的代码(据说)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1035 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 20:07 · PVG 04:07 · LAX 12:07 · JFK 15:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.