After startup, the program checks if it has outstanding
reports to do. If it has them to do, it will successively make them. Otherwise
it makes report in a current hour.
Outstanding reports can be made in a few coincidences. The program tries to find
the last report which was finished correctly. If the program doesn't find the report in the last
hour, it will make reports in successive periods of time beginning from the last report
which was finished correctly. If the program finds no reports, it will make report in a current
hour. If it is running with --reports-since
option which relates to the past, it will make reports from a selected period of time.
If dreportd makes all possible outstanding reports, it begins its normal work.
It waits for a lapse of full hour (i.e.: 15:00, 18:00 etc.) and makes a report in last, full
hour. In first order it generates reports about SNMP Trap entries, and then about entries related to
pending cases, and at the end about monitored devices (ping objects, network interfaces, BGP peers).
Report generating is finished a confirmation of the correct report making. Only these reports are
treated as correct.
8.4.1. Processing of filters relating to SNMP Trap entries
On the basis of filters defined by a user, SQL statements are built.
Then, their result of work is suitable interpreted. Each command is generated
using a single filter. In the first order during a statement generating, the
entires from Group by group of Report
Manager Configurator are processed, according to an order of entries which is
given in a configuration. Next, the entries from Custom filters group
are used, and at the end the entries of Rules group.
The Field columns for all three groups include a list of the fields,
that characterized entries about SNMP Trap messages.
After building of SQL command, it is executed
and each row of its result is interpreted using entries of Group by
group and Custom filters one. At the beginning interpretation is
executed with the aid of entries of Group by group. Each entry of the group
corresponds with a single column of command result, that contents is interpreted according to
a specification of Treat as and Show fields of a given entry.
Treat as field can take on the following values:
BGPPEER, NETINTERFACE, OBJECT,
PINGOBJECT. The field also can be empty (--skip-- option
of Report Manager Configurator).
The values shows, how the contents of next columns of command result, that
create through working of entries from Group by group, will be
interpreted, and then translated into names of monitored devices
(i.e.: names of devices, descriptions of network interfaces, entires of BGP peers).
Show field can take on the following values:
Yes, No, When others failed,
If success. The values show, how the contents of next columns of command result, that
create through working of entries from Group by group,
will be interpreted, and if the contents is including to the result of row processing.
The values Yes and No don't need an explanation.
The value If success means, that it will be taken into
consideration, if it isn't empty, while When others failed
value means, that it will be used, when values for all entries of Group by
group are empty. The entry is a type of the stand-by entry.
The interpretation of the statement result
with the aid of entries from Custom filters group is generated
through Filter and Result fields. A suitable column
contents of the command result, that was created through working of a given entry from
Custom filters group, is parsed according to contents of Filter
field and translated into an inscription according to contents of Result
field.
8.4.2. Processing of filters concerning entries about pending cases
The processing of filters concerning entries about pending cases
is similar to the processing of filters for SNMP Trap
entries. One difference is a contents of Field columns for next
three groups of each filter. In this case, Field columns include
a list of fields concerning entries about pending cases.
8.4.3. Processing of filters concerning entires about monitored objects
The processing of filters concerning entires about monitored objects
is made on the basis of filters defined by an administrator. Each filter
includes a field describing a kind of the object which it concerns. Using
the field, dreportd knows, where it will find entries concerning
this kind of objects. Each filter can include a list of the allowable device types,
which it concerns. By this, useless information is limited, that will be able to create
as result of processing of a given filter (currently it concerns only network
interfaces). A user can done a specification of the allowable devices in
Allowed devices group of
Report Manager Configurator.