PowerBI从Exchange跟踪日志中分析数据和KPI展现
很多企业都有用Exchange Server来构建自己的企业邮箱,但做邮件统计的时候,自带的Exchange toolboxs总是不能很友好的展示出您想查询或统计的结果,要么就是借助的第三方的反垃圾网关设备来完成邮件的查询和统计,今天我将采用PowerBI Desktop来实现查询,统计和自己检索的功能,仅仅只是利用跟踪日志。
在这里我的环境是Exchange Server 2013,传输的日志默认在传输角色服务器Exchange安装所在盘符的如下位置
C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking
但这里只需要“MSGTRK+日期.log”文件
在这些日志文件中每一个字段表示什么含义,可以参考https://technet.microsoft.com/zh-cn/library/bb124375(v=exchg.160).aspx
如果您发现没有这些日志那么需要检查如下位置是否开启跟踪日志
接下来讲利用这些传输日志从多种维度来分析Exchange用户使用的情况,在这里我将MessageTracking目录复制到一个单独的位置,打开PowerBI获取文件夹为数据
在更多选项中选择文件——文件夹
选择文件夹所在位置
点击组合下的合并和编辑
点击确定
点击确定后会弹出一个编辑查询的对话框
勾选视图中的编辑栏
接下来在空白处右键新建查询——空查询,一个名为Var_LogFolder的文件化变量
设置E:\MessageTracking日志存放路径
并将这个查询1重命名为Var_LogFolder
回到MessageTracking表点击源进行设置,将文件获取路径改为空查询设定的变量名Var_LogFolder,这样变量名指向的跟踪日志所在目录位置,这样会自动加载跟踪日志所在目录的全部日志文件
接下来选择第一列,然后点击删除其他列
接下来合并二进制文件
然后双点合并好的二进制文件
接下来把后面的步骤都删除掉(点击红色的X删除)
接下来定义每一列的数据类型为文本
接下来删除最前面4行
输入4,确定
接下来将第一行用作标题
接下来选择第一列,将第一列的数据类型从文本改成日期/时间
接下来还是选择第一列,点击复制列
将复制到最后一列的标题重命名为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信息检索统计分析是不是很有用并且可以自己想怎么定制就怎么定制,神器啊~关键是只需要拿到跟踪日志即可分析。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
OpenTSDB 2.3+及TCollector 1.3+安装配置排错
其实不太想用opentsdb,一直以来用influxdb+grafana挺方便的,而且tsdb依赖hbase,虽说容量和速度有保证,但是分布式系统对于一个监控平台来说,终归还是有些重了,出问题定位更繁琐,但领导说用那就用吧。 在这里必须吐一下OpenTSDB和Tcollector的文档更新,太落后,看官方文档根本找不到配置文件的位置。最后还得看源码,尤其是TCollector,这个tsdb官方推出的数据采集器。不光文档落后,除了核心,周边辅助的代码也落后。而且插件方式设计的各种数据收集器太奇葩了,运行不了就狂报错。 安装tsdb还是比较方便的,找一台hbase的regionserver直接rpm就可以。主要是搞了tcollector以后排错,不过问题主要是在tcollector上,不赖tsdb。 不过tsdb装完以后,需要自己运行一个脚本叫create_table.sh来在hbase里创建tsdb需要的表。这块坑了我几分钟,安装官方文档的说法,创建表格时采用何种压缩方式并不重要,然后运行脚本,半个小时表都没创建起来,脚本默认会采用LZO方式选择压缩,就是建不起来,必须在命令行写env ...
- 下一篇
k8s原生的集群监控方案(Heapster+InfluxDB+Grafana)
k8s原生的集群监控方案(Heapster+InfluxDB+Grafana) Heapster+InfluxDB+Grafana简介heapster是一个监控计算、存储、网络等集群资源的工具,以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu、内存、network、filesystem等,然后将这些数据输出到外部存储(backend),如InfluxDB,最后再通过相应的UI界面进行可视化展示,如grafana。 另外heapster的数据源和外部存储都是可插拔的,所以可以很灵活的组建出很多监控方案,如:Heapster+ElasticSearch+Kibana等等。 Heapster的整体架构图 创建InfluxDB资源对象 #下载influxdb.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: monitoring-influxdb namespace: kube-system spec: replicas: 1 template: me...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- MySQL8.0.19开启GTID主从同步CentOS8
- Red5直播服务器,属于Java语言的直播服务器