Дополнительные программы

  1. TkPortHistory.tcl
  2. TkIfUtil.tcl
  3. TkIfUtil.tcl
  4. TkDeviceView.tcl
  5. TkSnmpTable.tcl
  6. EventsLog.tcl
  7. SystemLog.tcl
  8. NodeReport.tcl

TkPortHistory.tcl

Утилита TkPortHistory предназначена для просмотра данных по загрузке интерфейсов маршрутизатора, собранных программой мониторнинга netmond.

Предполагается, что в конфигурации netmond следующим образом описан маршрутизатор:

      ......................
      RootDir "/var/netmon"
      Saving 300
      TimeFmt "%d/%m/%G %z %H:%M:%S"
      ......................
      Object "MyRouter" {
        Address "192.168.1.1"
	Method router "my_snmp_get_community"
	Save router
	..............
	Interface "Serial0" {
	    Save interface
	}
	Interface "Ehternet0" {
	    Save interface
	}
        ..............
      }      
      
В процессе работы netmond создает каталоги
         /var/netmon/MyRouter/Serial0
         /var/netmon/MyRouter/Ethernet0
      
а в них файлы с именами вида YYYY.MM.DD (напрмер, 2002.05.15) Т.е. получается, что за каждый день есть отдельный файл с данными. В этих файлах содержится информация по утилизации соответствующего порта в формате:
    
	15/05/2002 +0700 00:26:00 "Ethernet0" 63398 69057 655 1134 0 0 0 0
	15/05/2002 +0700 00:31:00 "Ethernet0" 53904 123444 589 1197 0 0 0 0
	15/05/2002 +0700 00:36:00 "Ethernet0" 55075 69205 606 1134 0 0 0 0
	15/05/2002 +0700 00:41:00 "Ethernet0" 50058 67035 562 1129 0 0 0 0     
     
Первые три поля - год, смещение локальной тайм-зоны от GMT и локальное время. Затем имя интерфейса. Далее:
      ifInBytes.delta ifOutBytes.delta \
      ifinUcastPackets.delta ifOutUcastPackets.delta \
      ifInDrops.delta ifOutDrops.delta \
      ifInErros.delta ifOutErrors.delta
     
- изменение соответствующего параметра за последний 300 секундный интервал.


Запуск программы

       $ ./TkPortHistory.tcl /var/netmon/MyRouter/Serial0/2002.05.15
     
в этом случае будет отображена информация из этого файла.

       $ ./TkPortHistory.tcl /var/netmon/MyRouter/Serial0
     
В этом случае появится диалог выбора файлов в каталоге /var/netmon/MyRouter/Serial0

       $ ./TkPortHistory.tcl 
     
В этом случае появится диалог выбора файлов в текущем каталоге.


Порядок работы

В рабочем окне есть следующие элементы: Область построения графиков имеет левую шкалу - она отображает масштаб для графиков ifInBytes ifOutBytes; правая-первая шкала отображает масштаб для графиков ifInUcastPackets ifOutUcastPackets; правая-вторая шкала отображает масштаб для ifInDrops ifOutDrops ifInErrors ifOutErrors. Нижняя шкала - шкала времени.

Когда курсор попадает в область построения графиков, на картинке появляются перекрещивающиеся горизонтальная и вертикальная линии, и они двигаются так, что курсор оказывается в точке их пересечения.

В области построения графиков можно изменить масштаб. Для этого нужно выбрать область графика, которую Вы хотите видеть увеличенной, кликнуть правой клавишей мыши, поместив курсор в левый нижний угол этой области и затем кликнуть правой клавишей мыши, поместив курсор в правом верхнем углу.
Произойдет масштабирование графиков.

При этом, Вы можете двигать ползунок левой полосы прокрутки (левый скроллбар) - будут двигаться графики ifInBytes ifOutBytes и их шкала.
Если Вы будете двигать двигать ползунок правой полосы прокрутки(правый скроллбар) - будут двигаться графики ifInUcastPackets ifOutUcastPackets и их шкала.
Если Вы будете двигать двигать ползунок нижней полосы прокрутки (нижний скроллбар) - окно просмотра будет двигаться вдоль шкалы времени.

Если нажать правую клавишу мыши, масштабирование будет отменено.

Если очистить какой-нибудь флажок (чекбокс) - соответствующая пара графиков будет скрыта. Если установить - графики снова появятся.

Флажок (чекбокс) с надписью "legend" отвечает за видимость таблички соответствия цвета линии отображаемому параметру.


Управляющие комбинации клавиш

Control-n - Загрузить данные из другого файла.
F3 - Сохранить график в файл (.GIF)
F4 - Сохранить график в файл (.PS)
Alt - F4, F10 - Выйти.

TkIfUtil.tcl

программа TkIfUtil.tclпредназначена для наблюдения за утилизацией сетевого интерфейса в реальном времени.
Запуск программы
       $ ./TkIfUtil.tcl ROUTER communty 4 
     
Здесь ROUTER - FQND или IP адрес сетевого оборудования, community - SNMP community, и последний параметр - индекс интерфейса, за загрузкой которого будем наблюдать. ( Идекс можно узнать при помощи прогаммы TkSnmpTable.tcl)
Интервал опроса - 20 секунд. На графике отображаются данные только за последние 2 часа. Если в данном устройстве присутсвтуют 64 разраядные счетчики, то опрашиваются именно они (ifHCInOctets ifHCOutOctets).

TkDeviceView.tcl

Программа предназначена для удобного просмотра SNMP информации по определенному хосту.
Запуск программы
       $ ./TkDeviceView.tcl ROUTER communty 
     
Здесь ROUTER - FQND или IP адрес сетевого оборудования, community - SNMP community.
Это своего рода "надстойка" для удобного запуска других программ.

TkSnmpTable.tcl

Программа TkSnmpTable.tcl предназначена для просмотра SNMP таблиц сетевого оборудования - таблицы интерфесов, маршрутов, Tcp сеансов, процессов и так далее.
Запуск программы
       $ ./TkSnmpTable.tcl ROUTER communty ifTable 
     
Здесь ROUTER - FQND или IP адрес сетевого оборудования, community - SNMP community, последний параметр - ссылка на таблицу так, как ее понимает программа snmptable

SystemLog.tcl

Программа SystemLog.tcl предназначена для просмотра журналов SYSLOG - в общем случае, обычного текстового файла.
Возможно указать регулярное выражение для фильтрации строк - будут показаны только те строки, которые совпадают с регулярным выражением. Возможно указать регуляное выражение для поиска.
Запуск программы
       $ ./SystemLog.tcl [ dirname | filename ]
     
В качестве аргумента можно указать имя текстового файла. В это случае, этот файл будет отображен в активном окне программы. Если указать каталог, то появится диалог выбора файла для просмотра в этом каталоге. Если не указать ничего - появится диалог выбора файла для просмотра в текущем каталоге.

NodeReport.tcl

Программа NodeReport.tcl предназначена для отображения внутренних переменных сервиса Netmond для хоста.
Запуск программы
       $ ./NodeReport.tcl Netstate_Server Netstate_Port host
     
Здесь: Netstate_server - FQDN или IP адрес хоста, на катором работает сервис netmond;
Netstate_Port - порт Netstate сервиса netmond;
host - хост, параметры которго нужно постмотреть.
© Виктор Фомичев