Database Monitoring with BusyBee Agenda What is BusyBee ? Architecture XML Configuration File ...

15
Database Monitoring with BusyBee Agenda What is BusyBee ? Architecture XML Configuration File Domain Inspectors Alert Examples Interface to SystemManagement Platform OS-/ Databaseserver-Support Future Plans BusyBee Links BusyBee Overview April 28, 2003 http://www.herber-consul ting.de Slide 1

Transcript of Database Monitoring with BusyBee Agenda What is BusyBee ? Architecture XML Configuration File ...

Page 1: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Database Monitoring with BusyBee

Agenda What is BusyBee ?

Architecture

XML Configuration File

Domain Inspectors

Alert Examples

Interface to SystemManagement Platform

OS-/ Databaseserver-Support

Future Plans

BusyBee Links

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 1

Page 2: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

What is BusyBee ?

Free of charge Database Monitoring Solution for IBM Informix Dynamic Server and IBM DB2 UDB

Multi-Process-Architecture where each subprocess inspects an individual Database Domain

Easy customization of individual thresholds and time intervals thru an XML configuration file

Early Warning System with 4 escalation levels (Warning, Minor, Critical and Fatal)

Simple integration with existing System Management Platforms thru a userexit mechanism

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 2

Page 3: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Architecture I

BbWatch is the daemon process which runs in the background

According to the XML configuration file BbWatch forks several independent Domain Inspectors

Each Domain Inspector is fully configurable:

Wakeup Interval Threshold Values (Warning, Minor, Critical, Fatal) Include/Exclude Search Patterns External script which should be triggered (userexit)

Signal Handling implemented to re-start (SIGHUP) or shutdown (SIGTERM) these Domain Inspectors

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 3

Page 4: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.de

Architecture II (BbWatch Daemon)

BbWatchMaster Daemon

<InstallDir>/BusyBee/etc/BbWatchIfxCfg.<instance>.xml

Domain InspectorInspectorDbmStatusCheck

Fork individual Domain Inspectors. Each Inspector observes an individual Database Resource.

Domain InspectorInspectorDbspaceFullCheck

Domain InspectorInspectorOnlineLogCheck

Domain InspectorOther

Parse the XML configuration file.

IDS Utility(onstat)

Observe the IDS Message Logfile

FileParsing(online.log)

Check Databaserver Availability

SQL-Query(DB

sysmaster)

Check filling degree of Dbspaces

Slide 4

Page 5: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.de

Architecture III (Domain Inspector)

Domain InspectorInspectorDbspaceFullCheck

<Domain Name='DbspaceFullCheck'> <Enabled>1</Enabled> <Interval>10m</Interval> <Group> <Include>%</Include> <Exclude></Exclude> <Warning>60</Warning> <Minor>70</Minor> <Critical>80</Critical> <Fatal>90</Fatal> <ExecuteScript>/bin/alert.ksh</ExecuteScript> </Group></Domain>

<InstallDir>/BusyBee/etc/BbWatchIfxCfg.<instance>.xml

SQL-Query(DB

sysmaster)

Write status information to logfileCheck filling degree of Dbspaces <InstallDir>/BusyBee/log/BbWatch.<dbserver>.log

/bin/alert.sh

Trigger external script if anyone of the configured thresholds is exceeded.Arguments delivered to external script:

(1) Instance Name(2) Domain Name(3) Severity (Warning,

Minor, ...)(4) Messagetext

Get configuration information from XML config file

Slide 5

Page 6: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

XML Configuration File I

An individual XML Configuration File has to be created for each

IBM IDS or DB2 UDB instance:

<InstallDir>/BusyBee/etc/BbWatchIfxCfg.<instance>.xml <InstallDir>/BusyBee/etc/BbWatchUdbCfg.<instance>.xml

Each Domain Inspector has a separate section inside this XML

ConfigFile which contains individual settings:

Domain Inspector Enabled/Disabled Time Interval (can be specified in sec, min, hours, days) Threshhold Values (Warning, Minor, Critical, Fatal) External Script to be triggered (Examples included) Individual settings depending on the Domain Inspector

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 6

Page 7: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

XML Configuration File II

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.de

<<!-- Filling Degree of individual Dbspaces (Percent) --><Domain Name='DbspaceFullCheck'> <Enabled>1</Enabled> <Interval>10m</Interval> <Group> <Include>%</Include> <Exclude></Exclude> <Warning>60</Warning> <Minor>70</Minor> <Critical>80</Critical> <Fatal>90</Fatal> <ExecuteScript>/bin/alert.ksh</ExecuteScript> </Group></Domain>

<!-- Duration of individual Checkpoints (s=sec, m=min) --><Domain Name='CheckPointCheck'> <Enabled>1</Enabled> <Interval>10m</Interval> <ExecuteScript>/bin/sendMail.ksh</ExecuteScript> <Warning>3s</Warning> <Minor>5s</Minor> <Critical>10s</Critical> <Fatal>20s</Fatal></Domain>

Slide 7

Page 8: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Domain Inspectors for IBM IDS I

For the IBM Informx Dynamic Server the following Domain Inspectors

are currently implemented: DbmStatusCheck (Is the Instance available) ? LongTxCheck (Is there a long transaction ongoing ?) ConnectCheck (Check Connection to databaseserver) DbspaceFullCheck (Check filling degree of dbspaces) CheckpointCheck (Check the duration of checkpoints) OnlineLogCheck (Parse the 'online.log' for configured patterns) LogFullCheck (Are the logical logs filled ?) MaxExtentCheck (Check number of extents per table/fragment) MaxPageCheck (Check the number of allocated pages) SessionLockCheck (Check number of locks per db session)

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 8

Page 9: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Domain Inspectors for IBM IDS II

VirtualSegmentCheck (Check number of alloc. virt. SHM segm.) DbspaceDownCheck (Is any Dbspace in 'down' state ?) ChunkDownCheck (Is any Chunk in 'down' state ?) SessionMemoryCheck (Check allocated memory per db session) ForegroundWriteCheck (Check number of foreground writes) DeadLockCheck (Check number of deadlocks occured) ReadCacheCheck (Check the current read cache rate) WriteCacheCheck (Check the current write cache rate) SequentialScanCheck (Check for sequential scans on tables) ReadyQueueCheck (Check the utilization of the ready queue)

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 9

Page 10: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Domain Inspectors for IBM DB2 UDB

Available in Q3/2003

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 10

Page 11: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Alert Examples

Here is an short excerpt of the BusyBee Logfile:

2003-04-26 15:54:57 iif930 INFO BBWHIFX004

Inspecting Domain [DbmStatusCheck]

2003-04-26 15:55:30 iif930 MINOR BBWHIFX008

Domain [VirtualSegmentCheck], Number of allocated Virtual SHM

Segments is [4]

2003-04-26 15:55:30 iif930 WARNING BBWHIFX025 Domain [WriteCacheCheck],

Current Write Cache Rate is: [80.60] %

2003-04-26 15:55:31 iif930 MINOR BBWHIFX006

Domain [DbspaceFullCheck], Dbspace [idxdbs] is [79]% full

2003-04-26 15:55:31 iif930 CRITICAL BBWHIFX006

Domain [DbspaceFullCheck], Dbspace [datadbs] is [82] % full

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 11

Page 12: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

SystemManagement Interface

BusyBee could be easily integrated with existing SystemManagement

Platforms like CA Unicenter, IBM Tivoli, HP/OpenView or BigBrother

thru the 'userexit' mechanism, for example: <ExternalScript>/usr/bin/sendOpenView.ksh</ExternalScript>

This entry in the XML ConfigFile instructs BusyBee to call the script

/usr/bin/sendOpenView.ksh as soon as anyone of the configured

thresholds has been exceeded. Arguments to sendOpenView.ksh are: Domain Name (like 'DbspaceFullCheck' or 'CheckpointCheck') Severity (Warning, Minor, Critical, Fatal) Instance Name (the name of the Informix or DB2 UDB instance) Messagetext (The full text of the BusyBee message)

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 12

Page 13: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

OS-/Databaseserver-Support

BusyBee is available on the all UNIX based platforms where

Python could be ported to. For popular platforms like AIX,

HP/UX, Linux and Solaris there exists binary distributions of

Python.

BusyBee supports the following databaseservers on these

platforms: IBM Informix IDS 7.x IBM Informix IDS 9.x IBM DB2 UDB 7.x (available in Q3/2003) IBM DB2 UDB 8.x (available in Q3/2003)

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 13

Page 14: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

Future Plans

For future releases of BusyBee the following enhancements are

planned: Add additional Domain Inspectors for IBM Informix Dynamic

Server and IBM DB2 UDB Support the OpenSource databaseserver MySQL Provide a data collector module (BbPerf) which collects

performance and operational data Provide a web based interface for analyzing the data collected

by BbPerf

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 14

Page 15: Database Monitoring with BusyBee Agenda  What is BusyBee ?  Architecture  XML Configuration File  Domain Inspectors  Alert Examples  Interface to.

BusyBee Links

The following links might be intesting:

http://www.herber-consulting.de/BusyBee

(BusyBee MainPage containing Documentation, FAQ, Release-History and Download Information)

http://www.python.org

(MainPage of the Python Project) http://www.sunfreeware.com

(Precompiled Python Binaries for the Solaris OS) http://www.bullfreeware.com

(Precompiled Python Binaries for the AIX OS) [email protected]

For additional information feel free to contact me via Email

BusyBee OverviewApril 28, 2003

http://www.herber-consulting.deSlide 15