How to create a custom report using BIRT

Contents

This section reviews GroundWork Monitor Custom Reports.

1.0 Report Designer Initial Setup

GroundWork Monitor integrates the BIRT Report Viewer enabling operators to view GroundWork Reports, the standard pre-defined production reports including Alert and Notification counts, Availability, and Performance reports. In addition, GroundWork Monitor utilizes the Eclipse BIRT Report Designer which enables developers to create custom monitoring reports. This section covers the Getting Started steps including downloading and installing Java and the BIRT Eclipse Report Designer environment. The required components needed to use the BIRT Report Designer with GroundWork Monitor include:

1.1 Downloading and Installing Java

Select the following link to download and install Java SE for your platform: Java SE Development Kit 5.0

1.2 Downloading and Installing BIRT Report Designer
  1. Go to the GroundWork Support Portal at: GroundWork Connect
  2. In the right search box, type and search for Custom Reporting.
  3. Select the GroundWork Monitor 6.x custom reporting files link.
  4. For Windows users select the zip file: birt-repport-designer-all-in-one-2_5_2.zip and for Linux users select the tar file: birt-report-designer-all-in-one-linux-gtk-2_5_2.tar.gz. The download process will take approximately 5 minutes. Once downloaded you will need to extract these files to your reporting directory. For example: c:\GWCustomReports

Figure: Download and Install BIRT

1.3 Testing your Installation
  1. Start Eclipse:
    C:\GWCustomReports\eclipse\eclipse.exe -clean -vmargs -XX:MaxPermSize=128m
    The -XX:MaxPermSize=128m is to prevent a known Eclipse bug # 205741. For more information please see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=205741
  2. When you initially start Eclipse you will be prompted to choose a workspace folder name; e.g. GWCustomReportsProjects. You may also want to check the box to set this folder as the default.
  3. Next, select the Window menu option, choose Open Perspective, Other, and Report Design.
  4. To create reports you will need to first create a project; select File, New, Project, Business Intelligence and Reporting Tools (BIRT), Report Project, and select Next.
  5. Type a Project Name (e.g. My GroundWork Reports).
  6. Select Finish, and continue with Step 2 - Creating Custom Reports.
    Some configurations may run into a known Eclipse/Firefox view report error. You can use the following to prevent this. This can be put into a startup script that exports the VAR and then starts eclipse. The startup script should include the -XX:MaxPermSize=128m fix documented above.
    MOZILLA_FIVE_HOME=/yourfirefoxinstalltionlocation
    export MOZILLA_FIVE_HOME=/usr/java/jdk1.5.0_06/jre/lib/i386/client

2.0 Creating Custom Reports

The following steps will guide you through creating a custom Host table report including setting up the report design, data source, and data set.

2.1 Setting up a Report Design
  1. In the Report Designer, select File, New, and Report.
  2. If not already selected for you, select My GroundWork Reports (or the name you created earlier in setup) as the parent folder.
  3. Type a File name, e.g. gw_sample_report, and click Finish.
  4. Next, we'll add the report parameter. In the Report Design screen (shown below), click on the Outline tab, right-click on Report Parameters, and New Parameter.
  5. In the New Parameter box change the parameter Name to Host, enter a Prompt Text, e.g. Enter Host, and set the Default value to localhost (or enter your running GroundWork Monitor installation). Leave the other settings as is.
  6. Click OK.

Figure: Naming report and setting parameters

2.2 Setting up the Data Source

This section we will setup the data source to be able to access our report data. Report data comes from many different information systems. An important step in developing a report is ensuring you can connect to a system that provides data. We will cover how to access data from the data source type Web Services Data Source.

  1. In the Report Design screen within the Outline tab, right-click Data Sources, and New Data Source.
  2. Choose Web Services Data Source and enter a Data Source Name as DSWSHost.
  3. Next, define the WSDL URL or location http://"GWSERVER"/foundation-webapp/services/wshost?wsdl where GWSERVER is your GroundWork Server, leaving the SOAP End Point, Custom Driver Class, and Driver Class Path blank. This data source can be used for any queries into the WSHost WebService.
  4. You may want to test your server connection by selecting Test Connection. Click Finish.

Figure: Setting Data Source

Figure: Setting WSDL URL or location

2.3 Setting up a Data Source over SSL (https)

This section will discuss the additional steps required to set up a data source to a server utilizing SSL (https). In addition to the steps outlined in the procedure above, you must copy the SSL certificate from the server to a file, import the certificate in the java keystore, and modify the WSDL URL or Location field in Eclipse.

Copy the secure server SSL certificate to a file:

  1. This guide was developed using Windows XP with Internet Explorer. This exact procedure may be different depending on the specific web browser and operating system used.
  2. Open a web browser and navigate URL of the server, i.e. https://<groundwork server FQDN>. Ignore or click through any warnings encountered
  3. View the sites certificate, select the details tab, and click "Copy to File"
  4. Select DER encoded binary X.509 (.CER) as the format.
  5. Browse and select the name and location of the exported certificate. Once the certificate is exported, close the browser.

Import the exported certificate:

  1. Open a command prompt and navigate to the directory containing java's keytool.exe. For a standard Windows Xp installation with Java 1.7.0_04-b22 iunstalled, this path is "C:\Program Files\Java\jre7\bin\". Also note the full path to cacerts in the java install. For this installation example this is "C:\Program Files\Java\jre7\lib\security\cacerts"
  2. Import the certificate you exported earlier:
    keytool.exe -import -trustcacerts -file <full path to the exported certificate> -alias <my_cert_alias> -keystore "<full path to cacerts>"
    

    You will be prompted for the keystore password, which by default is "changeit". If desired, you can change this password:

    keytool -storepasswd -keystore "<full path to cacerts>"
    
  3. Verify the certificate was imported correctly through the java applet in control pannel:
    Security -> Certificates -> System tab. the Certificate type is "Secure site CA"

Modify the WSDL URL or Location field in Eclipse.

  1. The procedure for setting up the data source is the same as the previous section, except you have to modify the WSDL URL or Location field in Eclipse:
    https://<groundwork server FQDN>/foundation-webapp/services/wshost?wsdl
    where <groundwork server FQDN> is the exact same name used when copying the certificate to a file.
  2. The Report Designer automatically prompts for Web Service API credentials with a dialog box. By default GroundWork uses the credentials for user wsuser defined in the Portal Administration User Management page. At install time the password is set to wsuser but can be changed. After successful authentication, the credentials will be remembered and the Report Designer will not prompt for them while working on the report.
    When you change the credentials for wsuser, the ws_client.properties file needs to be adjusted as well. The /usr/local/groundwork/config/ws_client.properties file is used by the BIRT Viewer at run time to obtain the access credentials.
  3. Test your server connection by selecting Test Connection. You will be propted to provide the username and password for wsuser.
2.4 Setting up a Data Set

Data sources typically contain more data than is needed in an effective report. This section explains how to define data sets to retrieve only the data required for a report. Specifically, this section describes the process for setting up a Web Service Data Set, the data to be included in the report. We'll start by creating a new Data Set Name (GWHosts) and continue with defining the parameters which indicates what data will be queried from the Web Service Data Source.

Creating a New Data Set
  1. In the Report Design screen and within the Outline tab, right-click Data Sets, and New Data Set.
  2. Make sure Data Source equals the one created previously (e.g. DSWSHost).
  3. Enter a Data Set Name (e.g. GWHosts) and click Next.
  4. The Report Designer automatically prompts for Web Service API credentials with a dialog box. By default GroundWork uses the credentials for user wsuser defined in the Portal Administration User Management page. At install time the password is set to wsuser but can be changed. After successful authentication, the credentials will be remembered and the Report Designer will not prompt for them while working on the report.
    When you change the credentials for wsuser, the ws_client.properties file needs to be adjusted as well. The /usr/local/groundwork/config/ws_client.properties file is used by the BIRT Viewer at run time to obtain the access credentials.

Figure: Creating Data Set

  • Continue defining the parameters. Expand the list and select the method you would like to use (e.g. getHosts), click Next.

Figure: Selecting a WSDL operation

  • Select the SOAP Parameters that will be used as an input for the getHosts call. The fields type, startRange and endRange are required. Click Next.

Figure: Indicating parameters for WSDL

  • For the SOAP Request the parameter and default values need to be defined. Click Edit Parameters and define the defaults. Click Next.
  • Soap Response. Make sure you select Use schema from response otherwise the return values of the call are not displayed in the next screens. Leave other fields blank. Click Next.

Figure: Editing SOAP Request parameters

  • In Row Mapping expand the XML structure and select a value from the response to be included in the Data Set. Select "XML elements named <value> at fixed absolute path" then click OK. This will serve as a "starting point" for the values selected in the column mapping below. In this example we choose Name. Click Next.

Figure: Selecting Values for Data Set

  • In the Column Mapping screen select the values from the response to be included in the Data Set (Name, MonitorStatus and LastCheckTime) and add to the mapping. Choose "XML elements at fixed absolute path" the click OK; for clarity, the Column Name can be changed to a more descriptive value (note several elements are simply called "Name.") . Please note that MonitorStatus is an object that needs to be expanded to get the Name. The Column Mapping XPath field will be relative to the Row mapping value selected above. Show Sample Data will run the query and retrieve the real data.
  • Click Finish to complete the data set creation.
  • Repeat the steps for any other SOAP call for the same or different data sources. Once the Data Source and the Data Sets are completed you can move ahead and assign values to charts, tables, etc.

Figure: Selecting Column Mapping values

2.5 Creating a Host Table Report
  1. To create the Host report we defined earlier (gw_sample_report.rptdesign), drag GWHosts Data Set from Outline onto the report canvas. A table will be automatically created displaying all columns of the defined Data Set.
  2. Click the Preview tab to view report. To view the report in other formats, select Run, and View Report.

Figure: Dragging Data Set to report canvas

Figure: Previewing Host report

3.0 Publishing Reports

This page covers how to publish a custom report you've created using the Report Designer to the Report Viewer in GroundWork Monitor.

A .rptdesign file is created with the BIRT Report Designer and defines the content of the report. The reports are uploaded to the /usr/local/groundwork/gwreports directory by default. This location can be configured. The publishReport option lets you browse and upload a design file (.rptdesign) to the server for viewing.

  1. From the Reports page, under Report Select, select publishReport from the drop-down list.
  2. Click on an existing report folder that you would like the report to be located. A list of published reports is displayed for each directory.
    The published report will upload to the folder that is current (e.g. AvailabilityReports). If you do not select an existing folder the report will be place at the bottom of the current folders.
  3. Click Browse and select a report file to publish.
  4. Click the Upload button to upload the report to the current directory. The report will be immediately available for viewing.

4.0 Foundation Entity Descriptions

This section describes the Foundation data which can be queried with the BIRT Foundation ODA.

The GroundWork Data Source allows for report designers to query entity information stored in the Foundation by exposing a set of entities and entity properties that a report designer can query and filter by.

Each entity has a set of related data properties that are returned as a result of an entity query.  Each entity property is defined as either being built-in or dynamic.  A built-in entity property is common to the entity regardless of the application type for the entity. A dynamic property is a property that is related to a specific application type (e.g. NAGIOS).  When defining an entity query, the report designer defines the entity type that he / she wants to query as well as the application type for the entity.  If the report designer chooses the SYSTEM application type then only the built-in properties for the specified entity will be returned in the query. If the report designer chooses another application type such as NAGIOS then both the built-in and application type specific properties for the specified entity will be returned in the query.

When constructing the entity query in the report designer the user can define a query filter that defines which data should be returned.  This is similar to using a SQL "WHERE" clause when using SQL to query information from a database.  Currently, only the built-in properties of an entity can be used to define a query filter.  The entity tables below describe the available entities and their related data properties and whether or not the property can be used in a query filter (Filterable).

Also see Statistical Entity Descriptions.

4.1 Foundation (Physical) Entities

APPLICATION_TYPE

Types of systems / applications that can be monitored through the system (e.g. NAGIOS, SYSLOG, JMX)

Table: Application Type

Property Name Application Type Description Date Type Filterable
ApplicationType SYSTEM Unique name of ApplicationType (e.g. NAGIOS, SYSTEM) String(128) Y
ApplicationTypeId SYSTEM Application Type unique identifier Integer Y
Description SYSTEM Textual description of application type String(254) Y
HostCount SYSTEM Number of hosts related to application type Long N
ServiceCount SYSTEM Number of service checks related to application type Long N
STAT_HOST_STATUS_DOWN SYSTEM Number of hosts currently in the DOWN state for the entire system.These statistics are not currently broken down by application type. Long N
STAT_HOST_STATUS_PENDING SYSTEM Number of hosts currently in the PENDING state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_HOST_STATUS_UNREACHABLE SYSTEM Number of hosts currently in the UNREACHABLE state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_HOST_STATUS_UP SYSTEM Number of hosts currently in the UP state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_SERVICE_STATUS_CRITICAL SYSTEM Number of services currently in the CRITICAL state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_SERVICE_STATUS_OK SYSTEM Number of services currently in the OK state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_SERVICE_STATUS_PENDING SYSTEM Number of services currently in the PENDING state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_SERVICE_STATUS_UNKNOWN SYSTEM Number of services currently in the UNKNOWN state for the entire system.  These statistics are not currently broken down by application type. Long N
STAT_SERVICE_STATUS_WARNING SYSTEM Number of services currently in the WARNING state for the entire system.  These statistics are not currently broken down by application type. Long N

CATEGORY

Logical grouping of Foundation entities.

Table: Category

Property Name Application Type Description Date Type Filterable
Category SYSTEM Name of category String(254) Y
CategoryId SYSTEM Category unique identifier Integer Y
Description SYSTEM Description of category String(254) Y

CHECK_TYPE

Represents type of check performed, ACTIVE or PASSIVE

Table: Check Type

Property Name Application Type Description Date Type Filterable
CheckType SYSTEM Check Type String(254) Y
CheckTypeId SYSTEM Check Type unique identifier Integer Y
Description SYSTEM Description of check type String(254) Y

COMPONENT

Table: Component

Property Name Application Type Description Date Type Filterable
Component SYSTEM Component name String(128) Y
ComponentId SYSTEM Component unique identifier Integer Y
Description SYSTEM Description of component String(254) Y

DEVICE

A device represents a server, router, switch, etc.

Table: Device

Property Name Application Type Description Date Type Filterable
Device SYSTEM Device Identification (IP) String(128) Y
DeviceId SYSTEM Device unique identifier Integer Y
Description SYSTEM Device description String(254) Y
DisplayName SYSTEM Device display name (Domain Name) String(254) Y

HOST

A host represents a physical server, workstation, device, etc. that resides on your network.

Table: Host

Property Name Application Type Description Date Type Filterable
ApplicationType SYSTEM Application type for which the host is associated String(128) Y
ApplicationTypeId SYSTEM Application type id for which the host is associated Integer Y
Description SYSTEM Description of host String(254) Y
Device SYSTEM Name of device (usually IP) related to the host String(128) Y
DeviceId SYSTEM Identifier of device related to the host Integer Y
Host SYSTEM Name of host String(254) Y
HostId SYSTEM Unique identifier of host Integer Y
LastCheckTime SYSTEM Date / Time of last status check DateTime Y
MonitorStatus SYSTEM Current monitor status for the host String(254) Y
MonitorStatusId SYSTEM Identifer for the current monitor status of the host Integer Y
ServiceCount SYSTEM Number of services related to the host Long N
STAT_SERVICE_STATUS_CRITICAL SYSTEM Number of host related services currently in the CRITICAL state Long N
STAT_SERVICE_STATUS_OK SYSTEM Number of host related services currently in the OK state Long N
STAT_SERVICE_STATUS_PENDING SYSTEM Number of host related services currently in the PENDING state Long N
STAT_SERVICE_STATUS_UNKNOWN SYSTEM Number of host related services currently in the UNKNOWN state Long N
STAT_SERVICE_STATUS_WARNING SYSTEM Number of host related services currently in the WARNING state Long N

HOSTGROUP

A grouping of hosts for reporting and display purposes.

Table: Host Group

Property Name Application Type Description Date Type Filterable
ApplicationType SYSTEM Application type for which the hostgroup is associated. String(128) Y
ApplicationTypeId SYSTEM Application type id for which the hostgroup is associated. Integer Y
Description SYSTEM Description of hostgroup String(254) Y
HostCount SYSTEM Number of hosts related to the hostgroup Long N
HostGroup SYSTEM Hostgroup name String(254) Y
HostGroupId SYSTEM Unique identifier of hostgroup Integer Y
ServiceCount SYSTEM Number of services related to the hostgroup Long N
STAT_HOST_STATUS_DOWN SYSTEM Number of hostgroup related hosts currently in the DOWN state Long N
STAT_HOST_STATUS_PENDING SYSTEM Number of hostgroup related hosts currently in the PENDING state Long N
STAT_HOST_STATUS_UNREACHABLE SYSTEM Number of hostgroup related hosts currently in the UNREACHABLE state Long N
STAT_HOST_STATUS_UP SYSTEM Number of hostgroup related hosts currently in the UP state Long N
STAT_SERVICE_STATUS_CRITICAL SYSTEM Number of hostgroup related services currently in the CRITICAL state Long N
STAT_SERVICE_STATUS_OK SYSTEM Number of hostgroup related services currently in the OK state Long N
STAT_SERVICE_STATUS_PENDING SYSTEM Number of hostgroup related services currently in the PENDING state Long N
STAT_SERVICE_STATUS_UNKNOWN SYSTEM Number of hostgroup related services currently in the UNKNOWN state Long N
STAT_SERVICE_STATUS_WARNING SYSTEM Number of hostgroup related services currently in the WARNING state Long N

HOST_STATUS

Represents current state of a particular host.

Table: Host Status

Property Name Application Type Description Date Type Filterable
30DayMovingAvg NAGIOS
Double N
ApplicationType SYSTEM Application type for which the host status is associated. String(128) Y
ApplicationTypeId SYSTEM Application type id for which the host status is associated. Integer Y
CheckType SYSTEM Type of check (e.g. passive or active) String(254) Y
CheckTypeId SYSTEM Unique identifier of check type Integer Y
CurrentNotificationNumber NAGIOS
Integer N
ExecutionTime NAGIOS
Double N
Host SYSTEM Name of host related to the host status. String(254) Y
HostStatusId SYSTEM Unique identifier of host status.  This id is also the id of the host for which the status is related. Integer Y
isAcknowledged NAGIOS
Boolean Y
isChecksEnabled NAGIOS
Boolean N
isEventHandlersEnabled NAGIOS
Boolean N
isFailurePredictionEnabled NAGIOS
Boolean N
isFlapDetectionEnabled NAGIOS
Boolean N
isHostFlapping NAGIOS
Boolean N
isNotificationsEnabled NAGIOS
Boolean N
isPassiveChecksEnabled NAGIOS
Boolean N
isProcessPerformanceData NAGIOS
Boolean N
LastCheckTime SYSTEM Date / Time the host status was last checked. DateTime Y
LastNotificationTime NAGIOS
DateTime N
LastPluginOutput NAGIOS
String (TEXT) N
LastStateChange NAGIOS
DateTime N
Latency NAGIOS
Double N
MonitorStatus SYSTEM Current host state String(254) Y
MonitorStatusId SYSTEM Unique identifier of current host state Integer Y
PercentageStateChange NAGIOS
Double N
ScheduledDowntimeDepth NAGIOS
Integer N
TimeDown NAGIOS
Long N
TimeUnreachable NAGIOS
Long N
TimeUp NAGIOS
Long N

LOG_MESSAGE

Event message which occurred in the system.

Table: Log Message

Property Name Application Type Description Date Type Filterable
AcknowledgeComment NAGIOS
String(TEXT) N
AcknowledgedBy NAGIOS
String(TEXT) N
ApplicationCode NAGIOS
String(TEXT) N
ApplicationName NAGIOS
String(TEXT) N
ApplicationSeverity SYSTEM
String(128) Y
ApplicationSeverityId SYSTEM
Integer Y
ApplicationType SYSTEM Application type for which the log message is associated. String(128) Y
ApplicationTypeId SYSTEM Application type id for which the log message is associated. Integer Y
Component SYSTEM
String(128) Y
ComponentId SYSTEM
Integer Y
Device SYSTEM Device (IP) for which this log message is related. String(128) Y
DeviceDisplayName SYSTEM Device display name for which this log message is related. String(254) Y
DeviceId SYSTEM Unique identifier of device related to this log message. Integer Y
ErrorType NAGIOS
String(TEXT) N
FirstInsertDate SYSTEM Date / Time of the first occurrence of this log message DateTime Y
HostStatusId

SYSTEM
Host status related to the log message.  This field can be null if log message is not related to a host. Integer Y
LastCheckTime SYSTEM Date / Time of the last host status check.  This field can be null if log message is not related to a host. DateTime Y
LastInsertDate SYSTEM Date / Time of the last occurrance of this log message. DateTime Y
LoggerName NAGIOS
String(TEXT) N
LogMessageId SYSTEM Unique identifier of the log message Integer Y
MessageCount SYSTEM Number of times this log message has occurred when consolidating. Integer Y
MonitorStatus SYSTEM Status of log message String(254) Y
MonitorStatusId SYSTEM Unique identifier of log message status. Integer Y
OperationStatus SYSTEM Current status of log message (e.g. OPEN, CLOSED, NOTIFIED, and ACCEPTED) String(128) Y
OperationStatusId SYSTEM Unique identifier of current status of log message Integer Y
Priority SYSTEM Priority scale value of log message String(128) Y
PriorityId SYSTEM Unique identifier of log message priority Integer Y
ReportDate SYSTEM Date / Time log message was reported to Foundation. DateTime Y
ServiceDescription SYSTEM Name of service check for which the log message is related. String(254) Y
ServiceStatusId SYSTEM Unique identifier of service check Integer Y
Severity SYSTEM Severity level related to the log message String(128) Y
SeverityId SYSTEM Unique identifier of log message severity Integer Y
StateChanged SYSTEM Boolean indicating whether the log message resulted from a state change Boolean Y
SubComponent NAGIOS
String(TEXT) N
TextMessage SYSTEM Log message text String(TEXT) Y
TypeRule SYSTEM
String(128) Y
TypeRuleId SYSTEM
Integer Y

MONITOR_SERVER

Table: Monitor Server

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of monitor server String(254) Y
IP SYSTEM IP address of monitor server String(128) Y
MonitorServer SYSTEM Name of monitor server String(254) Y
MonitorServerId SYSTEM Unique identifier of monitor server Integer Y

MONITOR_STATUS

Represents a monitor state for hosts, services, and log messages within Foundation.  Available monitor statuses include OK, DOWN, UNREACHABLE, WARNING, CRITICAL, UNKNOWN, UP and PENDING.

Table: Monitor Status

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of monitor status String(254) Y
MonitorStatus SYSTEM Unique name of monitor status String(254) Y
MonitorStatusId SYSTEM Unique identifier of monitor status Integer Y

OPERATION_STATUS

Represents a operation state of a log message within Foundation.  Available operation statuses include OPEN, CLOSED, NOTIFIED, and ACCEPTED.

Table: Operation Status

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of operation status String Y
OperationStatus SYSTEM Unique name of operation status String Y
OperationStatusId SYSTEM Unique identifier of operation status Integer Y

PRIORITY

Represents a priority of a log message with Foundation.  Available priority values include a range from 1 - 10 with one being the lowest priority.

Table: Priority

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of priority String Y
Priority SYSTEM Unique name of priority String Y
PriorityId SYSTEM Unique identifier or priority Integer Y

SERVICE_STATUS

Represents a service running on a host and its current status.

Table: Service Status

Property Name Application Type Description Date Type Filterable
30DayMovingAvg NAGIOS
Double N
ApplicationType SYSTEM Application type for which the service check is associated. String Y
ApplicationTypeId SYSTEM Application type id for which the service check is associated. Integer Y
CheckType SYSTEM Type of check (e.g. passive or active) String Y
CheckTypeId

SYSTEM
Unique identifier of check type Integer Y
CurrentNotificationNumber NAGIOS
Integer N
Domain SYSTEM


ExecutionTime NAGIOS
Double N
HostId SYSTEM Unqiue host id for which the service check is related Integer Y
HostName SYSTEM Name of host for which the service check is related String Y
isAcceptPassiveChecks NAGIOS
Boolean Y
isChecksEnabled NAGIOS
Boolean N
isEventHandlersEnabled NAGIOS
Boolean N
isFailurePredictionEnabled NAGIOS
Boolean N
isFlapDetectionEnabled NAGIOS
Boolean N
isNotificationsEnabled NAGIOS
Boolean N
isObsessOverService NAGIOS
Boolean N
isProblemAcknowledged NAGIOS
Boolean N
isProcessPerformanceData NAGIOS
Boolean N
isServiceFlapping NAGIOS
Boolean N
LastCheckTime SYSTEM Date / Time  when the service check was performed DateTime Y
LastHardState SYSTEM
String Y
LastHardStateId SYSTEM
Integer Y
LastNotificationTime NAGIOS
DateTime N
LastPluginOutput NAGIOS
String N
LastStateChange NAGIOS
DateTime N
Latency NAGIOS
Double N
MetricType SYSTEM
String Y
MonitorStatus SYSTEM Current status result of service check String(254) Y
MonitorStatusId SYSTEM Unique identifier of current status Integer Y
NextCheckTime SYSTEM Date / Time when the next check is scheduled DateTime Y
PercentageStateChange NAGIOS
Double N
RetryNumber NAGIOS
Integer N
ScheduledDowntimeDepth NAGIOS
Integer N
ServiceDescription SYSTEM Name of service check String(254) Y
ServiceStatusId SYSTEM Unique identifier of service check Integer Y
TimeCritical NAGIOS
Long N
TimeOK NAGIOS
Long N
TimeUnknown NAGIOS
Long N
TimeWarning NAGIOS
Long N

SEVERITY

Represents a severity of a log message with Foundation.  Available severity values include FATAL, HIGH, LOW, WARNING, PERFORMANCE, STATISTIC, SERIOUS, CRITICAL, OK, UNKNOWN, NORMAL, MAJOR, MINOR, INFORMATIONAL, UP, DOWN and UNREACHABLE

Table: Severity

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of severity String(254) Y
Severity SYSTEM Unique name of severity String(128) Y
SeverityId SYSTEM Unique identifier of severity Integer Y

STATE_TYPE

Coupled with Monitor status indicates the state of a host / service.  Available values include HARD or SOFT.

Table: State Type

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of state type String(254) Y
StateType SYSTEM Name of state type (e.g. HARD, SOFT) String(254) Y
StateTypeId SYSTEM Unique identifier of state type Integer Y

TYPE_RULE

Table: Type Rule

Property Name Application Type Description Date Type Filterable
Description SYSTEM Description of type rule String(254) Y
TypeRule SYSTEM Name of type rule String(128) Y
TypeRuleId SYSTEM Unique identifier of type rule Integer  
4.2 Statistical Entity Descriptions

Statistic entities are different then the physical entities because they are calculated at run-time and are not directly persisted in the database.  When querying a statistical entity, the query filter is actually a set of named parameters and not a set of entity properties.  When building a query filter a report designer is actually defining the statistic entity query parameter values to pass to the query.  Please note, the operator in statistical entity query filters should always be EQ and the logical operator is ignored.

The following tables are all the statistic entities that a report designer can query.

HOST_STATISTICS

Table: Host Statistics

Property Name Application Type Description Date Type Filterable
Count SYSTEM Number of hosts in the particular state Long N
HostGroupName SYSTEM Name of host group String(254) N
Name SYSTEM Name of monitor status String(254) N

Parameters

All parameters are optional.

LOG_MESSAGE_STATISTICS

Table: Log Message Statistics

Property Name Application Type Description Date Type Filterable
Count SYSTEM Number of log messages for the particular state Long N
Name SYSTEM Name of monitor status, priority, severity, operation status depending on the statistic type being queried String(254) N

Parameters

All parameters are optional.

SERVICE_STATISTICS

Table: Service Statistics

Property Name Application Type Description Date Type Filterable
Count SYSTEM Number of services in the particular state Long N
Name SYSTEM Name of monitor status String(254) N
OwnerName SYSTEM Host or Host Group Name depending on statistics being queried String(254) N

Parameters

All parameters are optional.

HOST_STATE_TRANSITIONS

Table: Host State Transitions

Property Name Application Type Description Date Type Filterable
EndTransitionDate SYSTEM Date and time host transitioned to a different state. Note - If the state for the host did not change then the EndTransitionDate is the current date of the Foundation server DateTime N
FromState SYSTEM Monitor status that the host was in before transitioning to this state String(254) N
FromStateId SYSTEM Monitor status id of the state that the host was in before transitioning to this state Integer N
FromTransitionDate SYSTEM Date and time that the host transitioned to the from state DateTime N
Host SYSTEM Name of host for which this state transition is related String(254) Y
StateDuration SYSTEM Time in milliseconds that the host was or has been in the state Long N
ToState SYSTEM Monitor status for this host state transition String(254) N
ToStateId SYSTEM Monitor status id for this host state transition Integer N
ToTransitionDate SYSTEM Date and time that the host transitioned into this state DateTime

Parameters

Host parameter is required.

SERVICE_STATE_TRANSITIONS

Table: Service State Transitions

Property Name Application Type Description Date Type Filterable
EndTransitionDate SYSTEM Date and time service transitioned to a different state.  Note - If the state for the service did not change then the EndTransitionDate is the current date of the Foundation server. DateTime N
FromState SYSTEM Monitor status that the service was in before transitioning to this state String(254) N
FromStateId SYSTEM Monitor status id of the state that the service was in before transitioning to this state Integer N
FromTransitionDate SYSTEM Date and time that the service transitioned to the from state DateTime N
Host SYSTEM Name of host for which this service state transition is related String(254) Y
ServiceDescription SYSTEM Name of service for which this state transition is related String(254) Y
StateDuration SYSTEM Time in milliseconds that the service was or has been in the state Long N
ToState SYSTEM Monitor status for this service state transition String(254) N
ToStateId SYSTEM Monitor status id for this service state transition Integer N
ToTransitionDate SYSTEM Date and time that the service transitioned into this state DateTime

Parameters

Host and ServiceDescription parameters are required.