Bootstrap

Logman命令详解

转自:http://blog.sina.com.cn/s/blog_13ad23d530102vqum.html

在本地和远程系统上,管理和调度性能计数器和事件跟踪日志。

语法动词

Logman [create {counter | trace} collection_name ] [start collection_name] [stop collection_name] [delete collection_name] [query {collection_name|providers}] [update collection_name]

MS-DOS命令参数

create {counter | trace} collection_name

创建对计数器或跟踪收集的收集查询。可以使用命令行选项指定设置。

start collection_name

开始数据收集查询 collection_name。使用该选项将计划收集更改为手动收集。在命令行中“update”参数,诸如开始时间 (-b),终止时间 (-e) 或重复时间 (-rt) 来重新调度集合。

stop collection_name

停止数据收集查询 collection_name。使用该选项将计划收集更改为手动收集。在命令行中“update”参数,诸如开始时间 (-b),终止时间 (-e) 或重复时间 (-rt) 来重新调度集合。

delete collection_name

删除数据收集查询 collection_name。如果 collection_name 不存在,则会收到错误消息。

query {collection_name|providers}

如果未指定 collection_name 或 providers,则显示所有现有收集查询的状态。使用 collection_name 显示特定集合的属性。要在远程计算机上显示属性,请使用命令行中的 -s remote computer 选项。使用 providers 作为关键字代替 collection_name,以便显示本地系统上已安装的注册提供程序。要列出远程系统上已安装的注册提供程序,请使用命令行中的 -s 选项。

update collection_name

更新对计数器或跟踪收集的收集查询。对于计数器收集,对查询的修改会终止并重新开始收集。对于跟踪收集,在命令行中使用如下参数,以便在不停止收集的情况下进行查询:-p provider [(flags[,flags ...])] Level, - max n, - o PathName, -ft mm:ss, or -fd.

语法选项

[-s computer_name] [-config FileName] [-b M/d/yyyy h:mm:ss[AM | PM]] [-e M/d/yyyy h:mm:ss[AM | PM]] [-m [start] [stop]] [-[-]r] [-o {Path | DSN!counter_log}] [-f {bin | bincirc | csv | tsv | SQL}] [-[-]a] [-[-]v [{nnnnn | mmddhhmm}]] [-[-] rc [FileName]] [-[-] max {value}] [-[-]cnf [[[hh:]]mm:]ss] [-c {Path [path ...] | -cf FileName}] [-si [[hh:]mm:]ss] [-ln logger_name] [-ets] [-[-] rt] [-p {GUID | provider [(flags [,flags...]}] Level | -pf FileName}] [-[-] ul] [-bs value] [-ft [[hh:]mm:]ss] [-nb min max] [-fd logger name] [-[-]u user password] [-rf [[hh:]mm:]ss] [-y] [-mode {trace_mode [trace_mode ...]}]

MS-DOS命令参数

-s computer_name

指明创建、开始、停止、删除、查询或更新命令操作将在远程系统上执行。默认情况下,这些命令用于本地系统。

-config FileName

指定包含命令行参数的设置文件的路径名。

-b M/d/yyyy h:mm:ss[AM | PM]

以 24 小时格式指定收集开始时间。通过在命令行添加 AM 或 PM,可以使用 12-小时格式指定收集开始时间。除非指定时间,否则默认情况下,使用当前日期和时间。使用手动开始选项立即开始收集。

-e M/d/yyyy h:mm:ss[AM | PM]

以 24 小时的格式指定收集结束时间。通过在命令行添加 AM 或 PM,可以指定 12 小时格式的收集结束时间。除非指定时间,否则默认情况下,使用当前日期和时间。使用手动停止,然后使用重复选项,在当前实际时间之前指定停止时间,否则会接收到错误消息。

-m start stop

通过在命令行中使用 start 和 stop 参数,手动指定开始和停止收集。不能在同一查询的命令行中一起使用 -m start 和 -b 或 -m stop 和 -e 或 -rf 参数。

-r

按照 -b 和 -rf 选项或 -b 和 -e 选项指定的时段每天重复收集查询。此命令只对在同一天、同一月和同一年中指定的开始时间和结束时间有效。

--r

关闭重复选项。

-o Path | DSN!counter_log

指定收集性能计数器和跟踪数据或 SQL 数据库和数据集位置的输出文件的路径名。要使用 DSN!counter_log 格式指定 SQL,请在命令行中使用 -f 选项。默认情况下,收集日志文件的名称是在收集查询名称前加上前缀 .blg(对于性能计数器)或 .etl(对于跟踪数据)。

-f {bin | bincirc | csv | tsv | SQL}

指定用于收集性能计数器和跟踪数据的文件格式。收集性能计数器时,可以使用二进制、循环二进制、逗号和制表符分隔或 SQL 数据库格式。必须在带 DNS!counter_log 选项的命令行中使用 -o 选项。对于 SQL 数据库格式,必须预定义数据库系统名称 (DSN),并且必须授予写入数据库的特权。数据集 counter_log 是在数据库中创建的,并由 DSN 指定。默认设置为二进制。

-a

可使用该选项追加文件。

--a

关闭追加命令选项,并回复到覆盖模式。

-v {nnnnn | mmddhhmm}

将版本控制信息添加到输出文件和路径名称的末尾。在版本控制中使用 nnnnn 数值格式或日期格式 mmddhhmm(月、日、24-小时、分钟)。

--v

关闭版本选项。

-rc FileName

指定在结尾关闭文件后或在收集期间运行此命令。将 -rf 选项与 -cnf 联合使用以便在收集期间关闭文件。使用 -stop 选项将会导致无法关闭此命令。命令总是在前台运行。

--rc

关闭运行此命令选项。

-max value

指定所集合的日志文件的最大值(兆字节)。如果日志文件的大小超过了该最大值,则集合将会停止。对于 SQL 数据库而言,其最大值即是可写入的记录数。

--max

关闭最大大小限制选项。这是默认选项。

-cnf [[hh:]mm:]ss

输出文件超过最大大小时或指定的时间已过去时,创建新文件。执行此命令时必须使用 -v 选项。默认情况下,每次收集期间只创建一个日志文件。

--cnf

关闭创建新文件选项。

-c {Path [path ...] | -cf FileName}

为日志指定性能计数器路径,或指定列出这些计数器的日志文件的路径名。要列出多个计数器路径,请使用空格分隔命令行,或者使用 -cf 选项在输入文件中列出计数器路径(每行记录一个)。

计数器路径的通用格式如下:[\\Computer]\object[parent/instance#index]\counter] where:

父节点、实例、索引和格式的计数器组件可以是有效名或通配符。不是所有计数器都必须具有计算机、父节点、实例和索引组件。

可以根据计数器本身决定计数器路径。例如,LogicalDisk 对象具有事例 index,所以必须提供 #index 或通配符。因此,可以使用如下格式:

\LogicalDisk(*/*#*)\*

相对而言,Process 对象不需要事例 index。因此,可以使用如下格式:

\Process(*)\ID Process

可用格式列表如下:

  • \\machine\object(parent/instance#index)\counter
  • \\machine\object(parent/instance)\counter
  • \\machine\object(instance#index)\counter
  • \\machine\object(instance)\counter
  • \\machine\object\counter
  • \object(parent/instance#index)\counter
  • \object(parent/instance)\counter
  • \object(instance#index)\counter
  • \object(instance)\counter
  • \object\counter

如果在父节点名称中指定了通配符,则将返回指定对象的所有与指定事例和计数器域匹配的事例。

如果在事例名称中指定通配符,则将返回指定对象和父节点对象中的所有事例(如果指定索引相应的所有事例名称与通配符匹配)。

如果在计数器名称中指定通配符,则将返回指定对象的所有计数器。

不支持部分计数器字符匹配。

-si [[hh:]mm:]ss

按小时、分钟和秒指定性能计数器集合的范例间隔。默认值是 15 秒。

-ln logger_name

指定事件跟踪记录会话的用户自定义名称。默认情况下,集合名称用作记录器名称。

-ets

通过命令行上指定的选项创建和开始事件跟踪会话。通过 create trace、update、query 和 delete 参数,使用此可选参数。

-rt

指定事件跟踪会话以实时模式运行,并不记录到文件。默认情况下,数据记录到文件。

--rt

关闭实时记录选项。

-p {GUID | provider [(flags[,flags ...])] Level] | -pf {FileName}

指定用于跟踪数据收集的提供程序(跟踪数据收集程序)。使用 logman 查询提供程序从注册提供程序列表查找 pname(提供程序名)。使用 -pf 选项列出多个提供程序。-pf 选项识别包含提供程序名称的输出文件。提供程序名称由引号 ("") 引起来,或者带有由括号、标志掩码和整数(启用级别)包括起来的 GUID。标志为十六进制 (OXFFFF) 或 (flag, flag) 格式。

-ul

指定以用户模式运行事件跟踪会话。如果使用 -ul 选项,则只能为事件跟踪会话启用一个提供程序。

--ul

指定关闭用户模式,并以内核模式运行事件跟踪会话。

-bs value

指定跟踪事件收集的缓冲大小(以 n 千字节表示)。

-ft [[hh:]mm:]ss

按分和秒指定用于跟踪数据收集的刷新计时器间隔。

-nb min max

指定跟踪数据收集的缓冲区的最小值和最大值。最小默认值是系统上处理器的数目加 2。最大默认值是 25。

-fd logger_name

将现有事件跟踪会话的所有活动缓冲区转储到磁盘。与 -ln 选项一起使用此选项。

-u user password

指定收集查询在本地或远程系统上使用的帐户名和密码。要开始收集用于收集查询的数据,请将“性能日志和警报”记录到远程系统。可以在命令行中将 * 用作密码,以便产生密码提示符。

--u

重新设置访问“性能日志和警报”服务帐户的帐户名。

-rf [[hh:]mm:]ss

指定收集在规定时段中运行。

-y

覆盖收集名称的设置,然后在不查询最终用户的情况下应用新设置。

-mode {trace_mode [trace_mode ...]}

只在 trace_mode 是 globalsequence、localsequence 或 pagedmemory 时,才指定跟踪会话的高级选项。Globalsequence 指定事件跟踪程序向其接收到的每个事件添加序列号,而不管是哪个跟踪会话接收到事件。Localsequence 指定事件跟踪程序为特定跟踪会话期间接收到的事件添加序列号。使用 localsequence 选项时,所有会话中可以存在重复序列号,但在每个跟踪会话内必须是唯一序列号。Pagedmemory 指定事件跟踪程序将在内部缓冲区分配中使用页面内存池,而不是使用默认的非页面内存池。

/?

在命令提示符显示帮助。

MS-DOS命令注释

  • 命令行动词 create、update、start、stop、delete 以及 query 的有效选项是:

    -s remote machine name

    -[-]u Domain/username password

  • create 和 update 的有效选项以及 counter 和 trace 的常用选项是:

    -y

    -b M/d/yyyy h:mm:ss [AM|PM]

    -e M/d/yyyy h:mm:ss [AM|PM]

    -rf hh:mm:ss

    -m start stop

    -f bin|bincirc

    -r

    -o PathName

    -[-]a

    -[-]v nnnnn|mmddhhmm

    -[-]rc command pathname

    -[-]max n

    -[-]cnf hh:mm:ss

  • 只有 counters 的常用选项是:

    -f bin|bincirc|csv|tsv|SQL

    -o PathName | DSN!counter_log

  • create counter 的常用选项是:

    -c counterpath | -cf input file

    -si [[hh:]mm:]ss

    这些选项更新计数器,并将停止和开始收集。

  • 用于跟踪收集的 update 的选项:

    /n/

    - o PathName

    -ft mm:ss

    -fd

    这些选项将在不停止收集的情况下查询跟踪收集。

  • 只使用 counters 的有效选项是:

    -f bin|bincirc|csv|tsv|SQL

    -o PathName | DSN!counter_log

  • 使用 create counter 命令的有效选项是:

    counterpath | -cf input file

    -si hh:mm:ss

  • 使用 create trace 命令的有效选项是:

    -ln logger name

    -[-]rt

    -p Guid | provider (flags[,flags ...]) level | -pf FileName

    -[-]ul

    -bs n

    -ft mm:ss

    -nb min max

    -fd logger name

    -ets

  • 使用 -config 选项

    与 -config 选项一起使用的设置文件的内容应具有如下格式:

    [command_option]

    value

    其中 command_option 是命令行选项,然后在 value 指定其值。例如:

    [create]

    counter logx

    -s

    mysystem

    -u

    mypassword

  • 使用 -mode 选项

    如果是高级用户,应该只使用此选项。

  • 管理性能监视器

    只能使用 Logman 来管理运行 Windows 2000 或 Windows XP 的系统。

  • 有关如何将 Logman 合并到 Windows 管理工具 (WMI) 脚本中的详细信息,请在 Microsoft 资源库网站上参阅“脚本日志和监视”。(http://www.microsoft.com/) https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/logman-create-counter

MS-DOS命令范例

下列范例中的日期格式仅适用于美国本地时间。

要通过开始时间和结束时间、重复收集、版本控制号、计数器路径以及范例间隔来创建日常计数器收集查询,请键入:

Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15 -o "c:\perflogs\daily_log"

要通过开始时间和结束时间、重复收集、输出文件收集、版本控制号、计数器路径以及范例间隔来创建日常收集查询,请键入:

Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -o "c:\perflogs\daily_log" -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15

要使用配置文件而不是命令行文件来创建日常收集查询,请键入:

Logman -config file daily_perf.txt

要通过开始时间和结束时间、重复收集、版本控制号、提供程序名称、输入和输出文件收集来创建日常跟踪收集查询,请键入:

Logman create trace daily_kernel_trace_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -p "Windows Kernel Trace" 0xFFFFFFFF -rf 100 -o "c:\perflogs\daily_nt_trace"

要通过开始时间和结束时间、重复收集、版本控制号、Guid 和记录器名称、输入和输出文件收集来创建日常跟踪收集查询,请键入:

Logman create trace daily_lsass_trace_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -p "Local Security Authority(LSA) " 0x00000001 -rf 30:00 -o " c:\perflogs\daily_lsass_trace"

要通过开始时间和结束时间、重复收集、版本控制号、计数器路径、范例间隔、SQL 格式以及输出文件收集创建日常计数器收集查询,请键入:

Logman create counter daily_perf_log -b 7/27/2000 13:00:00 -e 7/27/2000 15:00:00 -r -v mmddhhmm -c "\Processor(_Total)\% Processor Time" "\Memory\Available bytes" -si 00:15 -f sql -o perfdb!daily_log

要通过范例间隔、帐户名和密码来开始日常收集,请键入:

Logman start daily_perf_log -s \\%computer_name% -u admin "adminpassword"

要开始手动数据收集,请键入:

Logman start daily_perf_log

要停止数据收集,请键入:

Logman stop daily_perf_log

要删除数据收集,请键入:

Logman delete daily_perf_log

要显示收集查询的状态,请键入如下命令:

Logman query

Logman query daily_perf_log

 

 

附:性能计数器自动收集方法

1、在桌面云测试中,往往需要模拟并发连接中服务器的性能数据,这里主要介绍如何自动收集性能数据

2、创建xxxx.bat文件,文件内容如下:

logman create counter test -cf logman.txt -o log.csv -f "csv" -si 1 -v "mmddhhmm"
logman start test
ping 127.1 -n 15 >nul
logman stop test
logman delete test
pause

备注:xxxx.bat同级目录下,存在文件:logman.txt,文件内容如下:

\Memory\Available Bytes
\Memory\Pages Input/sec
\Memory\Pages Output/sec
\Memory\Pages/sec
\PhysicalDisk(_Total)\% Disk Time
\PhysicalDisk(_Total)\Avg. Disk Queue Length
\Processor(_Total)\% Processor Time
\SQLServer:Buffer Manager\Buffer cache hit ratio
\SQLServer:General Statistics\User Connections
\System\Processor Queue Length

 

备注:这里是要记录的计数器列表

3、输出结果如下:log_09281706.csv,里面详细记录了每一个计数器的数据收集情况

4、参考内容:

logman创建计数器
https://technet.microsoft.com/zh-cn/library/cc788038
Windows性能计数器(命令行方式):
http://www.cnblogs.com/moriarty/archive/2012/05/03/2480991.html
DOS命令大全:Logman命令详解
http://www.feiesoft.com/windows/cmd/nt_command_logman.htm
logman官网介绍:
https://technet.microsoft.com/zh-cn/library/cc788038(v=ws.10).aspx
;