zoukankan      html  css  js  c++  java
  • 集中日志查询平台方案(Draft)

    集中日志查询平台方案(Draft)

    随着公司业务系统之间的数据交换越来越多,系统间的整合越来越复杂,伴随而来的问题也越来越多,给运行维护,客服人员带来的很大压力。目前我们首先要解决的问题是快速定位问题发生的系统和异常信息,第一时间收集到系统必要异常信息和审计信息,第一时间反馈给运行维护和客服人员,第一时间让相关人员做出相应的处理。

    本方案将大致分3个阶段实施

    第一部分:将传输各个节点的异常信息采集到公共平台,通过一个Web界面提供客服人员查询和定位问题,并且可以实现邮件通知功能,计划一周内完成并交付使用。

    第二部分:Web查询平台加入简单的协作和事件跟踪功能,计划一周内完成

    第三部分:效果好的话,可以陆续将其他口岸通系统,EDAP等系统的日志采集到平台实现统一维护,并且进一步收集客服这边的需求逐步的完善和加强。

     

    目前面临问题

    1. 系统异常信息不能及时反馈出来.
    2. 知道有问题但是不能很快找到问题的根源.
    3. 同样的问题一直出现.
    4. 有些问题只能有固定的人员才能解决.

    尽管目前的方案还不能完全上述解决,但只希望用最快的速度和最低成本能为客服和维护人员提供一定的帮助。

    方案介绍

    本方案使用微软企业库日志应用程序块(以下称Logging application block),实现对每个系统的日志采集,通过MSMQ的发式发送到一个功能平台,公共平台利用企业库提供的MSMQ Distributor服务收集到业务系统的日志后保存到SQL数据库中,系统维护人员使用IE进行浏览和跟踪问题。

    总体实施技术方案如图表1

     

     

        MSMQ logging application block收集日志架构如图表 1

    图表 1

     

    方案的优势

    Logging application block是微软patterns & practices Team发布的一个应用程序块,是一个经过实践检验的产品

    使用logging application block规范和统一了开发过程对系统异常信息的处理

    快速开发,对程序员不需要知道过多底层操作,一切皆可灵活配置

     

    日志规范定义

    对于不同的应用客户端系统需要定义不同规则和必要的信息区分。

    LogEntry结构

     

    Name 

    Description 

    Default

    ActivityId  

    Tracing activity id  

    默认

    ActivityIdString

    Tracing activity id as a string to support WMI Queries  

    默认

    AppDomainName  

    The AppDomain in which the program is running

    系统势力名称

    Categories  

    Category name used to route the log entry to a one or more trace listeners.


    CategoriesStrings  

    Category names used to route the log entry to a one or more trace listeners. This readonly property is available to support WMI queries

    默认

    ErrorMessages  

    Gets the error message with the LogEntry  

    捕获的异常或是审计信息

    EventId  

    Event number or identifier.  

    默认

    ExtendedProperties  

    Dictionary of key/value pairs to record.  

    扩展的属性,可以根据应用中需要查询或判断的信息自己定义

    LoggedSeverity  

    Gets the string representation of the Severity enumeration.

     

    MachineName  

    Name of the computer.  

    默认

    ManagedThreadName  

    The name of the .NET thread.  

    默认

    Message  

    Message body to log. Value from ToString() method from message object.  

    捕获的异常或是审计信息

    Priority  

    Importance of the log message. Only messages whose priority is between the minimum and maximum priorities (inclusive) will be processed.

    优先级

    ProcessId  

    The Win32 process ID for the current running process.  

    默认

    ProcessName  

    The name of the current running process.

    默认

    RelatedActivityId  

    Related activity id  

    默认

    Severity  

    Log entry severity as a Severity enumeration. (Unspecified, Information, Warning or Error).  

    信息,警告,错误

    TimeStamp  

    Date and time of the log entry message.  

    默认

    TimeStampString  

    Read-only property that returns the timeStamp formatted using the current culture.

    默认

    Title  

    Additional description of the log entry message.  

    系统描述

    Win32ThreadId  

    The Win32 Thread ID for the current thread.  

    默认

     

    传输日志扩展属性定义

    NO 

    扩展属性

    描述

    1




    客户部署

    功能

    采集系统异常和审计信息通过msmq发送到平台。

    日志采集通过企业库Logging application block实现。

     

    系统环境

    .Net Framework 2.0以上

    Enterprise Library 4.0 - May 2008

    Microsoft.Practices.ObjectBuilder2.dll

    Microsoft.Practices.EnterpriseLibrary.Logging.dll

    Microsoft.Practices.EnterpriseLibrary.Common.dll

    客户端配置

    对于企业端传输的配置 Category Source(分类)名称统一使用CTS,同时使用Msmq TraceListener将日志发送到平台,和使用EventLog TraceListener写入本地的系统事件日志中,对于msmq TraceListener 需要使用Binary Formatter进行序列化

    配置步骤

    打开配置控制台

    修改或是创建一个应用程序配置文件,新增Logging application block

    新建一个msmq trace listener

    配置msmq队列属性

    将msmq tracelistener附加到Category Source下的General下

    样列代码

    建议在每个客户端应用调用Logging application block的Logger.Write()方法前自己先对Logger和LogEntry进行一次封装

     

     

     

    平台服务部署

    功能

    收集各系统发送过来的消息并且保存到数据和发送邮件通知给相关人员。

    系统环境

    .Net Framework 2.0以上

    Enterprise Library 4.0 - May 2008

    Microsoft.Practices.ObjectBuilder2.dll

    Microsoft.Practices.EnterpriseLibrary.Logging.dll

    Microsoft.Practices.EnterpriseLibrary.Common.dll

    Microsoft.Practices.EnterpriseLibrary.Logging.Database.dll

    Microsoft.Practices.EnterpriseLibrary.Data.dll

    配置

    安装数据

    运行源代码目录下E:\EntLib4Src\Blocks\Logging\Src\DatabaseTraceListener\Scripts 运行CreateLoggingDb.cmd 安装数据库

    注册服务

    打开Visual Studio命令行工具,切换到目录(默认的企业库安装路径)C:\Program Files\Microsoft Enterprise Library 4.0 - May 2008\Bin下,运行如下命令:

    installutil /i MsmqDistributor.exe

    修改配置,打开安装目录下MsmqDistributor.exe.Config 文件,修改接收队列的路径

     

    配置日志数据库

    新增一个Data access application block,新增一个Database trace listener然后将database trace listener挂到要接收的分类下面。

    Web查询平台

    第一阶段功能

    分类查询日志信息,发现问题

     

    第二阶段功能

    加入对异常的处理结果和统计功能

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    UNIX网络编程——客户/服务器程序设计示范(六)
    UNIX网络编程——客户/服务器程序设计示范(五)
    UNIX网络编程——客户/服务器程序设计示范(四)
    UNIX网络编程——客户/服务器程序设计示范(三)
    UNIX网络编程——客户/服务器程序设计示范(二)
    UNIX网络编程——客户/服务器程序设计示范(一)
    iphone使用技巧
    iphone使用技巧
    老码农教你学英语
    string.format()
  • 原文地址:https://www.cnblogs.com/neozhu/p/1301512.html
Copyright © 2011-2022 走看看