---
name: "logconv"
section: "1"
platform: "linux"
package: "389-ds-base"
version: "3.1.2+dfsg1-1+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/logconv"
---

# logconv(1)

Analyzes Directory Server access log files

## NAME

logconv.py - Analyzes Directory Server access log files

## SYNOPSIS

**logconv.py** \[*-h*\] \[*-v*\] \[*-V*\] \[*-s SIZE\_LIMIT*\] \[*-d ROOT\_DN*\] \[*-B BIND\_DN*\]  \[*-X EXCLUDE\_IP*\] \[*-S START\_TIME*\] \[*-E END\_TIME*\] \[*-m SEC\_STATS\_FILENAME*\] \[*-M MIN\_STATS\_FILENAME*\] \[ *access log(s)*\]

## DESCRIPTION

Analyzes Directory Server access log files for specific information defined on the command line.

## OPTIONS

- **-h, --help**

  help/usage.

- **-v, --version**

  Display log analyzer version.

- **-V, --verbose**

  Enable verbose mode for detailed statistic processing.

- **-s, --sizeLimit SIZE\_LIMIT**

  Number of results to return per category.\
   DEFAULT: 20

- **-d, --rootDN ROOT\_DN**

  Directory Managers DN.\
   DEFAULT: "cn=Directory Manager"

- **-B, --bind BIND\_DN**

  Generates an activity report based specified bind DN.\
   Options: \<ALL \| ANONYMOUS \| "Actual bind DN"\>

- **-X, --excludeIP EXCLUDE\_IP**

  IP address to exclude from analysis, could be used to exclude load balancers.\
   To specify multiple IP addresses you could use: -X 192.168.1.1 -X 10.1.2.1

- **-S, --startTime START\_TIME**

  Time to begin analysing logfile from.\
   Copy and paste a timestamp from the access logs:\
   "\[04/Jun/2024:10:31:20.014629085 +0200\]"\
  \
          or\
   Use common log format:\
   "\[04/Jun/2024:10:31:20 +0200\]"'

- **-E, --endTime END\_TIME**

  Time to stop analysing logfile.\
   Copy and paste a timestamp from the access logs:\
   "\[04/Jun/2024:11:30:05.435779416 +0200\]"\
  \
          or\
   Use common log format:\
   "\[04/Jun/2024:11:30:05 +0200\]"

- **-m, --reportFileSecs SEC\_STATS\_FILENAME**

  Capture operation stats at second intervals and write to csv file.

- **-M, --reportFileMins MIN\_STATS\_FILENAME**

  Capture operation stats at minute intervals and write to csv file.

- **-j, --recommends**

  Provide some preformance recommendations post analysis.

## USAGE

Examples:

-

  Analyze logs in verbose mode\
   logconv.py **-V** /var/log/dirsrv/slapd-host/access\*

-

  Limit results to 10 entries per category\
   logconv.py --sizeLimit 10 /var/log/dirsrv/slapd-host/access\*

-

  Specify a custom root DN\
   logconv.py **--rootDN** "cn=custom manager" /var/log/dirsrv/slapd-host/access\*

-

  Generate a report for anonymous binds\
   logconv.py **-B** ANONYMOUS /var/log/dirsrv/slapd-host/access\*

-

  Exclude specific IP address(s) from log analysis\
   logconv.py **-X** 192.168.1.1 **--exclude\_ip** 11.22.33.44 /var/log/dirsrv/slapd-host/access\*

-

  Analyze logs within a specific time range\
   logconv.py **-S** "\[04/Jun/2024:10:31:20.014629085 +0200\]" **--endTime** "\[04/Jun/2024:11:30:05 +0200\]" /var/log/dirsrv/slapd-host/access\*

-

  Generate performance stats at second intervals\
   logconv.py **-m** log-second-stats.csv /var/log/dirsrv/slapd-host/access\*

-

  Generate performance stats at minute intervals\
   logconv.py **-M** log-minute-stats.csv  /var/log/dirsrv/slapd-host/access\*

-

  Display recommendations post log analysis\
   logconv.py **-j** /var/log/dirsrv/slapd-host/access\*

## AUTHOR

logconv.py was written by the 389 Project.

## REPORTING BUGS

Report bugs to https://github.com/389ds/389-ds-base/issues/new

## COPYRIGHT

Copyright © 2001 Sun Microsystems, Inc. Used by permission.\
 Copyright © 2025 Red Hat, Inc.\
 This manual page was written by Michele Baldessari \<michele@pupazzo.org\>, for the Debian project (but may be used by others).\
 This is free software.  You may redistribute copies of it under the terms of the Directory Server license found in the LICENSE file of this software distribution.  This license is essentially the GNU General Public License version 2 with an exception for plug-in distribution.
