What is DBAmon?
DBAmon is a free,
GPL,
Open-Source
database monitoring tool.
Although DBAmon does have a WWW-based interface, historical trend data collection and graphs, it is primarily a Background DBMS Monitoring Tool.
DBAmon has been in continuous use since it was first implemented in 1994 to meet a need to monitor heterogenous DBMS environments.
As of 2008 DBAmon was monitoring approximately 715 Database instances (Oracle, Informix, MSSQL, SAP) for
a large international corporation.
DBAmon is written primarily in Perl language (~104,000 lines of Perl code). In 2010 it was ported to run the MASTER functionality on CYGWIN, but it
was developed on HP-UX.
Click here to see which DBMS Metrics are monitored.
DBAmon continuously monitors multiple instances of:
- MSSQL (Microsoft SQL Server©)
- Oracle© DB/UX (HP-UX, Linux, Solaris, AIX, TRU64, etc.)
- Oracle© DB/Windows
- Oracle© Apps/UX
- Informix© DB/UX (HP-UX)
- SAP©
It was designed many years ago on HP-9000 hardware (HP-UX Unix) but it does
run on other operating systems (Sun, Linux, Cygwin on Windows©). It uses ssh
to comminicate with TARGET (or "Monitored") servers which
run MSSSQL, Informix or Oracle. The resulting DB Events
are reported via:
- WWW Status Pages, Graphs, Etc.
- EMail (including Graphs)
- Tickets (Your Call Tracking System)
(With Minimal Customization)
- Pager (Alpha or Numeric) via EMail
- Oracle or MSSQL Repository Tables
DBAmon also automatically creates WWW-based reports of the status of all instances being monitored:
Sample WWW-Based Instance Summary
Sample WWW-Based Instance Details
It also samples various data from the instance being monitored
and saves this data in the
DBAmon Historical Data Repository
which is used to create graphs of various DB measures:
Sample WWW-Based MSSQL Page Life Expectancy Graph
DBAmon runs continuously
monitoring every metric on every DB server (a monitored DB Server is also called a "TARGET" Server)
(See What Is Monitored?).
DBAmon runs on a UX server and monitors UX (Oracle and Informix)
and Windows (Oracle and MSSQL) database instances. On the largest
know installation of DBAmon, on a HP-UX© server it concurrently monitors
over 700 Oracle, Informix and MSSQL database instances.
It features easy to configure
UX flat files where you specify DBAmon parameters and parameters
describing the DB servers that you will be monitoring. Most neccessary
customization can be done via supplied user exits (I'm showing my
MVS background). The name DBAmon was originally used by a tool
that was developed by Jack Parker of HP/Boise. The name DBAmon means
Database & Application Monitor.
Environment: DBAmon MASTER Server (Central Monitoring Server)
The HP-UX-based-MASTER flavor of DBAmon currently runs on an HP-UX 9000 Series UX server (an N4400 8-way).
It uses less than 30% of the total CPU capacity. It could easily run on a smaller server.
There is no reason why the DBAmon Master would not run on another platform (Sun, AIX, Solaris, ...).
The CYGWIN-based-MASTER flavor of DBAmon can run on any Windows server.
It requires a working installation of Perl, which is FREE.
On a CYGWIN installation, you may use MSSQL for the DBAmon repository. On UX (HP-UX, AIX, etc.)
you must use an Oracle repository. If you are using an Oracle repository (HP-UX, AIX, Solaris, etc.),
then you must install the DBD/DBI interface
along with Perl. See Software Installation
for details. On CYGWIN, the DBI interface is very easy to install (via "cpan").
Environment: TARGET DB Server (UX)
Pretty much the same as for the DBAmon Master Server, but DBD is not required. All of
the DB Servers that we monitor are HP (the company that I work
for). They run a combination of HP-UX 10.20 and 11.00, both 32
and 64 bit.
Details:
- Server: HP9000 K Series
- Perl: V5
It requires a working installation of awk and Perl.
Environment: TARGET DB Server (Windows)
We currently monitor Windows servers running Oracle/Windows and MSSQL. You
will have to install:
- Perl: V5 and DBD/DBI interface for either MSSQL or Oracle. Strawberry Perl works fine.
- SSH: A good SSH service (such as CopSSH) works fine.
Architecture
See the DBAmon Architecture Diagram
for an overview of how DBAmon works.
DBAmon is Agent-Less, meaning that it does
not require a process to be running on a TARGET server (other than the SSH service).
It is really a little more complicated, but this is how it works:
DBAmon runs continuously. Every iteration DBAmon:
- Downloads a Perl program to the TARGET server. This program is called the PROBE (yikes!). Again, it is a little more complex than this -- if the
PROBE was previously downloaded successfully and is still working, it is not re-downloaded.
- Over the SSH connection to the TARGET server, the PROBE is invoked. The PROBE connects to the
TARGET DB to collect all required metric data. This data is returned to the DBAmon MASTER.
- Now that the TARGET data has been inserted into the DBAmon repository DB on the TARGET,
the current metric readings are compared to the predefined thresholds for this DB instance. If
the values exceed the thresholds, or if the DB instance is found to be DOWN, etc... A DBAmon event is
created. Notification occurs, etc.
Why DBAmon?
DBAmon was developed in 1994 as a DB monitoring tool for Informix (in 1999
it was enhanced to also monitor Oracle and MSSQL).
The reasons that we developed our own tool versus buying a 3rd-party tool
were:
- Monitors That We Needed
We needed a tool that would work in our environment and
monitor what we needed to monitor. For example, we needed
to monitor Informix backup age. No tool on the market at
that time did this.
- Our Unique Environment
Our monitoring tool needed to work in our unique environment.
For example, in our envirnonment, we do not have the luxury
of having someone sitting in front of a screen watching for
events. So our tool does Event Notification in a variety
of ways:
- Help Desk Tickets (can be easily customized to
your environment).
- Pagers (Numeric and Alphanumeric)
- EMail
- HP-UX Postnotes
- Speed of Modifications / Enhancements
We knew from past experience that if we needed a modification
or new DB metric to monitor that if we went with a 3rd-party
tool that we may or may not get the desired change and even
if the vendor agreed to our proposed modification that the time
delays would be unacceptable. With DBAmon, I often have new
monitors coded within a few hours of our discovering a needed
enhancement.
- Ummm.... Cost
DBAmon is FREE.
Since 1994 it has grown in usage from our data center to where it is now
used by many sites around the world. In 1999 Oracle
and MSSQL
monitoring was added. At one site, it now continuously monitors
~800 DB Instances of Oracle, MSSQL and Informix that reside on servers located
worldwide.
Granted, DBAmon does not have all of the
bells and whistles of the more EXPENSIVE and sophisticated tools, but
it works in a real-life production environment.
Disclaimer
DBAmon is not
guaranteed to serve any purpose at all. There is no warranty expressed or implied. Your mileage
will vary. Yada yada yada.
Installation
See
DBAmon Software Installation (MASTER on UX)
or
DBAmon Software Installation (MASTER on CYGWIN)
for
the installation checklist.
DBMS Compatibility
DBAmon will monitor:
Informix
- 5.*
- 6.*
- 7.1*
- 7.2*
- 7.3*
- 9.1*
- 9.2*
Oracle
- 7.*
- 8.0.*
- 8.1.*
- 9.*
- 10.*
- 11.*
MSSQL
- 8* (2000)
- 9* (2005)
- 10.0.* (2008)
- 10.5.* (2008R2)
- 11.* (2012)
- 12.* (2014)
User Exits
DBAmon is
coded so that even if it is installed at a remote
site, no program source changes should be
necessary. The Config File mentioned below
is designed to supply all site/host specific
information. Some additional customization can
be done by coding User Exits (see below). If you
find that you have to make source changes to
DBAmon, please EMail
DBAmon Q&A
and I will consider incorporating those changes
into the next release.
DBAmon Links
See DBAmon Index.
Sample DBAmon WWW Output
* - DBAmon creates the data that is used to build these graphs. I now also ship DBAmon with PLOTICUS code
to dynamically create graphs. VERY COOL!
DBAmon Questions / Suggestions
EMail: DBAmon Q&A
Author / Site Information
This is site is personally owned and operated by
Bill Border .
I am an
.
I am employed
in Colorado Springs, Colorado as a Senior Oracle DBA.
I have 30 years of IT experience, primarily as a DBA
(Oracle,MSSQL,Informix,DB2,IDMS). Previously I worked as an Application Programmer (3 years),
MVS Systems Programmer (10 years) and DB2 Systems Programmer (7 years).
For more information, see
My Resume.
Microsoft SQL Server© is a registered trademark of Microsoft Corporation in the United States and/or other countries.
Windows© is a registered trademark of Microsoft Corporation in the United States and/or other countries.
Oracle© is a registered trademark of Oracle Corporation in the United States and/or other countries.
Informix© is a registered trademark of IBM Corporation in the United States and/or other countries.
SAP© is a registered trademark or SAP AG in Germany and in other countries.
HP© is a registered trademark or Hewlett-Packard Corporation in the United States and in other countries.