Table of Contents

SLT replication monitoring

This monitor is dedicated to the monitoring of SAP LT Replication Server (SLT).
It provides a monitoring equivalent to the replication figures of transaction LTRC.
It discovers the replication configurations defined on the system, then reports for each
replicated table how many changed records are still waiting to be replicated, and how far
behind the table has fallen.

Note: the connector must point to the SLT server, that is the system where transaction LTRC opens. On a system without SLT, the monitor stops with the error IUUC_REPL_HDR does not exist on this system - this is not an SLT server. Some replication source systems do hold that table without running SLT: there, the configurations are found but every one of them reports a collection error, because the SLT functions cannot be called.

Prerequisites

The RFC user needs the following on the SLT server:

Note: counting unprocessed records makes an onward RFC call from the SLT server to each source system. The user therefore also needs authorization in the source systems, not only on the SLT server. A missing authorization there is reported as an authorization error against the configuration concerned.

Configuration hints

Latency window

Per-occurrence alarm

Send metadata

Surveillance table

Parameter Description
Active Use this field to activate or deactivate a line of configuration.
Configuration A filter to match only a given replication configuration. It is matched against the schema name and the description, so either can be used. An exclusion such as !TEST excludes the configuration when either of them contains the text.
Table A filter to match only a given replicated table.
Max unprocessed records The threshold for the number of records waiting to be replicated. An alarm is sent when the count reaches this value. Leave at 0 to disable this check.
Only if not draining Restricts the above check to backlogs that are not being absorbed. See the note below.
Latency figure Which latency value the latency threshold applies to: MIN, MAX or MEDIAN. See the mapping below.
Max latency The threshold for the latency, in seconds. An alarm is sent when the selected figure is above this value. Leave at 0 to disable this check.
Alarm if master job stopped If checked, an alarm is sent when the master job of the configuration is not running.
Severity The severity of the alarm.
enable Alarm If checked, this line of surveillance will be used for alarm generation.
enable QOS If checked, this line of surveillance will be used for metric generation.

Note: with Only if not draining enabled, an alarm is only raised if the backlog has not shrunk by more than 5% since the previous run. A backlog shrinking faster than that means the replication is catching up, and stays quiet. A backlog that is stable, growing, or only moving up and down a little alarms, because a backlog frozen at a high value is not being processed — and a steady alarm is kept open instead of closing on every small dip. The 5% is measured between two runs, so it depends on the schedule: with a run every minute, a backlog must shrink by more than 5% every minute to count as draining, which is much stricter than 5% every 15 minutes. Choose the schedule with that in mind. The very first run only records a starting point and raises no alarm on this check. If a table cannot be counted on a run, for example because the SLT server cannot reach the source system, its last known count is kept, so the comparison resumes as soon as counting works again.

Note: a configuration whose migration is finished usually keeps its entry in SLT with a stopped master job. A line with Configuration * and Alarm if master job stopped checked would then report it as halted on every run, and still read it from SLT. Exclude such configurations with the Configuration filter; an excluded configuration is neither read nor alarmed. !OLD_MIGRATION excludes every configuration whose name or description contains OLD_MIGRATION. To exclude several unrelated ones, join them with +: !ECC_2019+!HR_TEST. Do not use a comma for this: !ECC_2019,!HR_TEST only excludes the first one.

Note: an absolute threshold alone is rarely usable on its own. A high volume table can sit permanently above any reasonable value while replicating perfectly, and a low volume table may never reach it even when stuck. This is why Only if not draining is enabled by default.

Latency figures

Latency figure Description
MIN The lowest latency measured during the interval.
MAX The highest latency measured during the interval. Catches the worst moment.
MEDIAN The median latency of the interval. Ignores isolated peaks.

Note: SLT only records a median on its hourly figures. When MEDIAN is selected, the monitor uses the most recent interval that actually carries one. If no interval carries a median, the table reports no latency rather than a latency of zero, and the latency check does not alarm for that table.

Note: latency is only recorded for tables in delta replication. Tables in initial load, or stopped, have no latency figure at all. Such a table is reported without a latency, and is never reported as being up to date. A latency threshold on a table that is not in delta replication can therefore never be reached.

Note: when SLT cannot read a table's logging table, the table is reported without a count of unprocessed records, never with a count of zero, and the monitor log shows a warning. The Max unprocessed records check cannot alarm on that table until its logging table can be read again, and a backlog alarm already open for it closes: a logging table can stay unreadable for good, and an alarm held open for it would never close.

Note: the backlog comparison of Only if not draining is kept only by scheduled runs. Running the monitor with the Test button does not change the count the next scheduled run compares against.

Unsupported configurations

Alarm content

Examples

Example 1

Active Configuration Table Max unprocessed records Only if not draining Latency figure Max latency Alarm if master job stopped Severity enable Alarm enable QOS
true * * 10000 true MAX 300 true MAJOR true true

Effect: Sends a MAJOR alarm for each table holding at least 10000 unprocessed records that is not being absorbed, and for each table whose worst latency exceeds 5 minutes. Also alarms if a master job is stopped. Sends the record counts and the maximum latency as metrics.

Example 2

Active Configuration Table Max unprocessed records Only if not draining Latency figure Max latency Alarm if master job stopped Severity enable Alarm enable QOS
true ECC_PRD_CFIN_S4P BKPF 0 true MEDIAN 60 false WARNING true true

Effect: Sends a WARNING alarm when the median latency of table BKPF in the Central Finance configuration exceeds 1 minute. The backlog check is disabled, and a stopped master job does not alarm on this rule.

Generated metrics

metricId metricUnit metricTarget metricDescription
SLT_UNPROCESSED_RECORDS Records [CONFIGURATION][TABLE] Sends the number of records waiting to be replicated, per configuration and table.
SLT_LATENCY Seconds [CONFIGURATION][TABLE][STATISTIC] Sends the latency of the table, per configuration and table. The STATISTIC target records which figure was sent, so a series is never ambiguous.

Note: only the latency figure selected on the surveillance line is sent, not all three. A replication configuration can carry several hundred tables, and sending the minimum, maximum and median for each would triple an already large number of series.

Note: when several surveillance lines match the same table, its metrics are still sent once per run. Only lines that select different latency figures add a series, one per figure.

Note: metrics are sent from the first run even when no threshold is configured. This is intentional, so the normal range of a system can be observed before choosing thresholds.

Note: a table with no value for a metric is not sent, rather than being sent as zero. This applies to the latency of tables that are not in delta replication.