|
|
Оглавление |
Далее |
В процессе установки CFM создаются три базы данных:
Конфигурация сетевых устройств для snmp мониторинга хранится в таблицах DEVCFG и SNMPCFG.
Таблица DEVCFG
DEVNAME char(25) PRIMARY KEY,
IPADDR char(15) NOT NULL,
COMMUNITY char(15) NOT NULL DEFAULT 'public',
DB_SIZE char(8) NOT NULL,
TIME_TIC char(4) NOT NULL DEFAULT '120',
MAX_COUNT char(1) NOT NULL,
MONITOR ENUM('NO','YES')NOT NULL,
GRP char(2) NOT NULL DEFAULT '0',
MODEL char(25) NOT NULL DEFAULT '-',
COMMENT char(250),
INDEX (IPADDR).
DEVNAME - Имя устройства в сети, должно быть уникальным (обычно имя в DNS). IPADDR - IP адрес устройства. COMMUNITY - "public" или что-то другое. DB_SIZE - Период хранения данных в секундах. Используется для оперативного освобождения устаревших записей из базы cfm_mon. (1 год = 31536000 сек, 1 месяц = 2592000 сек, 1 день= 86400 сек, 1 час = 3600 сек. ) TIME_TIC - Частота опроса данного устройства в секундах. MAX_COUNT - Число попыток, после которых устройство считается недоступным. MONITOR - Индикатор, указывающий, производить опрос данного устройства или нет. Принимает значение YES или NO. GRP - Принадлежность к определённой группе. Используется при отображении на Web (выборка по группе). 0 - Температурные датчики, 1 - ИБП фирмы APC, 2 - ИБП BEST, 3 - ИБП Cloride, 4 - Оборудование Cisco, 5 - Сервера Windows. 6 - Сервера Linux, 7 - ИБП Symmetra фирмы APC. MODEL - Название модели устройства (Например: Cisco 7507). Используется при отображениии на Web. COMMENT - Краткое описание устройства.
Таблица SNMPCFG
DEVNAME char(25) NOT NULL,
OIDNAME char(40) NOT NULL,
OID char(64) NOT NULL,
DST ENUM('GAUGE','COUNTER','DERIVE','ABSOLUTE','CALC') NOT NULL DEFAULT 'GAUGE',
UNITS char(250),
COMMENT char(250),
PRIMARY KEY (DEVNAME,OIDNAME).
DEVNAME - Имя устройства в сети, из таблицы DEVCFG. OIDNAME - Символьное наименование OID ( от 1 до 40 символов латинского алфавита [a-zA-Z0-9_] без пробелов ) OID - Числовое значение OID (например: .1.3.6.1.2.1.2.2.1.0). DST - Используется для вычисления полученного значения в зависимости от его типа. Принимает значения: GAUGE, COUNTER, DERIVE, ABSOLUTE, CALC. UNITS - Указывается математическая операция (*,/,+,-) и число. Например: *8 - преобразование байтов в биты; sprintf ("%.0f", 8887956*4096/1000000) - преобразование. COMMENT - Описание данного OID.Для хранения статуса устройства используется таблица DEVSTS.
Таблица DEVSTS
DEVNAME char(25) PRIMARY KEY,
IND tinyint NOT NULL DEFAULT '0'.
ERR_COUNT tinyint NOT NULL DEFAULT '0'.
DEVNAME - Имя устройства в сети, из таблицы DEVCFG. IND - Индикатор состояния устройства: 0 - unknown (состояние неопределено), 1 - ok, 2 - failed, 3 - invalid (не отвечает на snmp запрос), 4 - не мониторится (опрос отключён), 5 - down (выключено или недоступно по сети). ERR_COUNT - Счётчик числа попыток, после которых устройство считается недоступным. При опросе устройств сравнивается с MAX_COUNT таблицы DEVCFG. Если ERR_COUNT = MAX_COUNT в IND заносится '3'.Для хранения текущих значений OID используется таблица SNMPVAL.
Таблица SNMPVAL
DEVNAME char(25) NOT NULL,
OIDNAME char(40) NOT NULL,
C_VAL char(40) NOT NULL DEFAULT 'U',
R_VAL char(40) NOT NULL DEFAULT 'U',
PRIMARY KEY (DEVNAME,OIDNAME).
DEVNAME - Имя устройства в сети, из таблицы DEVCFG. OIDNAME - Символьное наименование OID, из таблицы SNMPCFG. C_VAL - Текущее вычисленное (готовое для отображения) значение данного OID. R_VAL - Текущее реальное (полученное с устройства) значение данного OID. Используется при вычичслении значений типа COUNTER, DERIVE и ABSOLUTE.Конфигурация системы оповещения хранится в таблице ALARMCFG.
Таблица ALARMCFG
DEVNAME char(25) NOT NULL,
OIDNAME char(40) NOT NULL,
MIN_RED char(10),
MIN_ORANGE char(10),
MIN_YELLOW char(10),
MIN_BLUE char(10),
MAX_BLUE char(10),
MAX_YELLOW char(10),
MAX_ORANGE char(10),
MAX_RED char(10),
LEGEND char(6),
TEXTMIN char(100),
TEXTMAX char(100),
TEXTNORM char(100),
SUBJECT char(50),
ADDR1 char(30),
ADDR2 char(30),
ADDR3 char(30),
ADDR4 char(30),
ADDR5 char(30),
ADDR6 char(30),
SENDM ENUM('0','1') DEFAULT '1',
PRIMARY KEY (DEVNAME,OIDNAME).
DEVNAME - Имя устройства в сети, из таблицы DEVCFG. OIDNAME - Символьное наименование OID, из таблицы SNMPCFG. MIN_xxx - Четыре значения для проверки данного параметра на минимальное значение. Цвета определяют степень критичности. MAX_xxx - Четыре значения для проверки данного параметра на максимальное значение. Цвета определяют степень критичности. LEGEND - (вольт, ампер, Hz, гр.С, °C, КВт, %, b/sec). TEXTMIN - Текстовое описание события при достижении минимального значения. Данная строка используется при визуальном отображении события (например при формировании письма электронной почты). TEXTMAX - Текстовое описание события при достижении максимального значения. Данная строка используется при визуальном отображении события (например при формировании письма электронной почты). TEXTNORM - Текстовое описание события при возвращении к нормальному значению. Данная строка используется при визуальном отображении события (например при формировании письма электронной почты). SUBJECT - Заголовок письма эл.почты. ADDR1..6 - Адреса электронной почты, для оповещения об аварийных событиях. SENDM - Посылать или нет электронные сообщения для данного OIDNAME. Может принимать только значения "0" - NO и "1" - YES.Для создания графиков используется таблица GRAPHCFG.
Таблица GRAPHCFG
GRAPH char(30) PRIMARY KEY,
DEVNAME char(25) NOT NULL,
START char(8) NOT NULL,
WIDTH char(5) NOT NULL,
HEIGHT char(4) NOT NULL,
Y_LABEL char(20),
RIGID ENUM('0','1') DEFAULT '0',
TRANS ENUM('0','1') DEFAULT '0',
COLOR char(6) NOT NULL DEFAULT 'ECECEC',
OID1 char(40),
OID2 char(40),
OID3 char(40),
OID4 char(40),
OID1_RGB char(6) NOT NULL DEFAULT '00CC00',
OID2_RGB char(6) NOT NULL DEFAULT '0000FF',
OID3_RGB char(6) NOT NULL DEFAULT 'DF09F2',
OID4_RGB char(6) NOT NULL DEFAULT 'FF6347',
OID1_LEG char(30) NOT NULL DEFAULT '-',
OID2_LEG char(30) NOT NULL DEFAULT '-',
OID3_LEG char(30) NOT NULL DEFAULT '-',
OID4_LEG char(30) NOT NULL DEFAULT '-',
TITLE char(100) NOT NULL,
INDEX (DEVNAME).
GRAPH - Имя создаваемого графика, должно быть уникальным. DEVNAME - Содержит имя устройства (поле DEVNAME из таблицы DEVCFG). START - Смещение назад по шкале времени в секундах от текущего времени. Используется для вычисления начального времени при построении графика (Например: 86400 - строится график за последний день). WIDTH - Ширина графика в пикселах. HEIGHT - Высота графика в пикселах. Y_LABEL - Пояснительный текст по оси Y. RIGID - Выравнивание графика по максимальному и минимальному значению. Может принимать только значения "NO" и "YES". TRANS - Трансформировать график по размеру рабочей области браузера. Может принимать только значения "NO" и "YES". COLOR - Цвет фона графика. OID1 - Имя 1-ого параметра. Берётся из таблицы SNMPCFG для данного устройства. OID2 - Имя 2-ого параметра. Берётся из таблицы SNMPCFG для данного устройства. OID3 - Имя 3-ого параметра. Берётся из таблицы SNMPCFG для данного устройства. OID4 - Имя 4-ого параметра. Берётся из таблицы SNMPCFG для данного устройства. OID1_RGB - Цвет 1-ого параметра на графике в шестнадцатеричном виде (00CCFF). OID2_RGB - Цвет 2-ого параметра на графике в шестнадцатеричном виде (0000FF). OID3_RGB - Цвет 3-ого параметра на графике в шестнадцатеричном виде (DF09F2). OID4_RGB - Цвет 4-ого параметра на графике в шестнадцатеричном виде (FF6347). OID1_LEG - Подпись для 1-ого параметра. OID2_LEG - Подпись для 2-ого параметра. OID3_LEG - Подпись для 3-ого параметра. OID4_LEG - Подпись для 4-ого параметра. TITLE - Заголовок графика (текстовая строка).Таблица OFFICE содержит сведения о помещениях, в которых установлено контролируемое оборудование и/или производится мониторинг температурного режима. Данная таблица используется cgi-скриптами при отображении информации.
Таблица OFFICE
ID_O smallint not null auto_increment primary key,
ROOM char(6) not null,
STREET char(20) not null,
BILDING char(4) not null,
NOTES char(100).
ID_O - Порядковый номер помещения (необходим, т.к. номера помещений в разных зданиях могут совпадать). ROOM - Номер помещения. STREET - Название улицы. BILDING - Номер дома. NOTES - Примечания (например назначение помещения).Таблица TEMPRCFG используется для организации мониторинга температуры в оффисных и технологических помещениях.
Таблица TEMPRCFG
ID_T int NOT NULL auto_increment primary key,
ROOM char(6) NOT NULL,
DEVNAME char(25) NOT NULL,
OIDNAME char(40) NOT NULL,
T_ALARM char(3) NOT NULL,
ID_O smallint.
ID_T - Порядковый номер (необходим, т.к. могут совпадать номера помещений в разных зданиях и в одном помещении может быть несколько датчиков). ROOM - Номер помещения. DEVNAME - Имя устройства в сети, из таблицы DEVCFG. OIDNAME - Символьное наименование OID, из таблицы SNMPCFG. T_ALARM - Значение температуры для начала генерации сигнала тревоги. ID_O - Порядковый номер помещения (из таблицы OFFICE).Таблица USERS используется для хранения адресов электронной почты и телефонов ответственных лиц. Используется службой оповещения.
Таблица USERS
ID_U int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
MAIL char(30) NOT NULL,
NAME char(60) NOT NULL,
PHONE1 char(8),
PHONE2 char(15),
PHONE3 char(30),
JOB char(60).
ADRESS char(100).
ID_U - Уникальный индекс ответственного лица. MAIL - Адрес электронной почты ответственного лица. NAME - Ф.И.О. PHONE1 - служебный телефон. PHONE2 - домашний телефон. PHONE3 - сотовый телефон. JOB - должность сотрудника. ADRESS - адрес сотрудника (если на предприятии есть диспетчерская служба).Таблица CROSSID используется для привязки пользователей к технологическим помещениям и устройствам. Используется в подсистеме отображения для показа ответственных лиц.
Таблица CROSSID
DEVNAME char(25) NOT NULL DEFAULT 'NO',
ID_U int(10) UNSIGNED NOT NULL.
ID_O int(10) UNSIGNED,
DEVNAME - Имя устройства в сети, из таблицы DEVCFG. ID_U - Уникальный индекс ответственного лица. ID_O - Уникальный индекс технологического помещения.
Используется для хранения значений опроса устройств. Имя таблицы соответствует имени устройства. Таблицы создаются автоматически в процессе старта демона опроса устройств cfmd.pl.
Таблицы 'devname'
TIME char(10) PRIMARY KEY,
"имя OID" char(40),
.............
.............
"имя OID" char(40).
Для хранения трапов используется таблицы трапов. Имя таблицы соответствует имени устройства.
Таблицы 'devname'
DTIME char(27) PRIMARY KEY,
GENID char(2),
SPECID char(4),
COMMENT char(255).
Модуль оповещения предназначен для рассылки электронных писем ответственным лицам при возникновении критического события. Критические события для каждого устройства храняться в таблице ALARMCFG. Конфигурирование оповещений производиться через АРМ администратора (меню: Правка->Оповещение).
В момент запуска демон cfm_note.pl загружает в оперативную память содержимое таблицы ALARMCFG, записывает свой PID в файл /var/run/cfm_note.pid и переходит в фоновый режим. Сообщения о работе демона и ошибках выполнения заносяться в файл /var/log/cfm.log.
В процессе работы каждые 30 секунд происходит проверка состояния всех устройств. Состояние устройства определяется по соответствующим значениям в таблицах DEVSTS и SNMPVAL путём сравения текущих значений из этих таблиц со значениями конфигурационных данных из оперативной памяти. Для каждого устройства осуществляются следующие действия:
| Статус устройства | Сообщение |
|---|---|
| 0 | "Устройство <devname> - состояние не определено." |
| 1 | "Устройство <devname> - работает в штатном режиме." |
| 2 | "Устройство <devname> - failed." |
| 3 | "Устройство <devname> - работает но не отвечает на snmp запрос." |
| 4 | "Устройство <devname> - опрос отключён." |
| 5 | "Устройство <devname> - недоступно (down)!." |
|
|
Оглавление |
Далее |