这是一个基于微软官方的博客翻译的一个主题,最近发现了Log parse 这个工具真的不错,能够很方便的帮我们分析相关的问题。我们接下来的系列就是利用Log parse 工具来生成相应的报表或者分析出当前数据状况!
我们新来看下使用Log parse,log parse 是一个日志分析工具,他可以分析各类不同的数据日志,我是Exchange MVP 嘛,就用他分析Exchange 相关的日志,再次申明下,这些语句啊神马的都是来源于微软Exchange 官方博客。
我们来看看要求,默认来说我们可以在任何一台服务器上安装LOG PARSE,由于需要进行数据处理,我们建议在一台CPU速度够POWER的机器上执行这个操作。他的软件下载链接如下:
Log parse 2.2 http://www.microsoft.com/downloads/details.aspx?FamilyID=890cd06b-abf8-4c25-91b2-f8d975cf8c07&displaylang=en
如果我们需要生成相应的图表的话,我们需要安装两个如下的插件:
OUTLOOK 2003 WEB的插件: http://www.microsoft.com/downloads/details.aspx?FamilyID=7287252C-402E-4F72-97A5-E0FD290D4B76&displaylang=en
OUTLOOK 2003 SP2的插件: http://www.microsoft.com/downloads/details.aspx?familyid=C815DFFA-D5F3-4B71-BF46-13721BD44682&displaylang=en
上面的部分安装好了后,我们就需要将将相应的各台EX 日志放到你的这台日志分析服务器上面来分析了,关键我们要分析神马样子的日志呢?之前我们的那篇BLOG 已经提到了,大家可以去看看,我在这里继续把表格贴在这里:
Default Path
Protocol Logs (SMTP Send)
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpSend
Protocol Logs (SMTP Receive)
\Exchange Server\TransportRoles\Logs\ProtocolLog\SmtpReceive
Agent Logs
\Exchange Server\TransportRoles\Logs\AgentLog
IIS Logs
[Windows 2003] \Windows\System32\LogFiles\W3SVC1
[Windows 2008] \Inetpub\Logs\LogFiles\W3SVC1
Message Tracking Logs
\Exchange Server\TransportRoles\Logs\MessageTracking
POP3/IMAP Logs
\Exchange Server\ClientAccess\PopImap
Connectivity Logs
\Exchange Server\TransportRoles\Logs\Connectivity
Pipeline Tracing Logs
\Exchange Server\Transport Roles\Logs\PipelineTracing
Routing Table Logs
\Exchange Server\TransportRoles\Logs\Routing
MRM Logs
\Exchange Server\Logging\Managed Folder Assistant
接下来我们必须将这些数据拷贝到我本地的计算机上执行。
我们先来看看进入到组织内部的邮件的信誉度如何,我们就要看看组织内邮件的状况,我们可以执行如下的LOG PARSE 命令以数据表来分析进入组织内邮件信誉状况:
"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT CASE TO_INT(ReasonData) WHEN NULL THEN 0 ELSE TO_INT(ReasonData) END AS ReasonData2, count(*) AS hits INTO agentreasonspread.gif from C:\Progra~1\Microsoft\Exchan~1\TransportRoles\Logs\AgentLog\AGENT*.log GROUP BY ReasonData2 ORDER BY hits DESC" -i:CSV -nSkipLines:4 -o:CHART -chartType:PieExploded3D -chartTitle:"Agent Reason Spread" -e 200 -dtlines:600
我们执行LOG PARSE 之后,可以看到我们生成的表格如下:
我们能够查出当前分级的邮件量是多少,上面图表不是很直观,我们采用饼图来分析邮件量,我们可以采用如下的图进行直观的表现,需要运行如下的语句:
"C:\Program Files (x86)\Log Parser 2.2\logparser.exe" "SELECT CASE TO_INT(ReasonData) WHEN NULL THEN 0 ELSE TO_INT(ReasonData) END AS ReasonData2, count(*) AS hits INTO agentreasonspread.gif from C:\Progra~1\Microsoft\Exchan~1\TransportRoles\Logs\AgentLog\AGENT*.log GROUP BY ReasonData2 ORDER BY hits DESC" -i:CSV -nSkipLines:4 -o:CHART -chartType:PieExploded3D -chartTitle:"Agent Reason Spread" -e 200 -dtlines:600
如果大家看的懂SQL 语句,相信研究上面的语句都不是很难,关键点将数据转换成图片必须打的补丁必须打上!这里我们是把所有的数据转换成GIF 文件存放在命令执行的地方。我命令执行在Administrator 目录,我们去相应的地方寻找GIF 文件即可看出当前文件的状况:
我们看下相应的图,看下agent分级的值:
微软Windows操作系统在复杂负荷情况下的性能落后于Linux,这已是公认的事实。Linux内核发布了一个又一个新版本,我们能看到它不断改进 I/O调度、进程调度、文件系统优化,TCP/IP堆栈的无线网络优化,等等等等。
一位微软Windows NT内核开发者承认,Windows内核与Linux内核之间的性能差距正日益拉大。他通过Tor(原因显而易见)在Hacker News上匿名发帖(已经自行删除),指出问题的根源不是技术方面而是社会性的。
微软开发者几乎没人会为了自己为了荣耀而去改进内核,Linux世界的那些现象在微软这样的大企业不会发生。能指挥开发者改进特定条件下系统性能的人的动机通常是出于商业意图,而在商业上性能的重要性从来没有被认为攸关生死,所以改进系统性能没有正 式或非正式的程序。
微软在Windows XP SP3前开始关注安全是因为他们认为安全是商业目标的存在性威胁,而性能不是存在性威胁。内核不同组件的负责人对外部递交补丁一般都是充满敌意的,非提前计划的改变可能会影响原定目标,领导会生气,测试组也会生气,产品经理也会发怒。内核开发团队因此没有动机去接受外界递交的补丁。你总能找到理由说不,但很少有动机去说好的。而在Linux世界,如果能把某一功能的性能改进5%,你将会被万众瞩目。
最近在工作中学习了不少Linux方面的命令,比如vim的使用命令、find命令、rpm打包spec配置文件等等。
鸟哥私房才基础版给了我不少帮助,在这里感谢鸟哥。
遇到的其中一个问题是使用ubuntu12.04往公司的SVN上传一个目录,不过之前这个目录是从SVN下载下来的,更改了目录后需要删除原来的所有.svn目录。上网找了一下Linux下删除目录下所有.svn的方法,方法如下:
Linux下删除这些目录是很简单的,主要是使用了find工具,命令如下
find . -type d -name ".svn"|xargs rm -rf
或者
find . -type d -iname ".svn" -exec rm -rf {} \;
感觉Linux下的subersion客户端速度蛮快的,5.8G的目录花10多分钟就能下载到本地,但是使用Windows版本的SVN下载则至少半个小时以上吧。
有时可能需要在系统中查找具有某一特征的文件(例如文件权限、文件属主、文件长度、
文件类型等等)。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任
务,或许只是为了找出一个不知保存在什么地方的文件。F i n d是一个非常有效的工具,它可
以遍历当前目录甚至于整个文件系统来查找某些文件或目录。
F i n d命令的一般形式为:
find pathname -options [-print -exec -ok]
让我们来看看该命令的参数:
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的s h e l l命令。相应命令的形式为' c o m m -
and' {} \;,注意{ }和\;之间的空格。
-ok 和- e x e c的作用相同,只不过以一种更为安全的模式来执行该参数所给出的s h e l l命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
可以在终端下使用man find来查询find命令的相关参数。