potainer 日志_日志系统落地:制定日志规范

我们的系统,已经接入阿里云的日志服务很长一段时间了,存了数以TB级别的日志,突然有一天,领导说,我们需要所有订单的ip信息用于审计订单的真实性,突然发现日志系统无法一次性查找到我所有需要的信息,让我很无奈,是我们没有记录吗?那我们遇到了哪些问题呢。

日志级别规范

日志级别我们已经有了较好的规范了

只在必要时打印日志

  • 面对不确定因素时(Warning/Info)
  • 订单、支付、物流等核心业务场景(Info)
  • 程序运行错误(Error)

日志内容及格式:

日志格式:

我们选择使用json格式来处理日常的日志,比较方便简洁,格式自由,另外就是使用t制表符分割,然后使用key:value格式来处理,也比较好分隔。

多行日志我们是明确禁止的,必须打成一行,并且非json,我们不予采集,因为多行和非标准的格式给我们带来了大量的麻烦,日志采集规则实在是难以覆盖

日志内容:

对于日志内容,其实这是最难做的,也是我非常想要表达的,包括我现在遇到的很多问题,也是由于内容不够结构化导致的。日志就像我们使用mongodb那样,除了唯一主键,其他的schema可以任意增加删除,这样其实给了程序员太多自由空间,必须在某些地方强制要求才可以。

所以我们在这方面做出几个改进:

  1. 使用DB里面的列名,作为日志的key,这样避免出现同义key,但是接手的人太多,每个人都有自己的命名习惯,导致最终日志无法查询
  2. 对于订单相关日志,要求同时出现订单号和用户id,以便查询
  3. 当出错时,应该打印出错所涉及的订单号和用户id,如果涉及到支付,应该打印支付渠道和支付网关的返回的订单号以便审计查询
  4. 在json的值里面不要嵌套其他类似json的内容,例如出现msg: 订单成功{info:success}这样的字符,难以解析,难以排查,并且在最终查询时只能解析部分字符串,对于后面的类json内容无法良好的处理

日志系统的边界

了解日志系统能力的边界很重要,我们目前使用阿里云日志系统,功能很强大,但是也有一些限制:

  • 索引仅对新内容有效果:可以支持三个月内索引重建,耗费大量时间金钱
  • 日志系统可能存在不完整日志情况,不能过分依赖,对于类似审计这样的需求应该使用DB
  • 同上,日志可以输出良好的报表,但是对于系统消耗也比较大,对于一些订单详情,流量,可以选择接入bi系统来处理,并使用bi的OLAP库
  • 同时在何时时机对研发进行日志系统培训,让他们用好日志系统

日志存储周期

现在很多上了kubernetes和docker,像我们是没有kubernetes,但是用的docker,本地日志不再长期保存,并且现在的主机数量以及日志数量也是难以支持研发上机查询,所以我们本地只保存不到1G的日志,其他日志由阿里云直接采集走在日志服务上汇集。

阿里云日志是支持无限期存储的,目前我们有部分比较重要的日志选择了永久保存,并定期存储到阿里云oss。

对原有日志的改造

既然一些问题已经浮出浮出水面,那么我们需要安排研发进行修改,在研发人手不是那么充裕的条件下,我们选择循序渐进,即:日志问题始终提高警惕,新的日志按照新的研发规范进行,旧的日志,随时发现随时提,随时改,随着时间推移得到一个良性的日志系统。

本文强烈推荐使用阿里云日志服务

上云必备​www.aliyun.com
aa40753d7dbc09e327ecfa7ced9b5934.png
日志服务_实时日志分析系统_日志管理软件_网站日志分析工具 - 阿里云​cn.aliyun.com
aa40753d7dbc09e327ecfa7ced9b5934.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件项目管理的质量保证

软件工程项目管理是一个系统工程,软件工程项目管理的主要目标是保证项目在规定时间内高质量地完成。项目管理包括了项目组开发各阶段的人员结构的配置,质量控制的实施方略,内部文档和产品文档的组织编写等多项工作,其中质量控制方…

8 月份 Github 上最火的10篇 AI 论文!

文 | 天于刀刀不晓得各位同学在看论文的时候最关注的是什么?也许是论文的创新点,或是被引用的数量,还是...是不是自带代码!重要的事说三遍!复现,复现,还是复现!(ーー゛)为了方便各位…

LintCode 1859. 最小振幅(排序)

1. 题目 给定一个由 N 个整数组成的数组 A,一次移动,我们可以选择此数组中的任何元素并将其替换为任何值。 数组的振幅是数组A中的最大值和最小值之间的差。 返回通过执行最多三次替换之后数组A的最小振幅 示例 1 输入: A [-9, 8, -1] 输出: 0 解释&a…

小程序 webview 分享_新的一周,分享15个好玩的小程序

文/阿C 一周进步签约作者自小程序推出以来,由于其相对比APP而言,具有方便、轻巧、即用即走、不占内存的特性,受到广大追求效率(内存不足)星人的喜爱。不过随着小程序的发展,市面上的小程序开始有些滥竽充数、页面难看同时又极为无…

我的Blog不值钱

My blog is worth $0.00. How much is your blog worth? 呵呵,大家可以看看自己得Blogs值多少钱。转载于:https://www.cnblogs.com/Duiker/archive/2005/11/02/267011.html

中科大博士:我眼中的NLP最快学习路径

有人这样分类目前的人工智能:感知智能、运动智能、认知智能。在这三类智能里面,最复杂的也是人类所特有的认知智能,离不开自然语言处理技术的支持。虽然说自然语言的研究历史虽然还不是很长,但近些年在NLP知名核心企业&#xff08…

软件开发 thoughtworks 技术面_【软件开发】10月29日比赛详细预告

第三回软件开发专业比赛内容 软件需求分析与设计:需求识别、需求挖掘、评估、管理方法论以及业务、流程、场景的分析与建模等知识软件设计与开发;软件设计与开发:编程语言基础基础、数据库技术基础知识、程序开发技术、软件开发流程和工具使…

程序员面试金典 - 面试题 04.10. 检查子树(双重递归)

1. 题目 检查子树。你有两棵非常大的二叉树:T1,有几万个节点;T2,有几万个节点。 设计一个算法,判断 T2 是否为 T1 的子树。 如果 T1 有这么一个节点 n,其子树与 T2 一模一样,则 T2 为 T1 的子…

终于……我的游戏………简体版就要发布了!

喜讯!喜讯!!由软星科技(上海)有限公司研发、北京寰宇之星软件有限公司代理的《阿猫阿狗2》在广大玩家的引颈期盼中,即将在本月上市了! 美丽的田园生活温馨而宁静,淳朴的民风民情是每…

改了!教育部核准这所985高校更改简称!网友:华科大终于来了

源 | 募格学术到底叫“华中大”还是“华科大”?这个曾经无数次成为舆论焦点的难题终于有解了!8月31日,教育部网站发布《教育部关于同意华中科技大学章程部分条款修改的批复》、《教育部关于同意吉林大学章程部分条款修改的批复》、《教育部关…

deepfashion 深度学习_基于Alluxio加速混合云下的Intel Analytics Zoo开源深度学习平台...

本文描述了Alluxio如何在混合云环境中,加速oneAPI支撑的英特尔Analytics Zoo开源平台深度学习模型训练。本文会讨论有关新架构和工作流的细节,以及Alluxio的性能优势和基准测试结果。1.混合环境中的深度学习从架构演进到混合模式传统上,数据处…

程序员面试金典 - 面试题 04.06. 后继者(循环中序遍历)

1. 题目 设计一个算法,找出二叉搜索树中指定节点的“下一个”节点(也即中序后继)。 如果指定节点没有对应的“下一个”节点,则返回null。 示例 1: 输入: root [2,1,3], p 12/ \ 1 3输出: 2示例 2: 输入: root [5,3,6,2,4,…

使用ASP.net 2.0 的一些新特性

by:(fallseir.lee) 飞扬轻狂 使用masterpage 新建一个site 添加一个新的masterpage&#xff0c;the_one.master 打开 the_one.master 添加 默认title&#xff0c;meta 添加 全局控件 sitemap 添加 ContentPlaceHolder <?xml:namespace prefix o /><% Master Languag…

北大数学系毕业,放弃MIT offer,嫌月薪3万太多主动降薪…

文 | Alex(发自凹非寺)源 | 量子位出家十二载的北大数学天才柳智宇&#xff0c;如今下山还俗了。18岁时&#xff0c;他获得国际数学奥林匹克竞赛满分金牌&#xff0c;顺理成章地被保送到中国“第一学府第一系”&#xff1a;北京大学数学系。22岁&#xff0c;在获得MIT全额奖学金…

LeetCode 第 22 场双周赛(220/2041,前10.8%)

文章目录1. 比赛结果2. 题目LeetCode 5348. 两个数组间的距离值 easyLeetCode 5349. 安排电影院座位 mediumLeetCode 5350. 将整数按权重排序 mediumLeetCode 5351. 3n 块披萨 hard1. 比赛结果 做出来了前3题&#xff0c;第4题有点难&#xff0c;感觉是动态规划。 全国排名&a…

使用设备mac好还是随机mac好_省4000我给MBP16搭配了一块2T SSD:希捷 酷鱼飞翼 Fast SSD使用测评...

最近入手了MBP16&#xff0c;配置选择上纠结了一下。整体苹果的电脑后期基本没有什么升级的可能&#xff0c;所以选择了32G和1T的硬盘的配置。本身也想过硬盘是不是升级2T或者更高&#xff0c;但是想想每挑一格就是3000&#xff0c;腰包实在撑不起。我还是配合NAS和SSD级别的移…

修改终端服务器的最大连接数

1&#xff0e;明确终端服务的2种模式 ----Windows 2000终端服务有2种运行模式: 远程管理模式和应用程序服务器模式。远程管理模式允许系统管理员远程管理服务器&#xff0c;而且只允许2个终端会话同时登录终端服务器。应用程序服务器模式允许用户运行一个以上应用程序&#xff…

胡渊鸣:加一行import,让Python代码提速100倍!

文 | 丰色 发自 凹非寺源 | 量子位众所周知&#xff0c;Python的简单和易读性是靠牺牲性能为代价的——尤其是在计算密集的情况下&#xff0c;比如多重for循环。不过现在&#xff0c;大佬胡渊鸣说了&#xff1a;只需import 一个叫做“Taichi”的库&#xff0c;就可以把代码速度…

python3语音识别模块_『开源项目』基于STM32的智能垃圾桶之语音识别

大家好&#xff0c;我是『芯知识学堂』的SingleYork&#xff0c;前面给大家简单介绍了『开源项目』基于STM32的智能垃圾桶之成员简介&#xff0c;相信有很多小伙伴都已经忍不住跃跃欲试了&#xff0c;别着急&#xff0c;从这一篇开始&#xff0c;笔者将会带领大家一步一步来完成…

LeetCode 945. 使数组唯一的最小增量(贪心)

1. 题目 给定整数数组 A&#xff0c;每次 move 操作将会选择任意 A[i]&#xff0c;并将其递增 1。 返回使 A 中的每个值都是唯一的最少操作次数。 示例 1: 输入&#xff1a;[1,2,2] 输出&#xff1a;1 解释&#xff1a;经过一次 move 操作&#xff0c;数组将变为 [1, 2, 3]。…