博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PowerBI从Exchange跟踪日志中分析数据和KPI展现
阅读量:7007 次
发布时间:2019-06-28

本文共 3624 字,大约阅读时间需要 12 分钟。

很多企业都有用Exchange Server来构建自己的企业邮箱,但做邮件统计的时候,自带的Exchange toolboxs总是不能很友好的展示出您想查询或统计的结果,要么就是借助的第三方的反垃圾网关设备来完成邮件的查询和统计,今天我将采用PowerBI Desktop来实现查询,统计和自己检索的功能,仅仅只是利用跟踪日志。

在这里我的环境是Exchange Server 2013,传输的日志默认在传输角色服务器Exchange安装所在盘符的如下位置

C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking

但这里只需要“MSGTRK+日期.log”文件

在这些日志文件中每一个字段表示什么含义,可以参考

如果您发现没有这些日志那么需要检查如下位置是否开启跟踪日志

接下来讲利用这些传输日志从多种维度来分析Exchange用户使用的情况,在这里我将MessageTracking目录复制到一个单独的位置,打开PowerBI获取文件夹为数据

在更多选项中选择文件——文件夹

选择文件夹所在位置

点击组合下的合并和编辑

点击确定

点击确定后会弹出一个编辑查询的对话框

勾选视图中的编辑栏

接下来在空白处右键新建查询——空查询,一个名为Var_LogFolder的文件化变量

设置E:\MessageTracking日志存放路径

并将这个查询1重命名为Var_LogFolder

回到MessageTracking表点击源进行设置,将文件获取路径改为空查询设定的变量名Var_LogFolder,这样变量名指向的跟踪日志所在目录位置,这样会自动加载跟踪日志所在目录的全部日志文件

接下来选择第一列,然后点击删除其他列

接下来合并二进制文件

然后双点合并好的二进制文件

接下来把后面的步骤都删除掉(点击红色的X删除)

接下来定义每一列的数据类型为文本

接下来删除最前面4行

输入4,确定

QQ截图20180525125245.jpg

接下来将第一行用作标题

接下来选择第一列,将第一列的数据类型从文本改成日期/时间

接下来还是选择第一列,点击复制列

将复制到最后一列的标题重命名为Date

将total-bytes和recipient-count和Date这3列设置数据类型为整数

接下来将recipient-address设置为计数行

点击recipient-address旁边的符号,选择扩展到新行

选择第一列,执行删除错误

最后关闭并应用

等待加载完成

接下来就可以开始创建可视化视图了

先创建一个切片器,该切片器主要以日期为主

选择列表

在改切片器里开启全部和取消单选(允许多选)

接下来再创建一个堆积条形图,统计邮件总计数,message-id是计数(非重复)

选择为非重复

接下来再创建一个堆积柱形图,统计外发邮件总计

  • event-id是邮件事件类型,这个类型选择DELIVER表示邮件已传递到本地邮箱

同样的方法创建一个接收邮件排行榜,source是计数

  • source是负责事件的Exchange传输组件,这个类型选择STOREDRIVER表示事件源是来自本地邮箱服务器上提交的MAPI(如果您的单位Exchange绑定了多个邮件域名,那么sender-address这里是或关系)

接下来创建接收件总计大小,total-bytes是求和

  • total-bytes:以字节为单位的邮件总大小,包括所有附件;

  • event-id是邮件事件类型,这个类型选择DELIVER表示邮件已传递到本地邮箱

接下来创建内部用户发送邮件排行榜,message-id是计数(非重复)(如果您的单位Exchange绑定了多个邮件域名,那么sender-address这里是或关系)

  • sender-address:Sender: 头字段中指定的电子邮件地址,如果 Sender: 字段不存在,则为 From: 头字段中指定的电子邮件地址;

  • message-id:邮件头中 Message-Id: 头字段的值。如果 Message-Id: 头字段不存在或为空,则 Exchange 为其分配一个任意值。该值在邮件生存期内是常量。对于在 Exchange 中创建的邮件,该值的格式为 <GUID@ServerFQDN>,包括尖括号 (< >)。例如,<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com>。其他邮件系统可能使用不同的语法或值;

  • event-id是邮件事件类型,这个类型选择RECEIVE表示邮件由传输服务的 SMTP 接收组件接收或由分拣或重播目录发送(源:SMTP),或邮件已从邮箱提交至邮箱传输提交服务(源:STOREDRIVER)

接下来创建内部用户发送邮件总数(如果您的单位Exchange绑定了多个邮件域名,那么sender-address这里是或关系)

  • event-id是邮件事件类型,这个类型选择RECEIVE表示邮件由传输服务的 SMTP 接收组件接收或由分拣或重播目录发送(源:SMTP),或邮件已从邮箱提交至邮箱传输提交服务(源:STOREDRIVER)

  • message-id:邮件头中 Message-Id: 头字段的值。如果 Message-Id: 头字段不存在或为空,则 Exchange 为其分配一个任意值。该值在邮件生存期内是常量。对于在 Exchange 中创建的邮件,该值的格式为 <GUID@ServerFQDN>,包括尖括号 (< >)。例如,<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com>。其他邮件系统可能使用不同的语法或值;

  • sender-address:Sender: 头字段中指定的电子邮件地址,如果 Sender: 字段不存在,则为 From: 头字段中指定的电子邮件地址;

接下来创建外部用户对内发送邮件排行榜(如果您的单位Exchange绑定了多个邮件域名,那么sender-address这里是且关系)

  • event-id是邮件事件类型,这个类型选择RECEIVE表示邮件由传输服务的 SMTP 接收组件接收或由分拣或重播目录发送(源:SMTP),或邮件已从邮箱提交至邮箱传输提交服务(源:STOREDRIVER)

  • message-id:邮件头中 Message-Id: 头字段的值。如果 Message-Id: 头字段不存在或为空,则 Exchange 为其分配一个任意值。该值在邮件生存期内是常量。对于在 Exchange 中创建的邮件,该值的格式为 <GUID@ServerFQDN>,包括尖括号 (< >)。例如,<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com>。其他邮件系统可能使用不同的语法或值;

  • sender-address:Sender: 头字段中指定的电子邮件地址,如果 Sender: 字段不存在,则为 From: 头字段中指定的电子邮件地址;

接下来再创建一个外部用户对内发送邮件总数(如果您的单位Exchange绑定了多个邮件域名,那么sender-address这里是且关系)

  • event-id是邮件事件类型,这个类型选择RECEIVE表示邮件由传输服务的 SMTP 接收组件接收或由分拣或重播目录发送(源:SMTP),或邮件已从邮箱提交至邮箱传输提交服务(源:STOREDRIVER)

  • message-id:邮件头中 Message-Id: 头字段的值。如果 Message-Id: 头字段不存在或为空,则 Exchange 为其分配一个任意值。该值在邮件生存期内是常量。对于在 Exchange 中创建的邮件,该值的格式为 <GUID@ServerFQDN>,包括尖括号 (< >)。例如,<4867a3d78a50438bad95c0f6d072fca5@mailbox01.contoso.com>。其他邮件系统可能使用不同的语法或值;

  • sender-address:Sender: 头字段中指定的电子邮件地址,如果 Sender: 字段不存在,则为 From: 头字段中指定的电子邮件地址;

那么这个页面要暂时的都基本OK了,接下来我进行下美化和排版

按照这样的方法再创建其他页,例如发送和接受统计

按月统计

查询功能,可以看到自己输入查询关键字来对日志进行检索查询到您想看到的信息

比如我输入一个收件人地址,那么改收件人的所有主题和发送给谁的查询结果就显示在下面了,非常简单

这样定制化的Exchange信息检索统计分析是不是很有用并且可以自己想怎么定制就怎么定制,神器啊~关键是只需要拿到跟踪日志即可分析。

转载地址:http://kmvtl.baihongyu.com/

你可能感兴趣的文章
58进制转换工具
查看>>
ES6中的const,set,map,Symbol
查看>>
学习链接
查看>>
[06]项目实战-移动端流体布局
查看>>
2.TCP/IP的三次握手与四次挥手
查看>>
windows使用composer.phar
查看>>
Windows下安装MySQL.zip
查看>>
Net体系结构组件
查看>>
python学习之老男孩python全栈第九期_day001知识点总结
查看>>
修复Extjs6.x表格最后一列的列头无右边线的BUG
查看>>
用vector实现矩阵, vector传参必须用模板泛型
查看>>
C#socket客户端自己输入消息发送到服务端通信实现通信
查看>>
Linux 之dhcp服务搭建
查看>>
SQL语句练习(四)
查看>>
C# WebAPI设置跨域
查看>>
vue(3)--生命周期,组件传值---2019.5.22学习笔记
查看>>
linux下根据进程名字获取PID,类似pidof(转)
查看>>
真值和假值
查看>>
css简单动画
查看>>
MySQL教程
查看>>