Cкрипт для мониторинга Polycom KIRK Wireless Server 6000
Apr 06, 2012 12:49
Понадобилось мониторить в забиксе состояние железяк KIRK 6000 ,к ней подключены ещё 3 станции ,одна отключена. Задача написать скрипт который будет нам сообщать о проблемах доступа или появлении альтернативных синхронизаций. Сначала написал скрипт на питоне с использованием либы http://docs.python-requests.org/en/latest/index.html . Получилось быстро, красиво, но если пароль в скрипте и на самой железке не совпадал ,скрипт вел себя неадекватно нереагируя на except ,хотя в интерпритаторе питон просто вываливалсь с небольшим трейсбеком ... решить эту проблему сходу не получилось ,взял стандартную urllib2 . Скрипт не сложный и если вы не меняли дискрепшены у всего оборудывания,то заработает сходу, скрипт надо запускать с аргументом,которым будет айдишник(серийник с 000 сначала) оборудывания
Для аутентификации на устройстве понадобилась HTTP Digest Authentication . простеньких работющих примеров сходу я не нашёл ,так что вот рабочий вариант
# Загрузка страницы и чтение ## try: response = urllib2.urlopen(url) html = response.read()
except: print 3 # Выводим ответ скрипта если он не может подключится.Для забикса пусть будет 3 sys.exit()
if (ID) in html : #проверка серийного номера на странице startindex = html.find(ID) #переход к серийному номеру status = html[startindex+115:startindex+200] #переход к статусу серийного номера if 'not connected' in status : # проверка на состояние print 0 # Серийный номер неподключен elif 'ball_yellow' in status : # Проверка появилась ли альтернативная синхронизация (через картинку) print 2 # Проблема с синхронизацией else: print 1 # Серийный номер подключен else: print " Серийный номер не найден/ Неправельный аргумент " # В забиксе мы вручную указываем код и мониторить данную ошибку не будем.