21.4. 获取访问日志统计信息
logconv.pl
脚本解析访问日志,并返回服务器上运行的不同用户和操作的摘要信息。
在最简单的情况下,脚本只需解析访问日志(或日志):
# logconv.pl /relative/path/to/accessLog
脚本可以接受通配符来解析多个访问日志,这在使用了日志轮转时非常有用。
# logconv.pl /var/log/dirsrv/slapd-instance/access*
logconv.pl
的不同选项在 man page 和 Configuration, Command, and File Reference 中介绍。
logconv.pl
可以通过多种方式从访问日志中拉取常规使用信息。
在最简单的情况下,
logconv.pl
会打印总操作列表、连接总数、每种操作类型计数,以及持久性搜索等某些扩展操作计数。
# logconv.pl /var/log/dirsrv/slapd-instance/access Access Log Analyzer 8.2 Command: logconv.pl /var/log/dirsrv/slapd-instance/access Processing 1 Access Log(s)... [001] /var/log/dirsrv/slapd-instance/access size (bytes): 77532 Total Log Lines Analysed: 527 Start of Logs: 14/Oct/2017:16:15:22.452909568 End of Logs: 14/Oct/2017:16:39:50.157790196 Processed Log Time: 0 Hours, 24 Minutes, 27.704877056 Seconds Restarts: 10 Secure Protocol Versions: - TLS1.2 client bound as uid=user_name,ou=people,o=example.com (11 connections) - TLS1.2 128-bit AES; client CN=CA Subsystem,O=example.com; issuer CN=Certificate Authority,O=example.com (11 connections) - TLS1.2 128-bit AES-GCM (2 connections) - TLS1.2 128-bit AES (3 connections) Peak Concurrent Connections: 38 Total Operations: 4771 Total Results: 4653 Overall Performance: 97.5% Total Connections: 249 (0.17/sec) (10.18/min) - LDAP Connections: 107 (0.07/sec) (4.37/min) - LDAPI Connections: 128 (0.09/sec) (5.23/min) - LDAPS Connections: 14 (0.01/sec) (0.57/min) - StartTLS Extended Ops: 2 (0.00/sec) (0.08/min) Searches: 2963 (2.02/sec) (121.13/min) Modifications: 649 (0.44/sec) (26.53/min) Adds: 785 (0.53/sec) (32.09/min) Deletes: 10 (0.01/sec) (0.41/min) Mod RDNs: 6 (0.00/sec) (0.25/min) Compares: 0 (0.00/sec) (0.00/min) Binds: 324 (0.22/sec) (13.25/min) Proxied Auth Operations: 0 Persistent Searches: 17 Internal Operations: 0 Entry Operations: 0 Extended Operations: 4 Abandoned Requests: 0 Smart Referrals Received: 0 VLV Operations: 30 VLV Unindexed Searches: 0 VLV Unindexed Components: 20 SORT Operations: 22 Entire Search Base Queries: 12 Paged Searches: 2 Unindexed Searches: 0 Unindexed Components: 149 FDs Taken: 249 FDs Returned: 212 Highest FD Taken: 107 Broken Pipes: 0 Connections Reset By Peer: 0 Resource Unavailable: 0 Max BER Size Exceeded: 0 Binds: 324 Unbinds: 155 --------------------------------- - LDAP v2 Binds: 41 - LDAP v3 Binds: 180 - AUTOBINDs(LDAPI): 103 - SSL Client Binds: 0 - Failed SSL Client Binds: 0 - SASL Binds: 134 - EXTERNAL: 114 - GSSAPI: 20 - Directory Manager Binds: 10 - Anonymous Binds: 1 Cleaning up temp files... Done.
除了操作和连接的摘要信息外,还详细介绍了与服务器的所有连接信息。此信息包括用于连接到服务器的最常见 IP 地址、带有最多失败的登录尝试的 DN、用于访问服务器的总绑定 DN,以及最常见的错误或返回代码。
其他连接摘要作为单个选项传递。例如,列出用于连接到服务器 (
b
) 数量,由服务器 (c
) 返回的总连接代码通过 -bc
传递。
# logconv.pl -bc /var/log/dirsrv/slapd-instance/access ... ----- Total Connection Codes ----- U1 3 Cleanly Closed Connections B1 1 Bad Ber Tag Encountered ----- Top 20 Bind DN's ----- Number of Unique Bind DN's: 212 1801 cn=Directory Manager 1297 Anonymous Binds 311 uid=jsmith,ou=people... 87 uid=bjensen,ou=peopl... 85 uid=mreynolds,ou=peo... 69 uid=jrockford,ou=peo... 55 uid=sspencer,ou=peop... ...
在特定开始时间(
-S
)或范围内,数据可以限制为特定开始时间(-
S)后的条目。设置开始和结束时间后,logconv.pl
会首先打印给定的时间范围,然后显示该周期的概述。
# logconv.pl -S "[01/Jul/2016:16:11:47.000000000 -0400]" -E "[01/Jul/2016:17:23:08.999999999 -0400]" /var/log/dirsrv/slapd-instance/access ... ----------- Access Log Output ------------ Start of Logs: 01/Jul/2016:16:11:47 End of Logs: 01/Jul/2016:17:23:08 ...
开始和结束期限仅为用于生成总摘要计数的数据设置时间限值。它仍然显示聚合或总计计数。要获得到 Directory 服务器的连接和操作中的模式视图,可以输出每分钟计数(
-M
)或每秒(-m
)的数据。在这种情况下,数据会在时间单位递增输出到指定的 CSV 输出文件中。
# logconv.pl -m|-M outputFile accessLogFile
例如:
# logconv.pl -M /home/output/statsPerMin.txt /var/log/dirsrv/slapd-instance/access*
-M|-m
选项也可以与 -S
和 -E
参数一起使用,在特定时间段内平均或每秒数。
文件中的每一行代表一个时间单位(以分钟或秒为单位),且该时间段的总数。CSV 文件(用于每分钟和每秒统计)包含以下列,顺序如下:
Time,time_t,Results,Search,Add,Mod,Modrdn,Delete,Abandon,Connections,SSL Conns,Bind,Anon Bind,Unbind,Unindexed
CSV 文件可以在任何电子表格计划中操作,如 LibreOffice Calc 以及许多其他商业应用程序中。导入 CSV 数据并生成 chart 或其他指标的流程取决于应用程序本身。
例如,要在 LibreOffice Calc 中创建 chart:
- 打开 CSV 文件。
- 点菜单,然后选择 。
- 在 Chart Type 区域中,将 Chart 类型设置为 XY (Scatter)。
- 将 sub 类型设置为行。
- 选择要按 X 值排序的选项。
- 接受其他屏幕中的默认值(特别是,使用列中的数据集),并将第一行和第一列设置为标签,并创建 chart。