FBMon

FBMon is a command-line tool written in Python that allows you to work with Firebird Monitoring Tables. It requires the FDB Python driver for Firebird to work.

Basics

FBMon is a multipurpose tool that can be operated in two modes:

  • (Default mode) Only one snapshot of monitoring tables is taken and processed. This mode is useful to inspect the current activity within a given database.
  • Snapshots are taken and then processed at periodic intervals. This mode is useful for logging, analyzing and responding to certain activities that take place within the given database.

FBMon defines several data sources on top of the monitoring tables that can be processed. These data sources are presented as objects or collections of objects, and are available to FBMon users through configuration file(s). The configuration (file) is the pivotal item for FBMon as it defines how data from the data sources should be processed (extracted and transformed). This definition has the form of arbitrary Python expressions. Besides built-in Python functions and data FBMon also provides access to a set of additional functions and selected modules from the standard Python library.

FBMon can perform the following:

  • Show data from data sources on screen.
  • Write data from data sources to (log) file(s) in various formats.
  • Check data from data sources, i.e. evaluate conditions and signal whether a condition was met or not. These checks may trigger actions.
  • Perform action(s) triggered by checks.

FBMon behavior is defined by command line options.

Possible use

  • Display the current Firebird state related to a specific database in various formats and levels of detail. It's possible to use the checks and actions mechanisms to highlight specific conditions or states.
  • Log Firebird states related to a specific database over time for later analysis in various output formats and using various logging strategies. It's possible to use the checks and actions mechanisms to start/stop logging in reaction to the occurrence of specific states.
  • Checks and actions can be used for system surveillance and automatic maintenance. FBMon supports advanced schemes like response escalation or creation of simple state machines.

You can learn more about possible usage patterns and FBMon functionality from this presentation You can navigate through the slide-show using left/right arrow keys, spacebar or mouse-click on slide edges

Availability and Licensing

FBMon is distributed under permissive BSD-style Open Source license on the IBPhoenix Developer DVD (starting from issue 25) buy