淮南专业网站建设网站建设者

diannao/2026/1/17 12:29:29/文章来源:
淮南专业网站建设,网站建设者,网站内容创造,上海浦东哪里有做网站的公司日志系统设计 2009-12-11 00:46:58| 分类#xff1a; 技术 | 标签#xff1a; |字号大中小 订阅 一、重要性日志系统在整个系统架构中的重要性可以称得上基础的基础#xff0c;但是这一点#xff0c;都容易被大多数人所忽视。因为日志在很多人看来只是printf。在系…日志系统设计   2009-12-11 00:46:58|  分类 技术 |  标签 |字号大中小 订阅 一、重要性 日志系统在整个系统架构中的重要性可以称得上基础的基础但是这一点都容易被大多数人所忽视。因为日志在很多人看来只是printf。在系统运行期间是很难step by step的所以只能根据系统的运行轨迹来推断错误出现的位置这往往也是唯一的资料特别是在高可靠性的情况下。 从更大方面的范围来说日志系统是运营维护的范畴。但小的方面来说这是必须的调试的手段。在多年的开发经验来看日志系统必须被我们重视的。 二、解决问题 日志系统的主要解决的问题是记录系统的运行轨迹在这个基础上进行跟踪分析错误审计系统运行流程。在高可靠的系统中是不允许系统运行终止的。日志系统的内容可以分为2类一类可是业务级别的日志主要供终端用户来分析他们业务过程另一类是系统级别的日志供开发者维护系统的稳定。 由于日志系统的数据输出量比较大所以不能不考虑对整个系统性能的影响。从另外一方面来看海量的日志内容有时候并不件好事因为很容易覆盖真实问题的蛛丝马迹。也增加日志阅读者信息检索的困难。 日志系统的设计必须解决几个问题 1、使用方便包括开发和信息检索。 2、组织合理日志内容被有效的组织起来。有助于基于日志内容的分析。 3、过程重现这个目标其实对开发者来说是最重要的。基于日志的分析最重要的是重现当时运行的过程。 4、可控制性允许用户进行干预特别是运行期的干预。比如关闭某些内容或者重定向内容的输入目标点。 三、系统构成 一个日志系统根据他的过程可以分为日志来源系统控制日志输出【日志存储】。根据这个过程我们可以将整个系统分为4个模块并加以抽象。 1、日志来源 日志内容可以来源于任何其他系统但对日志系统来说这是个格式化的缓冲区。对于日志系统来说任何内容都是合法的。最重要的是日志系统必须提供一个简单的规则为后续的管理和检索提供方便性和灵活性。在传统的printf格式中是很难维护一个格式化的日志输出。文本方式对人来说阅读方便但不容易检索特别是在大量日志的情况下更不好维护了。 2、日志控制 系统控制的重点在于控制日志内容在日志系统中的流转过程。比如日志输出目的地比如日志的输出级别。我们在apache的Logging项目中曾经看到他们提供了一个和平时不太一样的输出目的地telnet。这和传统的stdout、stderr、syslog有很大的区别便于远程管理更大的潜力在于可以在运行期通过登录telnet来动态调整系统环境配置。 3、日志输出 日志在控制台输出是比较常见的但如何考虑为系统的可靠性提供支持以及大量日志内容的情况下这个一般不予考虑的。在控制台输出的只会是非常核心的内容或者是致命的错误况且在有些情况下不一样会有控制台。我们一般在这种情况下都倾向于将日志输出到文件。但对一个完善的日志系统日志输出和日志存储又是有区别的。日志存储是日志输出到文件的一种方式。日志输出也是日志控制的一个内容。 4、日志存储 日志存储在很多小型系统往往并不需要关注一个可靠性要求很高的系统中对日志存储却是极为苛刻。就是在现在的数据库系统中也必须依赖日志的存在来还原操作。 四、日志内容 1、内容分级 在LINUX的SYSLOG中对日志内容进行分级将分为8个级别如下 #define LOG_EMERG 0 /* system is unusable */ #define LOG_ALERT 1 /* action must be taken immediately */ #define LOG_CRIT 2 /* critical conditions */ #define LOG_ERR 3 /* error conditions */ #define LOG_WARNING 4 /* warning conditions */ #define LOG_NOTICE 5 /* normal but significant condition */ #define LOG_INFO 6 /* informational */ #define LOG_DEBUG 7 /* debug-level messages */ 这样我们只需要设置一个全局变量监控日志内容输出级别。当产生日志内容的级别比输出级别更优先时将被记录下来否则被简单的忽略。这种方式很容易控制日志的输出内容。在WIN32平台下有分类的功能但是没有分级。但实际上也有个问题就是只能控制一个输出范围如果想只输出特定类的日志内容在策略上还是比较麻烦的。 2、内容分类 在LINUX的SYSLOG中不但对日志内容有分级同样也有分类主要是根据日志内容的来源如下 #define LOG_KERN (03) /* kernel messages */ #define LOG_USER (13) /* random user-level messages */ #define LOG_MAIL (23) /* mail system */ #define LOG_DAEMON (33) /* system daemons */ #define LOG_AUTH (43) /* security/authorization messages */ #define LOG_SYSLOG (53) /* messages generated internally by syslogd */ #define LOG_LPR (63) /* line printer subsystem */ #define LOG_NEWS (73) /* network news subsystem */ #define LOG_UUCP (83) /* UUCP subsystem */ #define LOG_CRON (93) /* clock daemon */ #define LOG_AUTHPRIV (103) /* security/authorization messages (private) */ #define LOG_FTP (113) /* ftp daemon */ 在WIN32平台下的事件管理器也是有相应的功能只是有部分区别。WIN32的系统日志被分为安全性、应用程序、系统等几类。每类都有几个固定的字段日志内容是以文本方式被保存的。分类的主要依据也是日志内容的来源。 3、内容格式 虽然内容的分级和分类在很大的程度上对日志内容进行归类但这远远不够。这个规则的粒度相当粗糙。也就是说针对特定级别特定类的日志内容也会是相当地庞大。因此有必要针对日志内容在更小粒度的划分就是内容格式的设计。内容格式的设计上有个很致命的问题就是内容的多样性很难用一个统一的格式来限定内容输出。对于动态内容的格式话其实我们也有几个现成方案值得借鉴。 首先、XML在格式化多样性内容方面具有相当大的灵活性不过他也有个致命的弱点就是解析内容时具有相当大的时间复杂度。 其实、TDS协议是SYBASE数据库在输出DBMS结果给客户端时数据流的格式。他允许在一个流中存在不同类表的数据比如多个不同结果字段的游标。在灵活性方面不如XML但速度要快于XML。 最后、每个内容块都遵循同样的格式这种方式灵活性最差但要简单多了。整个日志内容相当于一个固定结构的表。 从笔者的角度出发倾向于以TDS的格式为基础引进XML的某些特性来设计出一个内容格式。 4、内容边界 日志系统可能需要将各种各种格式的日志内容统一存储在一起这些内容同样可能是不同的大小因此我们需要确认每个内容边界否则极有可能混淆每个内容的确切内容。内容边界是日志系统设计的一个最基本细节否则这个日志系统将是不可能。没法确切区分每个日志内容后续的分析就没法是实现了。内容边界的设计在日志存储系统之前就必须是明确的。 五、日志控制 1、控制目标 日志系统要控制的目标包含整个日志内容流转的过程。对日志来源的控制一般着重于对日志内容的过滤。上面对内容进行分级、分类、制定格式一个最重要的原因就是对日志内容的过滤。对日志输出控制主要着重于输出目的比如是文件还是SYSLOG以及诸如此类。 日志控制是日志内容流转过程中的一个强化功能。一般来说越多的日志内容对系统跟踪分析更有利但更多的内容就越增加分析的难度。所以我们需要通过日志控制这个功能来进行平衡。 2、来源控制 一个最明显的例子为了方便调试可能需要在系统中增加调试信息在正在发布中这些是不需要。所以在很多系统发布版本中都要区分发布版和调试版。如果增加了来源控制系统那么这些事情就简单多了。我们只要将这些信息简单地分级分类。通过一个逻辑控制将不需要的给过滤掉。前面的分级分类的工作在这个时候就会发挥很大的作用。 在wireshark原来的ethereal允许自己编辑过滤条件。POSIX的正则表达式也是个很好的设置过滤条件工具。过滤是来源控制功能的一个很重要的工作。实际上内容在来源上已经产生只是没有到达或者说没有必要到达到输出目的地。 3、输出控制 输出控制是日志控制的一个重要工作但是这个工作和日志输出会有个概念重合的地方。控制只是负责按规则解释这个内容究竟是否需要输出至于输出的具体内容其实和他已经没有什么关系了。 六、日志输出 日志输出有两个重点功能就是输出什么样以及往哪里输出。 1、输出格式 输出格式是解释内容是什么样的工作printf的格式串是很明显的例子。但是一个强大的日志系统可能更为复杂比如DBMS的日志系统。格式问题往往在日志检索中或者日志分析中体现出巨大的作用。在通常的使用中还是要依赖于分级和分类。不过格式的使用针对日志内容级别的检索和分析将更为有用。 2、输出目标 输出目标通常为文件控制台syslog在apache logging项目中还有个telnet。在文件和syslog作为输出目标时其实和存储已经很相似了。往哪个目标输出是输出控制的功能不过每个目标输出内容应该如何输出就是日志输出的工作了。 3、telnet telnet作为输出目标是很少见因为他比较复杂不过因为他功能强大所以在大型服务器中是非常需要的。在这里必须着重提醒一下。apache logging项目专门有个功能。telnet配合日志控制允许在运行期得到更为详细的功能供调试。这是个很重要的特性他提供了在运行期和系统进行交互的一个手段。 七、日志存储 日志存储其实是日志输出的一部分不过是日志输出中一个很特别的部分。日志输出可能没有IO操作只在内存中完成操作但是日志存储是必须存储到物理磁盘中。这个特性就会涉及到一个效率问题。我们知道IO操作和内存操作的性能级别不是一个数量级的。当日志系统涉及到存储时就必须考虑到性能问题。当大量的数据频繁地被写入到磁盘中性能问题就更为严重。必须采取更有效的措施来避免写盘操作对其他系统的影响。 原文转自http://blog.csdn.net/romandion/archive/2007/11/10/1877189.aspx

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

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

相关文章

怎么样提高网站排名织梦cms视频网站建设

题目描述: 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的…

有哪些营销型网站国外界面设计网站

随着AI模型的发展,模型的结构也变得越来越复杂,理解起来越来越困难,这时候能够画一张结构图就好了,就像我们在开发过程中用到的UML类图,能够直观看出不同层之间的关系,于是Netron就来了。 Netron支持神经网…

自己电脑上做的网站 怎么让别人看邯郸信息港人才招聘

在硅谷一线大厂所维护的系统服务中,我们经常可以看见SLA这样的承诺。 例如,在谷歌的云计算服务平台Google Cloud Platform中,他们会写着“99.9% Availability”这样的承诺。那什么是“99.9% Availability”呢? 要理解这个承诺是…

网站界面设计形考对网站做数据统计的目的是什么意思

《公共行政学(专科)》作业 一、单选题 1.“政治与行政二分”最早的提出者是( )。 A.凯恩斯 B.布坎南 C.韦伯 D.威尔逊 2.新公共管理运动肇始于( )。 A.英国 B.美国 C.德国 D.新西兰 …

珠海做网站价格百度商桥在网站

写什么呢前段时间使用 C# 写了个项目,使用 Kubernetes API Server,获取信息以及监控 Kubernetes 资源,然后结合 Neting 做 API 网关。体验地址 http://neting.whuanle.cn:30080/账号 admin,密码 admin123本篇文章主要介绍&#xf…

顺营销官方网站使用wordpress在ec2上建网站

经济学(六) 国际贸易与资本流动国际贸易相关术语开放/封闭经济自由贸易/贸易保护贸易比价国内生产总值与国民生产总值 国际贸易的利弊分析益处弊端 从贸易中获益:比较优势比较优势和绝对优势比较优势的来源 贸易限制和贸易保护施行贸易保护政…

电子商务网站调研上犹网站建设

三年前,我们宣布了该框架的第二个公开可用的主要版本。 CUBA 6是改变游戏规则的版本–许可从专有转为Apache 2.0。 那些日子,我们甚至无法猜测从长远来看它将把框架带到哪里。 CUBA社区开始呈指数级增长,因此我们了解了开发人员如何使用框架的…

网站建设首选易网宣建设网站的模板

编写一个程序,通过已填充的空格来解决数独问题。 一个数独的解法需遵循如下规则: 数字 1-9 在每一行只能出现一次。 数字 1-9 在每一列只能出现一次。 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 空白格用 ‘.’ 表示。 Note: 给定的数独序…

厦门微信网站建wordpress更换主题帖子封面不显示

🌈个人主页:程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

百度竞价关键词价格查询工具seo多久可以学会

河流分级法的分级方法是从源头最小河流开始,称为一级河流;两条一级河流汇合成二级河流;以此类推,三级河流等等;最后是干流。本文将介绍中国三级及以上河流数据。 数据简介 1:100万中国三级及以上河流矢量数据是涵盖了全国范围内三级及以上级别河流的详细地理信息和空间分布。这…

尧都区建设厅官方网站互联网保险发展现状分析

创建自动化云端流,流的触发器选择第一个提交新回复时 点击蓝色的Change connection,登录创建Microsoft Forms表单的账号 选择提前创建的表单;如果想连接其他账号创建的Microsoft Forms表单,可以再次点击蓝色的Change connection&a…

高端医疗网站模板免费下载用人名做网站域名

在软件测试行业,CNAS认可和CNAS软件测试公司是不可忽视的关键词。CNAS认可是指中国合格评定国家认可委员会对特定领域组织、机构或公司的能力和资质进行的认可过程。该认可遵循国际标准及相关法律法规,是评定组织或实验室技术能力和专业水平的权威认可&a…

电子商务网站开发需要注意问题上海app开发定制公司

简介: LSM-Tree 是很多 NoSQL 数据库引擎的底层实现,例如 LevelDB,Hbase 等。本文基于《数据密集型应用系统设计》中对 LSM-Tree 数据库的设计思路,结合代码实现完整地阐述了一个迷你数据库,核心代码 500 行左右&#…

湘潭网站制作公司专门做捷径网站

C# 8 is old news. Onward, to C# 9! (C# 8 已成旧闻, 向前, 抵达 C# 9!)Did you know that planning is already underway for the ninth version of the C# language?第九版 C# 语言已经在开发中了, 你晓得伐?Now, to be fair, this has been in the planning phases long,…

哪家企业网站建设好网页设计教程新加坡校友会

检测内容: 五金轴尺寸机器视觉测量 检测要求: 精度0.015mm,速度180~240个/分钟 视觉可行性分析: 对样品进行了光学实验,并进行图像处理,原则上可以使用机器视觉系统进行测试测量。 结果: 对…

合肥专业做网站的公司一个人做电商网站难吗

PaddleOCR.Onnx一款基于Paddle的OCR,项目使用ONNX模型,速度更快。本项目同时支持X64和X86的CPU上使用。本项目是一个基于PaddleOCR的C代码修改并封装的.NET的工具类库。包含文本识别、文本检测、基于文本检测结果的统计分析的表格识别功能,同…

河南省城乡和住房建设厅网站网站建设优点

有的时候我们在Windows7的环境下使用Wireshark的时候,比如点击【Interface List】的时候,出现错误。 错误内容如下: There are no interfaces on which a capture can be done. 这个错误是因为系统没有启动NPF服务造成的。 解决的办法很简单&…

linux系统怎么做网站如何做自己的网站后台

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。 实例: redis 127…

做网站活动成都网站制作关键词推广排名

Linux swapoff命令Linux swapoff命令用于关闭系统交换区(swap area)。swapoff实际上为swapon的符号连接,可用来关闭系统的交换区。语法swapoff [设备]参数:-a 将/etc/fstab文件中所有设置为swap的设备关闭-h 帮助信息-V 版本信息实例显示分区信息:# sfdi…

广州网站建设方案案例个人可以做商城网站

2023年上半年,ChatGPT引起了广泛的热议,对于ChatGPT有多热,不需要我重复了,你可能在网上看到了很多报道,标题如《ChatGPT揭开AI战幔:杀死黄页一样摧毁Google?》和《ChatGPT强势来袭,…