Утилита мониторинга предназначена для осуществления

advertisement
Версия
1.0
1.1
Дата
01.07.06
08.08.06
Обновлено
Гнедыш Д.Е.
Гнедыш Д.Е.
Комментарии
Начальная редакция документа.
Изменено:
- параметры проверки и вывода IMCP ECHO.
Добавлено:
- Отчётность по операциям опроса серверов.
1
Содержание.
1. Назначение
2. Функционал программы.
3. Настройка параметров.
4. Структура программы.
5. Запуск программы.
6. Консольный вывод программы.
7. Выполнение сценариев.
8. Отчётность.
2
1. Назначение программы.
Утилита мониторинга предназначена для осуществления мониторинга
состояния распределённых серверов СУБД Oracle.
3
2. Функционал программы.
Данная утилита мониторинга представляет собой PERL-сценарий и имеет
следующий обязательный функционал:
1. Проверка работоспособности серверов СУБД Oracle методом установки
соединения и выполнения запроса определения статуса сервера.
2. Получение удалённого времени сервера (Запрос к СУБД Oracle).
3. Получение версии и релиза СУБД Oracle (Запрос к СУБД Oracle).
4. Отправка
запроса
ICMP
ECHO
на
удалённый
сервер
с
сервера
мониторинга.
5. Сканирование диапазона портов на наличие сервиса R-Admin.
6. Сканирование диапазона портов на наличие сервиса MS Terminal Services.
7. Режим работы СУБД Oracle (Запрос к СУБД Oracle).
8. Размер БД (Запрос к СУБД Oracle).
9. Хранение результатов мониторинга в БД сервера мониторинга.
10. Формирование отчёта в HTML-формате.
Дополнительный функционал:
1. Определение количества счётчиков (Запрос к СУБД Oracle).
2. Определение количества измерений (Запрос к СУБД Oracle).
3. Определение номера HASP-ключа. (Запрос к СУБД Oracle)
4. Получение списка обновлений ПО «Энергия Альфа».
4
3. Настройка параметров.
Для корректного функционирования необходима установка командного
интерпретатора PERL версии 5.8.7. (совместимость с другими версиями
командного интерпретатора PERL не испытана).
Операционные системы Windows NT/2000/2003 workstation/server, RHEL 3,4
AS.
Хранилище данных СУБД Oracle 8i, 9i, 10g.
Для
корректного
переменной
среды
функционирования
окружения
утилиты
ORACLE_HOME
и
необходима
наличие
в
установка
переменной
окружения PATH bin-директории клиента Oracle, perl.
При функционировании в операционных средах семейства Windows
необходимо расширению файлов *.pl сопоставить командный интерпретатор
PERL.
При функционировании в операционных системах linux файл должен иметь
атрибут
исполняемого
(#!/usr/local/bin/perl)
и
должен
в
заголовке
быть
указан
файла
и
monitor.pl
правильный
путь
к
mon_rep.pl
командному
интерпретатору perl.
Основные настройки параметров утилиты содержаться в файле include.pm
$db_conn_str – переменная, хранящая строку подключения к схеме БД
утилиты мониторинга.
$SQLFNAME – имя файла вывода информации мониторинга.
$mon_db_un – имя пользователя, для подключения к целевым БД.
$mon_db_pass – пароль пользователя для подключения к целевым БД.
$conn_privs – привилегии подключения к БД. (“as sysdba”, “as sysoper”, “”)
$mon_sql_file – файл SQL-сценариев мониторинга.
$sqlplus_run – имя и параметры запуска SQL*Plus.
@radm_keys – массив хранения отзывов сервиса R-Admin. По мере
появления новых версий R-Admin, данный массив необходимо дополнять.
@msts_keys - массив хранения отзывов сервиса MS Terminal Services. По
мере появления новых версий MS Terminal Services, данный массив необходимо
дополнять.
@radm_ports – список портов, по которым необходимо осуществлять поиск
сервиса R-Admin.
5
@msts_ports - список портов, по которым необходимо осуществлять поиск
сервиса MS Terminal Services.
$io_time – тайм-аут соединения при установке соединения с сервисами RAdmin, MS TS.
$sql_out_flg – флаг выгрузки результатов мониторинга в sql-сценарий и
загрузка в БД. (1 – требуется выгрузка, 0 – не выгружать)
$tnsfile – альтернативное имя файла tnsnames.ora (для выполнения
специализированных задач)
6
4. Структура программы.
include.pm – содержит реализации используемых функций и основные
параметры настройки утилиты (первые строки сценария).
Файл monitor.pl
Вызовы процедур и вывод результатов в консоль.
Файл sql.sql
Файл
SQL-сценариев
по
мониторингу
СУБД
Oracle
и
получении
дополнительной информации из БД.
Файл tab_ddl.sql
DDL (ЯОД) формирования схемы данных утилиты мониторинга.
Следующие файлы находятся в процессе разработки.
Файл monitor.html
Динамически генерируемый файл отчёта по мониторингу СУБД Oracle.
Файл mon_rep.pl
Файл генерации отчётов по мониторингу.
Файл mon_rep.sql
PL/SQL - сценарий генерации отчётов по мониторингу.
7
5. Запуск программы.
Для запуска необходимо сменить текущую директорию на директорию
хранения файла «monitor.pl» и запустить сценарий «monitor.pl».
8
6. Консольный вывод программы.
При запуске программы мониторинга происходит вывод информации в
консоль.
В среде семейства Windows.
Пример вывода в ОС Windows 2000 Professional (сервер полностью
недоступен).
************************************************************
Current
: 001 of : 094
-- Текущая позиция процесса мониторинга
Alias
: CS_CHELYABINSK_123 –- псевдоним БД
Server IP
: 10.80.49.123
Local time
: 03.08.2006 21:34:42 – Локальное время
-- IP-адрес сервера
Remote time : 00.00.00 00:00:00
- Время удалённого сервера БД
DB Version
- Версия СУБД.
: UNKNOWN
ERROR: -- Попытка установки связи с БД для выяснения статуса
ORA-12560: TNS:protocol adapter error
Host unreachable...
Can`t connect to R-Admin service. – Сканирование диапазона портов
10.80.49.123:4899
: Unknown error – сервиса R-Admin
Can`t connect to R-Admin service.
10.80.49.123:5002
: Unknown error
Can`t connect to R-Admin service.
10.80.49.123:44899
: Unknown error
Can`t connect to R-Admin service.
10.80.49.123:65256
: Unknown error
Can`t connect to MS TS service. – сканирование диапазона портов
10.80.49.123:3389
: Unknown error – сервиса MS Terminal Services.
************************************************************
9
Пример вывода в ОС Windows 2000 Professional (сервер доступен).
************************************************************
Current
Alias
Server IP
Local time
Remote time
DB Version
:
:
:
:
:
:
007 of : 094
CS_KALININGRAD_30
10.10.220.30
04.08.2006 09:29:18
04.08.2006 08:28:57
8.1.6.0.0 SE
Status : OPEN
-------Oracle8i Release 8.1.6.0.0 - Production
PL/SQL Release 8.1.6.0.0 - Production
CORE 8.1.6.0.0
Production
TNS for 32-bit Windows: Version 8.1.6.0.0 - Production
NLSRTL Version 3.4.1.0.0 - Production
-------Remote time : 04.08.2006 08:28:57
-------Database log mode
No Archive Mode
Automatic archival
Disabled
Archive destination
C:\ORACLE\RDBMS
Oldest online log sequence
979
Current log sequence
981
-------DBID : 1064630442
-------db_size : 1018,24
-------Counters count : 51
-------Measurements count : 63
--------------select 'update version ' || update_ver, ' Install date : ' ||
date_inst, ' Client version : ' || ver_cl, ' Admin version || ' || ver_adm
from eac.updates order by 1
*
ERROR at line 1:
ORA-00942: table or view does not exist
JServer Release 8.1.6.0.0 - Production
Packet return time is 0.00 ms
Can`t connect to R-Admin service.
10.10.220.30:4899 : Unknown error
Detected R-Admin service. Port : 5002
Can`t connect to MS TS service.
10.10.220.30:3389 : Unknown error
************************************************************
10
Пример консольного вывода в семействе ОС Linux несколько отличается от
ОС Windows.
Пример консольного вывода информации мониторинга в ОС RHEL 3 AS.
Сервер частично работоспособен (экземпляр СУБД Oracle недоступен).
************************************************************
Current
Alias
Server IP
Local time
Remote time
DB Version
:
:
:
:
:
:
001 of : 100
CS_CHELYABINSK_123
10.80.49.123
04.08.2006 09:43:07
00.00.00 00:00:00
UNKNOWN
select 'Status : ' || status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
Packet return time is 0.00 ms
Detected R-Admin service. Port : 4899
Can`t connect to MS TS service.
10.80.49.123:3389 : Connection refused
************************************************************
11
7. Выполнение сценариев.
Данную утилиту мониторинга можно использовать в случае необходимости
при выполнении произвольных сценариев SQL, PL/SQL и консольных команд
операционной системы (imp, exp, scp и т.п.).
Например, изменение паролей пользователей БД по произвольным
подгруппам серверов, создание пользователей на всех доступных серверах,
создание процедур, функций и пр.
Для этого необходимо:
1. Скопировать файлы утилиты мониторинга в новую папку.
2. Изменить содержимое файла «sql.sql» на текст необходимого сценария.
3. Установить флаг $sql_out_flg=0
4. В файле «tnsnames.ora»
a. Оставить только записи строк подключений, которые указывают на
сервера, где необходимо выполнить операции.
ИЛИ
b. Создать копию файла «tnsnames.ora» в той же папке
(%ORACLE_HOME%/network/admin), но с отличным от него
именем, где будут оставлены необходимые строки подключения.
c. В случае переименования файла необходимо установить
значение переменной $tnsfile.
5. Запустить сценарий.
Для запуска произвольных консольных команд операционной
системы необходимо:
1. Скопировать файлы утилиты мониторинга в новую папку.
2. Установить флаг $sql_out_flg=0 в файле «include.pm»
3. Открыть в текстовом редакторе файл «monitor.pl».
4. Найти в нём секцию «Custom»
### Custom section
# Use this section for your own purposes
# Example:
#
# print `exp cnt/cnt\@$key owner=CNT statistics=NONE file=cnt$key.dmp`;
#
###
12
4. Убрать символ комментария «#».
5. Вписать строку со следующими правилами формирования.
print – если необходим вывод в консоль.
пробел.
`строка запуска программы`.
Символ «;»
!!! Внимание !!!
Строка вызова заключается символами «`».
В консоль будет выводиться процесс выполнения данного сценария. При
выполнении специализированных сценариев не происходит выгрузка данных в
sql-сценарий с последующей загрузкой в БД. В случае необходимости, вывод
консоли можно перенаправить в файл или устройство, стандартными для
конкретной операционной системы средствами (например, «>, >>, /dev/null»).
13
8. Отчётность.
Для генерации полного отчёта по последнему опросу серверов необходимо
выполнить сценарий «mon_rep.cmd».
При запуске сценария необходимо будет ввести:
1. Тип генерируемого отчёта.
1.1. «0» – полный отчёт (полная форма отчёта).
1.2. «1» - сводный отчёт (краткая форма отчёта).
2. Ввести, за сколько часов, начиная с текущего момента времени, брать данные.
3. Ввести имя объекта.
3.1. «%» - вывести по всем обектам.
3.2. «значение» - вывести по объектам, содержащим в названии значение.
Напр. «Moscow» - по объектам в г.Москва.
«-RTU» - по РТУ.
При его выполнении в корневом каталоге диска «c:\» образуется файл
«mon_report.htm», содержащий отчёт.
Просмотр осуществляется любым WEB-обозревателем (Напр. Mozilla
FireFox).
Пример формирования краткого отчёта по объектам «Abakan» за
прошедшие сутки.
G:\scripts\perl\monitoring\mon_v4>mon_rep.cmd
G:\scripts\perl\monitoring\mon_v4>sqlplus username/password@alias
@mon_rep.sql
SQL*Plus: Release 9.2.0.1.0 - Production on Wed Aug 9 14:55:44 2006
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning and Data Mining options
Enter report type
0 - Full monitoring report
1 - Short monitoring report
14
1
Enter last hours
24
Enter object name
Abakan
15
16
Отчёт:
Enter report type 0 - Full monitoring report 1 - Short monitoring report 1 Enter last hours 24 Enter object name Abakan old 1: select
mon_report(&report_type, &hours, '&obj') from dual new 1: select mon_report( 1, 24, 'Abakan') from dual
Oracle
RDBMS
Псевдоним
R-Admin
MS TS
Ping
Status all
ABAKAN-46-RTU
09.08.2006 08:08:20
O
R
T
P
A
ABAKAN-46-RTU
08.08.2006 15:08:06
O
R
T
P
A
17
Enter report type 0 - Full monitoring report 1 - Short monitoring report 1 Enter last hours 24 Enter object name RHT old 1: select
mon_report(&report_type, &hours, '&obj') from dual new 1: select mon_report( 1, 24, 'RHT') from dual
Oracle
RDBMS
Псевдоним
R-Admin
MS TS
Ping
Status all
RHTEST
09.08.2006 10:08:55
O
R
T
P
A
RHTEST
08.08.2006 16:08:32
O
R
T
P
A
RHTEST
08.08.2006 15:08:13
O
R
T
P
A
Где,
Псевдоним – псевдоним строки подключения к Oracle RDBMS.
Oracle RDBMS – статус Oracle RDBMS.
R-Admin – статус сервиса R-Admin.
MS TS – статус сервиса Microsoft terminal services.
Ping – статус ICMP ECHO.
STATUS ALL – общий статус.
Время указано локальное, на сервере мониторинга, на момент проведения опроса.
18
Цветовое обозначение:
Сервис доступен
Сервис недоступен
19
Полный отчёт.
G:\scripts\perl\monitoring\mon_v4>mon_rep.cmd
G:\scripts\perl\monitoring\mon_v4>sqlplus username/password@alias
@mon_rep.sql
SQL*Plus: Release 9.2.0.1.0 - Production on Wed Aug 9 15:14:40 2006
Copyright (c) 1982, 2002, Oracle Corporation.
All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
With the Partitioning and Data Mining options
Enter report type
0 - Full monitoring report
1 - Short monitoring report
0
Enter last hours
24
Enter object name
-RTU
20
Enter report type 0 - Full monitoring report 1 - Short monitoring report 0 Enter last hours 24 Enter object name -RTU old 1: select
mon_report(&report_type, &hours, '&obj') from dual new 1: select mon_report( 0, 24, '-RTU') from dual
Псевдоним
IP сервера
Время опроса
Удалённое время
Версия СУБД
Вывод SQL
ABAKAN-46-RTU
10.88.155.46
08.08.2006 15:08:06
UNKNOWN
ERROR:
ORA-12541: TNS:no listener
Host unreachable...
IMCP ECHO
Can`t connect to R-Admin service.
10.88.155.46:4899 : Unknown error
Can`t connect to R-Admin service.
10.88.155.46:5002 : Unknown error
R-Admin
Can`t connect to R-Admin service.
10.88.155.46:44899 : Unknown error
Can`t connect to R-Admin service.
10.88.155.46:65256 : Unknown error
MS TS
Can`t connect to MS TS service.
21
10.88.155.46:3389 : Unknown error
Номер HASP ключа
Количество счётчиков
Количество измерений
-1
-1
-1
22
В обозревателе данный отчёт имеет следующий вид:
23
Дополнительная информация содержится на сайтах:
1.
2.
3.
4.
5.
6.
http://www.ActiveState.com - The ActiveState Home Page (Perl documentation).
http://www.perl.com - The Perl home page (Perl documentation).
http://www.oracle.com – Oracle RDBMS home page (SQL, PL/SQL documentation).
http://www.ethereal.com – Ethereal home page.
http://www.winpcap.org – WinPCap home page.
http://www.w3c.org/MarkUp/ – W3C home page (HTML standard).
24
Download