前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >集中日志查询平台方案(Draft)

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

作者头像
阿新
发布2018-04-12 17:34:28
8720
发布2018-04-12 17:34:28
举报
文章被收录于专栏:c#开发者c#开发者

集中日志查询平台方案(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查询平台

第一阶段功能

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

第二阶段功能

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2008-09-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集中日志查询平台方案(Draft)
    • 目前面临问题
      • 方案介绍
        • 方案的优势
          • 日志规范定义
            • 传输日志扩展属性定义
          • 客户部署
            • 功能
            • 系统环境
            • 客户端配置
            • 配置步骤
            • 样列代码
          • 平台服务部署
            • 功能
            • 系统环境
            • 配置
          • Web查询平台
            • 第一阶段功能
            • 第二阶段功能
        相关产品与服务
        日志服务
        日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档