Enabling Refinery capture

You can capture Monitoring data within a Refinery installation to allow historical querying and analysis of the data.

The pipeline for the Monitoring capture is Monitoring. Ensure that enable-monitoring is to true in any pipeline that is required to be monitored including the DefaultEntrypoint Gateway. See pipeline for more details on supported parameters.

The data is published into Refinery via the Monitoring feed handler (Monitoring.0.monFh.0). By default, the host/port connection information for this process is automatically queried from Delta Control.

Available tables

Once enabled, all the Monitoring data (from MonitoringState) is transformed by the feed handler and captured into a set of tables for query and persistence.

Table name Description Source metric
SystemCpu usage of server CPUs, individually and total system.cpu
SystemMem server RAM usage across all processes system.mem
SystemFileSystem filesystem disk usage system.fs
SystemMetric generic other system level metrics (see below)
SystemNetInterface network Interface statistics system.nic
SystemNetProtocol detailed TCP and UDP network statistics system.netproto
ProcessCpu process CPU usage process.cpu
ProcessMem process RAM usage process.mem
ProcessInfo detailed process configuration (priority, nice etc) process.process
ProcessPing process response times process.ping
ProcessMemKdb process RAM usage as tracked internally by kdb+ mem.kdbUsageBytes
ProcessConnection connection open and closes to kdb+ processes (see below)
ProcessMetric Generic other process level metrics (see below)
QueryDispatch QR query dispatch status qr.queryDispatch
QueryResponse QR query response status qr.queryResult
GwQueryStatus GW query result status gw.queryStatus

The following tables contain multiple source metrics:

table name          source metrics
--------------------------------------------
ProcessMetric       ipc.pendingHandleBytes
                    process.queryTimeout
                    process.exit
                    process.userAuthFailure
                    hdb.availableDates
                    hdb.latestDateRowCounts
                    pdb.rollover
                    tp.updDayCount
                    consumer.updDayCount
                    rdb.eodFlush
                    eb.primaryState
                    failover.process
                    failover.stack
                    failover.routing

SystemMetric        system.kernel
                    system.timeSync
                    system.sys
                    system.load
                    system.process

ProcessConnection   process.connectionOpen
                    process.connectionClosed

Two further tables provide the status of the Monitoring daemon and the monitored processes.

table name           description                                       
-----------------------------------------------------------------------
MonitoringMetrics    The metrics available (with send type) per process
MonitoringProcesses  The processes monitored and their connection state

All tables have a time column.

Process IDs are stored for all monitored processes in the MonitoringProcesses table (pid column). This information can map process names to PIDs to link all available data.

Delta messaging server

By default, the capture pipeline uses the emea_tr_a Delta Messaging server for data transfer between the processes. Ensure that the messagingServer parameter is updated for all processes in the DAAS_STACK_global_launch_monitoringCapture workflow if a different Messaging server is in use.

Manually defining a target feed handler

To override the target host/port for the Monitoring feed handler, set the following configuration:

Configuration Description
.mon.cfg.refCaptureFhSource Set to config to use the manually defined host and port
.mon.cfg.refCaptureHost The hostname of the server running the Refinery Monitoring feed handler
.mon.cfg.refCapturePort The port of the Refinery Monitoring feed handler