|
The database server may be configured to respond to http requests for
displaying server status information. This feature allows using a web
browser for monitoring the database server status. The status web pages
include information on configuration settings, active client connections,
open databases, granted or pending locks, volume files and free space,
or server utilization and resulting disk I/O rates, for example.
Configuration
To enable the http status display, you configure the ServiceHttp option
in your eloqdb.cfg file. It defines the tcp port number or service name
where the database server should listen for http requests.
For example:
[server]
ServiceHttp = 8182
In the above example, you would access the status pages by visiting
the URL "http://your-server:8182" with your web browser, replacing
the text "your-server" with the DNS name or IP address of your
specific database server.
When using a service name to specify the ServiceHttp parameter, you
have to keep in mind that the web browser might still need to use the
tcp port number, unless you maintain matching /etc/services entries
on server and client systems.
You may restrict access to the http status display, if desired,
by protecting the pages with a user name and password or by limiting
access to certain client IP addresses or subnets, or by doing both.
To configure password protection for the http status pages, you use
the HttpUser and HttpPswd options in your server config file. If set,
access to the status pages requires HTTP Basic Authentication, so the
web browser will prompt the user for user name and password and pass
them to the database server as part of the http request.
For example:
[server]
HTTPUser = dilbert
HTTPPswd = sec-ret
To restrict access to the status pages to certain client IP addresses
or subnets, you may use the [http-access] section in your server config
file, specifying "allow" or "deny" options. The value of the allow and
deny options can be an IP address with optional subnet mask (or number
of address bits) or the word "all".
For example:
[http-access]
allow = 127.0.0.1
allow = 192.168.1.0/255.255.255.0
allow = 192.168.2.0/24
deny = all
If the [http-access] section is not specified, access is not restricted by address.
Sample Web Pages
- index
- This is the default page when accessing the http status page URL.
It provides an overview of the available pages and links to them.
- config
- This page displays selected server configuration and status values, for example
the server version and process ID or the currently active logfile and
log flags. Some of the active settings shown in this page might differ
from your server configuration file if they have been modified with
dbctl after the most recent server start.
- encryption
- This page displays encryption status information for the database server, similar to the
output of the dbkeyutil status command.
- sessions & session details
- This page displays the currently connected database client sessions,
each with several details like OS and database login, or client
program name, for example. Each connection has a unique "thread id"
(TID), which is a link to more details for the server thread that is
handling this client's database transactions.
Metrics in session page: |
TID | = | internal thread id for each client |
IP Addr | = | client IP address and TCP port number |
Platform | = | client operating system (HPUX, Linux, Windows) |
User | = | user login on client system |
Login | = | database login |
audit info, for example client uid, client pid, client program name |
Valid field names for filter criteria are: |
tid, ip, ipaddr, user, login, uid, pid, pname, info, active |
The page for an individual client thread displays information like
OS and database login, client user and process ID, connect time and
duration (in seconds), open databases, granted or pending locks (if
any), and performance related metrics like number of database calls
performed so far and total time (microseconds) spent in those calls.
Metrics in thread details page: |
IP Addr | = | client IP address and TCP port number |
Platform | = | client operating system (HPUX, Linux, Windows) |
OS User | = | user login on client system |
DB Login | = | database login |
Audit data | = | e.g. user id, process id, and program name on client system |
Connect time | = | date/time of client connect, seconds elapsed since then |
Open databases | = | open databases of this client (with dbopen id and mode) |
Database Locks | = | info on granted or blocked locks for this client, if any |
Performance | = | total count and time spent in disk reads and IMAGE calls |
|
(performance metrics include an "AVG" column with calculated "average time per call") |
See "Database Server Statistics" for more info on thread metrics.
- databases & database details
- This page displays currently open databases and their dbopen modes.
Each database name provides a link to a page with details, for example
which client threads have this database open, or which locks are granted
or pending. The TID in the database detail page is a link to the thread
detail page that is described under "sessions & session details".
Metrics in database details page: |
TID | = | internal thread id for each client |
Audit data | = | e.g. user id, process id, and program name on client system |
Open databases | = | open databases of this client (with dbopen id and mode) |
Database Locks | = | info on granted or blocked locks for this client, if any |
Valid field names for filter criteria are: |
tid, ip, ipaddr, user, login, uid, pid, pname, info, active |
- locks
- This page displays currently active locks, including lock type
(database level, set level, item level) and status (granted or blocked).
The database and TID (thread id) provide links to respective detail pages
that have already been described above. A summary line displays
the number of granted locks and the number of blocked locks.
Metrics in locks page: |
TID | = | internal thread id for each client |
Database | = | database name |
DBID | = | internal dbopen id |
Status | = | lock status (GRANTED or BLOCKED) |
Mode | = | dblock mode (see DBLOCK documentation) |
Qualifier | = | dblock qualifier (eg dataset number or item level expression) |
|
(item level lock expressions are displayed on a separate line) |
Valid field names for filter criteria are: |
tid, db, database, dbid, stat, status, mode, qual, qualifier |
- threads
- This page displays information on all database server threads.
Metrics in threads page: |
ST | = | thread state ("R"unnable, "S"uspended/idle, "W"aiting/interruptable) |
TID | = | internal thread id |
WCHAN | = | internal object the thread blocks on (wait channel) |
Blocked Sec | = | total time this thread has been blocked (in seconds) |
Sched | = | number of times this thread has been scheduled to run |
Blocked Cnt | = | total number of times this thread has been blocked |
OS ID | = | operating system thread ID |
Name | = | thread name (internal name or host name / IP address) |
|
(if a thread is blocked, additional info for support usage is displayed) |
Valid field names for filter criteria are: |
tid, st, wchan, time, sched, blocked, name, blocked_on, osid, active |
- volumes
- This page displays volume file information, similar to dbvoldump, for
example the names of the volume files, their allocated and configured
sizes as well as free space information.
Metrics in volumes page: |
ID | = | Volume Index |
Type | = | Volume file type |
Path | = | Path to volume file |
Cur.Sz | = | Current size of volume file (MB) |
Ext. Sz | = | Extension size for this Volume file (MB) |
Max. Sz | = | Maximum size for the volume file (MB) |
Free | = | Available space in volume file (MB) |
Used | = | Used space in volume file (MB) |
Read Cnt | = | Number of read accesses to this volume |
Write Cnt | = | Number of write accesses to this volume |
|
(if the server is in online backup mode, the page shows a related note) |
- performance
- This page displays performance metrics for the database server, for
example the overall server utilization in percent, the client request
rates per second, or disk read and write rates per second. The metrics
are averaged by minute and shown for the most recent 10 minutes as a
little bar chart.
Metrics in performance page: |
server load | = | aggregate CPU utilization of all server threads |
client requests | = | number of client requests per second |
commited transactions | = | number of commited transactions per second |
disk read requests | = | number of disk reads per second |
disk write requests | = | number of disk writes per second |
disk sync requests | = | number of disk sync's per second |
sessions | = | average number of client sessions |
|
(average values for the last 10 minutes and peak values are shown) |
Note that the "server load" metric may be >100% on multi-CPU systems.
See "Database Server Statistics" how to capture metrics in StatFile.
- statistics
- This page displays miscellaneous database server statistics.
With eloqdb B.08.10.01 or newer, selected web pages (i.e. session list,
database details, lock list, and thread list) allow to specify one or
more filter criteria to display a subset of the results. If multiple
filter criteria are specified, they are combined with an implicit AND
operator.
Filter criteria are specified using a field name, an operator and a
value. Valid operators for numeric fields are "=", "<>", as well
as ">", ">=", "<" and "<=". Valid operators for text fields are "="
and "<>". For text fields, the value may include * and ? as "wildcard"
characters.
For example: uid=123 pname=*query3k*
Valid field names for filter criteria are web-page specific.
| |