Administrator’s Guide Red Hat Directory Server |
Previous |
Contents |
Index |
Next |
Chapter 12
Monitoring Server and Database Activity
This chapter describes monitoring database and Red Hat Directory Server (Directory Server) logs. This chapter contains the following sections:
- Viewing and Configuring Log Files (page 453)
- Manual Log File Rotation (page 461)
- Monitoring Server Activity (page 461)
- Monitoring Database Activity (page 468)
- Monitoring Database Link Activity (page 473)
For information on using SNMP to monitor your Directory Server, see Chapter 13, "Monitoring Directory Server Using SNMP."
Viewing and Configuring Log Files
Directory Server provides three types of logs to help you better manage your directory and tune performance. These logs include:
The following aspects are common to the configuration of all types of logs:
The following sections describe how to define your log file creation and deletion policy and how to view and configure each type of log.
When the server is not running, you cannot read the logs using the Directory Server Console. However, you can read them using the Administration Server Console:
Defining a Log File Rotation Policy
If you want the directory to periodically archive the current log and start a new one, you can define a log file rotation policy from Directory Server Console. You can configure the following parameters:
- The the access mode or file permissions with which log files are to be created. The default value is 600. The valid values are any combination of 000 to 777, as they mirror numbered or absolute UNIX file permissions. That is, the value must be a combination of a 3-digit number, the digits varying from 0 through 7:
0 - None
1 - Execute only
2 - Write only
3 - Write and execute
4 - Read only
5 - Read and execute
6 - Read and write
7 - Read, write, and execute
In the 3-digit number, the first digit represents the owner's permissions, the second digit represents the group's permissions, and the third digit represents everyone's permissions. When changing the default value, keep in mind that 000 will not allow access to the logs and that allowing write permissions to everyone can result in the logs being overwritten or deleted by anyone.
- The newly configured access mode will only affect new logs that are created; the mode will be set when the log rotates to a new file.
- The total number of logs you want the directory to keep. When the directory reaches this number of logs, it deletes the oldest log file in the folder before creating a new log. The default is 10 logs. Do not set this value to 1. If you do, the directory will not rotate the log, and the log will grow indefinitely.
- The maximum size (in MB) for each log file. If you don't want to set a maximum size, type -1 in this field. The default is 100 MB. Once a log file reaches this maximum size (or the maximum age defined in the next step), the directory archives the file and starts a new one. If you set the maximum number of logs to 1, the directory ignores this attribute.
- How often the directory archives the current log file and creates a new one by entering a number of minutes, hours, days, weeks, or months. You can also rotate logs at a particular time of the day; for example, everyday at midnight. The default is every day. If you set the maximum number of logs to 1, the directory ignores this attribute.
Each log file inludes a title, which identifies the server version, hostname, and port, for ease of archiving or exchanging log files. The title is of the form:
Red Hat-Directory/version build_number hostname:port (instance_directory)For example, the first couple of lines of any log files generated by a Directory Server instance may show lines similar to these:
Red Hat-Directory/7.1 B2003.188.1157 myhost.example.com:389 (/opt/redhat-ds/servers/slapd-ds71)Defining a Log File Deletion Policy
If you want the directory to automatically delete old archived logs, you can define a log file deletion policy from the Directory Server Console.
You can configure the following parameters:
- The maximum size of the combined archived logs. When the maximum size is reached, the oldest archived log is automatically deleted. If you don't want to set a maximum size, type -1 in this field. The default is 500 MB. This parameter is ignored if the number of log files is set to 1.
- The minimum amount of free disk space. When the free disk space reaches this minimum value, the oldest archived log is automatically deleted. The default is 5 MB. This parameter is ignored in the number of log files is set to 1.
- The maximum age of log files. When a log file reaches this maximum age, it is automatically deleted. The default is 1 month. This parameter is ignored in the number of log files is set to 1.
Access Log
The access log contains detailed information about client connections to the directory. This section contains the following procedures:
Viewing the Access Log
- In the Directory Server Console, select the Status tab; then, in the navigation tree, expand the Logs folder, and select the Access Log icon.
- To refresh the current display, click Refresh. Select the Continuous checkbox if you want the display to refresh automatically every ten seconds.
- To view an archived access log, select it from the Select Log pull-down menu.
- To display a different number of messages, enter the number you want to view in the "Lines to show" text box, and then click Refresh.
- You can display messages containing a string you specify. To do this, enter the string in the "Show only lines containing" text box, and then click Refresh.
Configuring the Access Log
You can configure a number of settings to customize the access log, including where the directory stores the access log and the creation and deletion policies.
You can also disable access logging for the directory. You may do this because the access log can grow very quickly; every 2,000 accesses to your directory will increase your access log by approximately 1 MB. However, before you turn off access logging, consider that the access log provides beneficial troubleshooting information.
To configure the access log for your directory:
- In the Directory Server Console, select the Configuration tab. Then, in the navigation tree, expand the Logs folder, and select the Access Log icon.
Clear this checkbox if you do not want the directory to maintain an access log. Access logging is enabled by default.
- Enter the full path and filename you want the directory to use for the access log in the Log File field. The default path is:
serverRoot/slapd-serverID/logs/access
- Set the maximum size of combined archived logs, minimum amount of free disk space, and maximum age for a log file.
Error Log
The error log contains detailed messages of errors and events the directory experiences during normal operations. This section contains the following procedures:
Viewing the Error Log
- In the Directory Server Console, select the Status tab; then, in the navigation tree, expand the Logs folder, and select the Error Log icon.
- To refresh the current display, click Refresh. Select the Continuous checkbox if you want the display to refresh automatically every ten seconds.
- To view an archived error log, select it from the Select Log pull-down menu.
- To specify a different number of messages, enter the number you want to view in the "Lines to show" text box, and click Refresh.
- You can display messages containing a string you specify. To do this, enter the string in the "Show only lines containing" text box, and click Refresh.
Configuring the Error Log
You can change several settings for the error log, including where the directory stores the log and what you want the directory to include in the log.
- In the Directory Server Console, select the Configuration tab. Then, in the navigation tree, expand the Logs folder ,and select the Error Log icon.
- Select the Error Log tab in the right pane.
- To enable error logging, select the Enable Logging checkbox.
Clear this checkbox if you do not want the directory to maintain an error log. Error logging is enabled by default.
- Enter the full path and filename you want the directory to use for the error log in the Log File field. The default path is:
serverRoot/slapd-serverID/logs/errors
- Set the maximum size of combined archived logs, minimum amount of free disk space, and maximum age for a log file.
- If you want to set the log level, Ctrl+click the options you want the directory to include in the Log Level list box.
For more information about log level options, see "Log Level" in the Red Hat Directory Server Configuration, Command, and File Reference.
Changing these values from the defaults may cause your error log to grow very rapidly, so it is recommended that you do not change your logging level unless you are asked to do so by Red Hat Technical Support.
Audit Log
The audit log contains detailed information about changes made to each database as well as to server configuration. This section contains the following procedures:
Viewing the Audit Log
Before you can view the audit log, you must enable audit logging for the directory. See "Configuring the Audit Log," on page 460, for information.
- In the Directory Server Console, select the Status tab. Then, in the navigation tree, expand the Logs folder, and select the Audit Log icon.
- To refresh the current display, click Refresh. Select the Continuous checkbox if you want the display to refresh automatically every ten seconds.
- To view an archived audit log, select it from the Select Log pull-down menu.
- To display a different number of messages, enter the number you want to view in the "Lines to show" text box, and click Refresh.
- You can display messages containing a string you specify. To do this, enter the string in the "Show only lines containing" text box, and click Refresh.
Configuring the Audit Log
You can use the Directory Server Console to enable and disable audit logging and to specify where the audit log file is stored.
- In the Directory Server Console, select the Configuration tab. Then, in the navigation tree, expand the Logs folder, and select the Audit Log icon.
- Enter the full path and filename you want the directory to use for the audit log in the field provided. The default path is:
serverRoot/slapd-serverID/logs/audit
- Set the maximum size of combined archived logs, minimum amount of free disk space, and maximum age for a log file.
Manual Log File Rotation
The Directory Server supports automatic log file rotation for all three logs. However, you can manually rotate log files if you have not set automatic log file creation or deletion policies. By default, access, error, and audit log files can be found in the following location:
serverRoot/slapd-serverID/logs/
- Move or rename the log file you are rotating in case you need the old log file for future reference.
- Restart the server.
Monitoring Server Activity
You can monitor your Directory Server's current activities from either the Directory Server Console or the command-line. You can also monitor the activity of the caches for all of your database. This section contains the following information:
- Monitoring Your Server from the Directory Server Console
- Monitoring Your Server from the Command-Line
Monitoring Your Server from the Directory Server Console
This section contains information about using the Directory Server Console to monitor your server and the information available to you in the performance monitor.
Viewing the Server Performance Monitor
To monitor your server's activities using Directory Server Console:
- In the Directory Server Console, select the Status tab. In the navigation tree, select Performance Counters.
The Status tab in the right pane displays current information about server activity. If the server is currently not running, this tab will not provide performance monitoring information.
- Click Refresh to refresh the current display. If you want the server to continuously update the displayed information, select the Continuous checkbox.
Overview of Server Performance Monitor Information
The server provides monitoring information as described in the following sections:
- General Information (Server)
- Resource Summary
- Current Resource Usage
- Connection Status
- Global Database Cache Information
General Information (Server)
The server provides the following general information:
- Server version - Identifies the current server version.
- Configuration DN - Identifies the distinguished name that you must use as a search base to obtain these results using the ldapsearch command-line utility. This field should read cn=monitor.
- Data version - Provides identification information for the server's data. Usually the information shown here is only relevant if your server supplies replicas to consumer servers. The data version information is supplied as follows:
- Server hostname.
- Server port number.
- Database generation number. Obsolete. A unique identifier that is created only when you create your directory database without a machine data entry in the LDIF file.
- Current changelog number. This is the number corresponding to the last change made to your directory. This number starts at one and increments by one for each change made to the database.
- Startup time on server - Date and time the server was started.
- Current time on server - Displays the current date and time on the server.
Resource Summary
The Resource Summary table displayed by the Console provides resource-specific information listed in Table 12-1.
Current Resource Usage
The Resource Summary table in Directory Server Console provides resource-specific information listed in Table 12-2.
Connection Status
The Connection Status table in the Directory Server Console provides the following information about the amount of resources in use by each currently open connection:
Global Database Cache Information
The Global Database Cache Information table in the Directory Server Console contains the following information:
Monitoring Your Server from the Command-Line
You can monitor your Directory Server's current activities from any LDAP client by performing a search operation with the following characteristics:
ldapsearch -h directory.example.com -s base -b "cn=monitor" "(objectclass=*)"For information on searching the Directory Server, see "Using ldapsearch," on page 590.
The monitoring attributes for your server are found in the cn=monitor,cn=config entry.
When you monitor your server's activities using ldapsearch, you see the following information:
- version: Identifies the directory's current version number.
- threads: Current number of active threads used for handling requests. Additional threads may be created by internal server tasks, such as replication or chaining.
- connection:fd:opentime:opsinitiated:opscompleted:binddn:[rw]: Provides the following summary information for each open connection (only available if you bind to the directory as the Directory Manager):
- fd - The file descriptor used for this connection.
- opentime - The time this connection was opened.
- opsinitiated - The number of operations initiated by this connection.
- opscompleted - The number of operations completed.
- binddn-The distinguished name used by this connection to connect to the directory.
- rw - The field shown if the connection is blocked for read or write.
- By default, this information is available to you only if you bind to the directory as the Directory Manager. However, you can change the ACI associated with this information to allow others to access the information.
- currentconnections: Identifies the number of connections currently in service by the directory.
- totalconnections: Identifies the number of connections handled by the directory since it started.
- dtablesize: Shows the number of file descriptors available to the directory. Each connection requires one file descriptor: one for every open index, one for log file management, and one for ns-slapd itself. Essentially, this value lets you know about how many more concurrent connections can be serviced by the directory. For more information on file descriptors, refer to your operating system documentation.
- readwaiters: Identifies the number of threads waiting to read data from a client.
- opsinitiated: Identifies the number of operations the server has initiated since it started.
- opscompleted: Identifies the number of operations the server has completed since it started.
- entriessent: Identifies the number of entries sent to clients since the server started.
- bytessent: Identifies the number of bytes sent to clients since the server started.
- currentime: Identifies the time when this snapshot of the server was taken. The time is displayed in Greenwich Mean Time (GMT) in UTC format.
- starttime: Identifies the time when the server started. The time is displayed in Greenwich Mean Time (GMT) in UTC format.
- nbackends: Identifies the number of back ends (databases) the server services.
- backendmonitordn: Identifies the DN of each directory database.
Monitoring Database Activity
You can monitor your database's current activities from Directory Server Console or from the command-line. This section contains the following information:
Monitoring Database Activity from the Server Console
This section describes how you can use Directory Server Console to view the database performance monitors and what sort of information the performance monitors provide.
Viewing Database Performance Monitors
To monitor your database's activities:
- In the Directory Server Console, select the Status tab. In the navigation tree, expand the Performance Counters folder, and select the database that you want to monitor.
The tab displays current information about database activity. If the server is currently not running, this tab will not provide performance monitoring information.
- Click Refresh to refresh the currently displayed information. If you want the directory to continuously update the displayed information, select the Continuous checkbox, and then click Refresh.
Overview of Database Performance Monitor Information
The directory provides database monitoring information as described in the following sections:
- General Information (Database)
- Summary Information Table
- Database Cache Information Table
- Database File-Specific Table
General Information (Database)
The directory provides the following general database information:
- Database - Identifies the type of database that you are monitoring.
- Configuration DN - Identifies the distinguished name that you must use as a search base to obtain these results using the ldapsearch command-line utility.
Summary Information Table
The Summary Information table provides the following information:
Table 12-5 Database Performance Monitoring - Summary Information
Performance Metric Current Total Readonly status Indicates whether the database is currently in read-only mode. Your database is in read-only mode when the readonly attribute is set to on. Entry cache hits Indicates the total number of successful entry cache lookups. That is, the total number of times the server could process a search request by obtaining data from the cache rather than by going to disk. Entry cache tries Indicates the total number of entry cache lookups since the directory was last started. That is, the total number of search operations performed against your server since server startup. Entry cache hit ratio Ratio that indicates the number of entry cache tries to successful entry cache lookups. This number is based on the total lookups and hits since the directory was last started. The closer this value is to 100%, the better. Whenever a search operation attempts to find an entry that is not present in the entry cache, the directory has to perform a disk access to obtain the entry. Thus, as this ratio drops towards zero, the number of disk accesses increases, and directory search performance drops.To improve this ratio, you can increase the number of entries that the directory maintains in the entry cache by increasing the value of the "Maximum Entries in Cache" attribute. See "Tuning Database Performance," on page 486, for information on changing this value using the Server Console. Current entry cache size (in bytes) Indicates the total size of directory entries currently present in the entry cache. Maximum entry cache size (in bytes) Indicates the size of the entry cache maintained by the directory. This value is managed by the "Maximum Cache Size" attribute. See "Tuning Database Performance," on page 486, for information on changing this value using the Server Console. Current entry cache size (in entries) Indicates the total number of directory entries currently present in the entry cache. Maximum entry cache size (in entries) Indicates the maximum number of directory entries that can be maintained in the entry cache. This value is managed by the "Maximum Entries in Cache" attribute. See "Tuning Database Performance," on page 486, for information on changing this value using the Server Console.
Database Cache Information Table
The Database Cache Information table provides caching information listed in Table 12-6.
Table 12-6 Database Performance Monitoring - Database Cache Information
Performance Metric Current Total Hits Indicates the number of times the database cache successfully supplied a requested page. A page is a buffer of the size 2K. Tries Indicates the number of times the database cache was asked for a page. Hit ratio Indicates the ratio of database cache hits to database cache tries. The closer this value is to 100%, the better. Whenever a directory operation attempts to find a portion of the database that is not present in the database cache, the directory has to perform a disk access to obtain the appropriate database page. Thus, as this ratio drops towards zero, the number of disk accesses increases, and directory performance drops.To improve this ratio, you can increase the amount of data that the directory maintains in the database cache by increasing the value of the "Maximum Cache Size" attribute. See "Tuning Database Performance," on page 486, for information on changing this value using the Server Console. Pages read in Indicates the number of pages read from disk into the database cache. Pages written out Indicates the number of pages written from the cache back to disk. A database page is written to disk whenever a read-write page has been modified and then subsequently deleted from the cache. Pages are deleted from the database cache when the cache is full and a directory operation requires a database page that is not currently stored in cache. Read-only page evicts Indicates the number of read-only pages discarded from the cache to make room for new pages. Read-write page evicts Indicates the number of read-write pages discarded from the cache to make room for new pages. This value differs from Pages Written Out in that these are discarded read-write pages that have not been modified.
Database File-Specific Table
The directory displays a table for each index file that makes up your database. Each of the tables provides the following information:
Monitoring Databases from the Command-Line
You can monitor your directory's database activities from any LDAP client by performing a search operation with the following characteristics:
- Search for attribute objectClass=*
- Search base: cn=monitor,cn=database_instance,cn=ldbm database, cn=plugins, cn=config, where database_instance is the name of the database that you want to monitor
- Search scope: base
ldapsearch -h directory.example.com -s base -b "cn=monitor,cn=Example,cn=ldbm database,cn=plugins, cn=config" "objectclass=*"In this example, the ldapsearch operation looks for the Example database. For information on searching the directory, see "Using ldapsearch," on page 590.
When you monitor your server's activities, you see the following information:
- database: Identifies the type of database you are currently monitoring.
- readonly: Indicates whether the database is in read-only mode. 0 indicates that the server is not in read-only mode, 1 indicates that it is in read-only mode.
- entrycachehits: Provides the same information as described in Entry cache hits in Table 12-5, on page 469,.
- entrycachetries: Provides the same information as described in Entry cache tries in Table 12-5, on page 469,.
- entrycachehitratio: Provides the same information as described in Entry cache hit ratio in Table 12-5, on page 469,.
- currententrycachesize: Provides the same information as described in Current entry cache size (in entries) in Table 12-5, on page 469,.
- maxentrycachesize: Provides the same information as described in Maximum entry cache size (in entries) in Table 12-5, on page 469,.
- dbchehits: Provides the same information as described in Hits in Table 12-6, on page 470,.
- dbcachetries: Provides the same information as described in Tries in Table 12-6, on page 470,.
- dbcachehitratio: Provides the same information as described in Hit ratio in Table 12-6, on page 470,.
- dbcachepagein: Provides the same information as described in Pages read in in Table 12-6, on page 470,.
- dbcachepageout: Provides the same information as described in Pages written out in Table 12-6, on page 470,.
- dbcacheroevict: Provides the same information as described in Read-only page evicts in Table 12-6, on page 470,.
- dbcacherwevict: Provides the same information as described in Read-write page evicts in Table 12-6, on page 470,.
Next, the following information for each file that makes up your database is displayed:
- dbfilename-number: Indicates the name of the file. number provides a sequential integer identifier (starting at 0) for the file. All associated statistics for the file are given this same numerical identifier.
- dbfilecachehit-number: Provides the same information as described in Cache hits in Table 12-7, on page 471,.
- dbfilecachemiss-number: Provides the same information as described in Cache misses in Table 12-7, on page 471,.
- dbfilepagein-number: Provides the same information as described in Pages read in in Table 12-7, on page 471,.
- dbfilepageout-number: Provides the same information as described in Pages written out in Table 12-7, on page 471,.
Monitoring Database Link Activity
You can monitor the activity of your database links from the command-line using the monitoring attributes. Use the ldapsearch command-line utility to return the attribute values that interest you. The monitoring attributes are stored in the following entry: cn=monitor,cn=database_link_name,cn=chaining database,cn=plugins,cn=config.
For example, you can use the ldapsearch command-line utility to retrieve the number of add operations received by a particular database link called DBLink1. First, type the following to change to the directory containing the utility:
cd serverRoot/shared/bin
Then, run ldapsearch as follows:
ldapsearch -h directory.example.com -p 389 -D "cn=Directory Manager" -w secret -s sub -b "cn=monitor,cn=DBLink1,cn=chaining database,cn=plugins,cn=config" "(objectclass=*)" nsAddCount
The above command should be typed on a single line. It does not appear on one line here because of page size constraints.
You can search for the following database link monitoring attributes:
For more information about ldapsearch, see the Red Hat Directory Server Configuration, Command, and File Reference.
Previous |
Contents |
Index |
Next |