Database Schema
In order to map the event information in log
files to corresponding database tables, a Database Schema
Definition File is accessed. This definition file contains
information such as how the database table is structured and
how the log record description maps or relates to the tables.
After the mapping or translating is complete, the database
tables are updated with log record information.
This appendix describes the following
topics:
A.1 Database Schema
Mapping
Solstice Enterprise Manager
(Solstice EM) semantically maps several known log record
types. Other log record types are placed in a Binary Large
Object (BLOB).
Logs contain log records in a table designated as
Log. For each log record of a known type, one record
is created in the Log table and
one is created in the corresponding table of that
type.
The format for internal log names as they are
stored in the database is logname where the logID or logname may either be
a name such as "Alarmlog," or an
integer: 1, or 2. These are the external log names. They have
a corresponding internal name which always has a prefix,
"emi" and a number which is dependent on their time of
creation. For example, AlarmLog
is emi1emalm.
The naming convention used for any given log uses
the format (refer also to the following table): internal
TABLE A-1 Log Record
Naming
Naming
Tag
|
Examples of Specific
Names
|
internal |
emi |
log name |
alarmlog, 0+, 1, 2 |
log record type |
emalrm or obcre, etc. |
logid abbreviated log record
type.
For example, if the internal name of the alarm
log is Alarm, then alarm records are stored in a table called
emsalarmemalm.
The following table contains a list of all the
log records types supported by Solstice EM
TABLE A-2 Log Record
Types
Alarm Log |
emi1emalm |
|
emi1obcre |
|
emi1obdel |
Test Log |
emi2emalm |
|
emi1obcre |
|
emi2obdel |
|
emi2_blob |
A.2 Database
Tables
The following table lists the tables specified in
the configuration file that correspond to log record types
and contain miscellaneous system information.
TABLE A-3 Table Name
Representations for Log Record
Types
Table
Name
|
Log Record
Type
|
objectCreationRecord |
emi1obcre |
objectDeletionRecord |
emi1obdel |
emAlarmRecord |
emi1emalm |
attributeValueChangeRecord |
emi1avchr |
relationshipChangeRecord |
emi1elchg |
emInternetAlarmRecord |
emi1emint |
nerveCenterAlarmRecord |
emi1nrvct |
not applicable; used for user defined and
unmapped log records |
emi_gblob |
not applicable; used for security alarm
record |
emi1secur |
not applicable; used for state change
record |
emi1stchg |
Tables A-4 through A-17 show additional database
tables that are supported. These include:
The numeric value of the name will vary depending
on the log's creation time. The AlarmLog is the first log so
it is identified as number 1. If a test log is created, it's
log record tables will have a number 2 in it's name. For
example, it will be called emi2emalrm.
TABLE A-4 emi1avchr
loggingtime |
|
datetime year to fraction (3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer(38) |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer(38) |
attrvalchangedefs |
|
varchar(255) |
sourceindicator
|
|
varchar(255) |
attributeidlist_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-5 emi1blob
logrecordid |
not null |
integer(38) |
userdefined |
|
byte |
TABLE A-6 emi1emalm
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(2000) |
moc_s |
|
varchar(2000) |
moi_s |
|
varchar(2000) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer(38) |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalInfo_s |
|
varchar(2000) |
logrectype
|
|
varchar(2000) |
logrecordid |
not null |
integer(38) |
probablecause_s |
|
varchar(2000) |
probablecauseoid
|
|
varchar(20) |
perceivedseverity |
|
varchar(14,0) |
specificproblems |
|
varchar(2000) |
backedupstatus |
|
varchar(13,0) |
backupobject
|
|
varchar(2000) |
trendindication |
|
varchar(11,0) |
thresholdinfo_s |
|
varchar(255) |
statechangedef_s |
|
varchar(2000) |
monitoredattribs |
|
varchar(2000) |
proposedrpracts |
|
varchar(255) |
ackstate |
|
varchar(8,0) |
acktime |
|
datetime year to fraction(3) |
ackoperator |
|
varchar(16,0) |
acktext |
|
varchar(257) |
clearstate |
|
varchar(10,0) |
cleartime |
|
datetime year to fraction(3) |
clearoperator |
|
varchar(16,0) |
cleartext |
|
varchar(257) |
displaystate |
|
varchar(12,0) |
displaytime |
|
datetime year to fraction(3) |
displayoperator |
|
varchar(16,0) |
displaytext |
|
varchar(257) |
blob |
|
byte |
TABLE A-7 emi1emint
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer |
probablecause_s |
|
varchar(255) |
perceivedseverity |
|
varchar(14,0) |
attributeidlist_s |
|
varchar(255) |
objectinstancelsts |
|
varchar(255) |
snmpvarbindlist_s |
|
varchar(255) |
internettrapinfo_s |
|
varchar(255) |
transport_domain_s |
|
varchar(255) |
accesscontrolinfos |
|
varchar(255) |
specificproblems_s |
|
varchar(2000) |
backedupstatus |
|
varchar(13) |
backupobject
|
|
varchar(2000) |
trendindication |
|
varchar(11) |
thresholdinfo_s |
|
varchar(2000) |
statechangedef_s |
|
varchar(2000) |
monitoredattribs |
|
varchar(2000) |
proposedrpracts |
|
varchar(2000) |
ackstate |
|
varchar(8,0) |
acktime |
|
datetime year to fraction(3) |
ackoperator |
|
varchar(16,0) |
acktext |
|
varchar(257) |
clearstate |
|
varchar(10,0) |
cleartime |
|
datetime year to fraction(3) |
clearoperator |
|
varchar(16,0) |
cleartext |
|
varchar(257) |
displaystate |
|
varchar(12,0) |
displaytime |
|
datetime year to fraction(3) |
displayoperator |
|
varchar(16,0) |
displaytext |
|
varchar(257) |
blob |
|
byte |
TABLE A-8 emi1nrvct
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(2000) |
moc_s |
|
varchar(2000) |
moi_s |
|
varchar(2000) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer |
correlatednotifs
|
|
varchar(2000) |
additionaltext |
|
varchar(2000) |
additionalinfo_s |
|
varchar(2000) |
logrectype
|
|
varchar(2000) |
logrecordid |
not null |
integer |
probablecause_s |
|
varchar(255) |
perceivedseverity |
|
varchar(14,0) |
specificproblems_s |
|
varchar(2000) |
backedupstatus |
|
varchar(13,0) |
backupobject
|
|
varchar(2000) |
trendindication |
|
varchar(11,0) |
thresholdinfo_s |
|
varchar(255) |
statechangedef_s |
|
varchar(2000) |
monitoredattributes_s |
|
varchar(2000) |
proposedrepairactions |
|
varchar(2000) |
ackstate |
|
varchar(8,0) |
acktime |
|
datetime year to fraction(3) |
ackoperator |
|
varchar(16,0) |
acktext |
|
varchar(257) |
clearstate |
|
varchar(10,0) |
cleartime |
|
datetime year to fraction(3) |
clearoperator |
|
varchar(16,0) |
cleartext |
|
varchar(257) |
displaystate |
|
varchar(12,0) |
displaytime |
|
datetime year to fraction(3) |
displayoperator |
|
varchar(16,0) |
displaytext |
|
varchar(257) |
mosiseverity |
|
integer |
mosistateID |
|
integer |
blob |
|
byte |
TABLE A-9 emi1obcre
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer |
sourceindicator
|
|
varchar(20,0) |
attributeidlist_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-10 emi1obdel
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
datetime year to fraction(3) |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer |
sourceindicator
|
|
varchar(20,0) |
attributeidlist_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-11 emi1relch
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer |
relationchangedefs |
|
varchar(255) |
sourceindicator
|
|
varchar(20) |
attributeidlist_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-12 emi1secur
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer(38) |
correlatednotifs
|
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionalinfo_s |
|
varchar(255) |
logrecyype
|
|
varchar(255) |
logrecordid |
not null |
integer(38) |
securityalarmcauses |
|
varchar(255) |
securityalmseverty |
|
varchar(255) |
securityalmdtectrs |
|
varchar(14,0) |
serviceuser_s |
|
varchar(255) |
serviceprovider_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-13 emi1stchg
loggingtime |
|
datetime year to fraction(3) |
eventname |
|
varchar(255) |
moc_s |
|
varchar(255) |
moi_s |
|
varchar(255) |
eventtime |
|
datetime year to fraction(3) |
notificationid |
|
integer |
correlatednotifs |
|
varchar(255) |
additionaltext |
|
varchar(255) |
additionainfo_s |
|
varchar(255) |
logrectype
|
|
varchar(255) |
logrecordid |
not null |
integer(38) |
statechangedef_s |
|
varchar(255) |
sourceindicator |
|
varchar(20,0) |
attributeidlist_s |
|
varchar(255) |
blob |
|
byte |
TABLE A-14 log
logid |
not null |
varchar(255) |
emlogid |
|
integer |
logidtype |
|
varchar(8,0) |
lastlogrecId |
|
integer |
administrativestate |
|
varchar(13,0) |
operationalst |
|
varchar(10,0) |
availabilityst |
|
varchar(13,0) |
logfullaction |
|
varchar(128,0) |
maxlogsize
|
|
integer |
currentlogsize
|
|
integer |
numberofrecords |
|
integer |
starttime |
|
datetime year to fraction(3) |
stoptime |
|
datetime year to fraction(3) |
intervalsofdays |
|
varchar(255) |
weekmask_s |
|
varchar(255) |
externalscheduler |
|
varchar(255) |
discrimconstruct |
|
byte |
TABLE A-15 operator_actions
logfdn |
|
varchar(1000) |
logrecordid |
|
integer |
operatorname |
|
varchar(16,0) |
actionname |
|
varchar(30,0) |
actiontime |
|
date |
attributename |
|
varchar(20,0) |
oldattributevalue |
|
varchar(25) |
newattributevalue |
|
varchar(25) |
TABLE A-16 rpc_agents
agent_info |
|
varchar(1024) |
agent_tag |
|
integer(38) |
agent_id_s |
|
varchar(1024) |
agent_id_b |
|
varchar(1024) |
agent_set |
|
varchar(2000) |
dns_blob |
|
varchar(2048) |
mpa_addr_s |
|
varchar(1024) |
mpa_addr_i |
|
integer |
mpa_addr_n
|
|
smallint |
get_commty |
|
varchar(1024) |
set_commty |
|
varchar(1024) |
adminstate |
|
varchar(64) |
opstate |
|
varchar(64) |
TABLE A-17 snmp_agents
title_str |
|
varchar(255) |
title_null |
|
smallint |
agent_name |
|
varchar(254,0) |
mpa_addr_s |
|
varchar(255) |
mpa_addr_i
|
|
integer |
mpa_addr_n |
|
smallint |
trans_addr |
|
varchar(255) |
get_commty |
|
varcharvarchar(255) |
set_commty |
|
varchar(255) |
mgmt_prtcl
|
|
varchar(255) |
mibs_str |
|
char (2000) |
access_enf
|
|
varchar(64,0) |
access_mch |
|
varchar(64,0) |
adminstate |
|
varchar(64,0) |
opstate |
|
varchar(64,0) |
A.3 Database Schema
Parser
Log records are derived from eventLog. Additionally, new types of
log records can be defined by deriving from the base eventLog and adding new attributes.
This allows the database structure to be configured.
Therefore, a mechanism exists that facilitates dynamic
addition to the known types of event records by using a
description language to define all record types and their
structure. An initialization file containing these
descriptions is processed each time the daemon is started; it
must contain a definition of the base record and all other
possible records. If it is determined that database tables
corresponding to each record type do not already exist, then
they are created; it is possible to set a configuration
option that will cause the system to fail instead.
Along with the basic data types (such as int and string), the more complex SETOF data type is supported. The
SETOF attribute type is a
list. If N elements are present in one instance of
such an attribute type, then N elements are created
in a table, emSetof, which
corresponds to the list structure. (This table is defined in
a similar fashion as a record.) On encountering a data
element set, a record is written to the emSetof table in addition to the actual
data being written to its corresponding table.