Библиотека Jabbix

See:

Description

Packages
org.altlinux.jabbix Классы библиотпеки Jabbix
org.altlinux.jabbix.apps Программа JabbixAgent.
org.altlinux.jabbix.metric Стандартный набор агентов метрик.

Библиотека Jabbix это набор классов Java, которые могут быть использованы для того, чтобы добавить функцилналность агента системы мониторинга Zabbix в программы.

Основные характеристики библиотеки:

Отдельная программа JabbixAgent может быть использована в качестве входной точки для отслеживания параметров сложной системы, такой как вычислительный кластер. Посредством использования специализированных агентов метрик, которые могут быть настроены и связаны динамически, через параметры команд нной строки, данные могут собираться различными путями, включая протоколы JSON, SOAP, RMI и другие сетевые средства.

ИНФОРМАЦИЯ О ЛИЦЕНЗИИ

Copyright (C) 2010 Paul Wolneykien.

Библиотека Jabbix -- это свободное программное обеспечение: вы можете свободно распростанять и/или изменять её по собственному желанию в соответствии с требованиями Ослабленного Общественного лицензионного соглашения GNU (GNU Lesser General Public License) Фонда Свободного программного обеспечения (Free Software Foundation), версии 3 или (по вашему желанию) любой, более поздней версии.

Библиотека Jabbix распространяется в надежде, что она будет полезна но БЕЗ ВСЯЧЕСКИХ ГАРАНТИЙ, включая подразумеваемую гарантию КАЧЕСТВА либо ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Для дополнительных сведений, обращайтесь к полной версии Ослабленного Общественного лицензионного соглашения GNU.

Вы должны были получить копию Ослабленного Общественного лицензионного соглашения GNU вместе с библиотекой Jabbix. Если нет, то обращайтесь по адресу http://www.gnu.org/licenses/.

УЗЕЛ ПРОЕКТА

Проект располагается на сервере Git.Alt: http://git.altlinux.org/people/manowar/packages/jabbix.git

КОНТАКТНАЯ ИНФОРМАЦИЯ

SMTP: Paul Wolneykien <wolneykien@altlinux.org>

URL: ALT Linux, Ltd http://www.altlinux.ru/, http://www.altlinux.org/.

Подробную информацию о системе мониторинга Zabbix можно получить по адресу http://zabbix.org/.





Package org.altlinux.jabbix

See:

Description

Interface Summary
ConnectionPredicate Предикат для определения разрешения на установку соединения от или к некоторому узлу и порту, предназначенный для использования совместно с JabbixSecurityManager.
MetricAgent Агент метрики предоставляет функцию для чтения текущего значения метрики.
MetricTable Обновляемая таблица, содержащая записи класса JabbixActiveMetric.

Class Summary
ActiveAgent Клиетн Zabbix-сервера, реализующий протокол активных проверок.
ActiveMetricTable Обновляемая таблица, содержащая записи об активных метриках (JabbixActiveMetric) и снабжённая периодом устаревания для всего содержимого таблицы в целом.
AgentServer Сервер-агент для системы мониторигна Zabbix.
JabbixActiveMetric Метрика, снабжённая дополнительной информацией, позволяющей использовать её для активных проверок.
JabbixJSONProtocol Константы и функции для основанного на JSON протокола Zabbix-агента.
JabbixMetric Метрика -- именованное значение, представляющее какой-либо параметр системы.
JabbixMetricAgent Реализация интерфейса MetricAgent для получения некоторой информации о работе прогамммы, основанной на Jabbix.
JabbixProtocol Константы и функции для протокола Zabbix-агента.
JabbixReader Объект, инкапсулирующий процесс чтения из канала, и реализующий базовый протокол Jabbix.
JabbixRequest Объект-задача, который используется для асинхронного получения значения метрики.
JabbixSecurityManager Реализация интерфейса SecurityManager используемого для управления доступом к основанной на Jabbix программе и от неё.
JabbixWriter Объект, инкапсулирующий процесс записи в канал и реализующий базовый протокол Jabbix.
MetricRequest Задача, инкапсулирующая процесс получения значения метрики с использованием агента метрики, как синхронно, так и асинхронно.
ResponseQueue Клиент Zabbix-сервера, который отправляет значения метрик на сервер, когда истекает период обновления какой-либо метрики.
WhitelistPredicate Реализует предикат соединения, использующий регулярное выражение для проверки имени узла.
ZabbixClient Базовый класс для всех клиентов Zabbix-сервера.

Exception Summary
JabbixException Исключение, указывающее на общий характер неожиданной ситуации, возникшей во время работы программы, основанной на Jabbix.
JabbixProtocolException Исключение, указывающее на не предусмотренную протоколом Jabbix ситуацию, возникшую в работающей программе, основанной на Jabbix.
NoSuchMetricException Исключение, указывающее что агент для получения значения указанной метрики не был найден.
UnknownCommandException Исключение, указывающее на то, что переданная команда не изместна агенту.

Package org.altlinux.jabbix Description

Классы библиотпеки Jabbix





org.altlinux.jabbix

Class ActiveAgent

java.lang.Object
  

org.altlinux.jabbix.ZabbixClient
org.altlinux.jabbix.ActiveAgent
All Implemented Interfaces:
Runnable

public class ActiveAgentextends ZabbixClientimplements Runnable

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

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

Клиент использует (возможно не активный) экземпляр сервера агентов (AgentServer) как инструмент получения значений метрик. Получение каждого значения метрики выполняется асинхронно посредством пула потоков.


Constructor Summary
ActiveAgent(AgentServer agentServer, ThreadPoolExecutor pool, long refreshPeriod)

Создаёт экземпляр активного агента с заданными параметрами.
Method Summary
ThreadPoolExecutor getPool()

Возвращает пул потоков, который используется при асинхронном получении значений метрик
long getRefreshPeriod()

Возвращает значение периода обновления списка активных проверок.
void run()

Запускает цикл активных проверок.
void setPool(ThreadPoolExecutor pool)

Устанавливает пул потоков, используемый для ассинхронного выполнения задач по получению значений метрик
void setRefreshPeriod(long refreshPeriod)

Устанавливает период обновления списка активных проверок.
Methods inherited from class org.altlinux.jabbix.ZabbixClient
getAddress, getHostName, setAddress, setAddress, setAddress, setAddress, setHostName
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

ActiveAgent

public ActiveAgent(AgentServer agentServer,
                   ThreadPoolExecutor pool,
                   long refreshPeriod)
Создаёт экземпляр активного агента с заданными параметрами.

Parameters:
agentServer - интерфейс для получения значений метрик
pool - пул потоков для асинхронного получения значений метрик
refreshPeriod - период обновления набора активных проверок (метрик) в миллисекундах
Method Detail

run

public void run()
Запускает цикл активных проверок. В первую очередь с сервера запрашивается список метрик. Затем в процессе работы полученный список обновляется в соответствии со значением параметра refreshPeriod. Все активные метрики помещаются в очередь в порядке их устаревания. Каждый раз, когда проходит отрезок времени, равный периоду обновления какой-либо метрики, новое значение данной метрики запрашивается ассинхронно с использованием нового экземпляра задачи MetricRequest. Задача настраивается таким образом, что обновлённое значение метрики помещается в другую очередь ResponseQueue. При переносе в очередь, отсчёт времени устаревания метрики начинается снова, и поэтому каждая обновлённая метрика может находится в очереди вплоть до истечения значения её параметра refreshPeriod, после чего значение метрики посылается на сервер. После этого метрика возвращается обратно в список активных метрик.

Когда же устаревает сам список активных проверок, обрабатывающий очередь процесс заверщается (после отправки значений всех ожидающих отправки метрик), и новый список автивных проверок запрашивается у сервера. Создаются новые экземпляры очереди активных проверок и очереди отправки. Таким образом содержащиеся в предыдущем экземпляре очереди устаревшие метрики не возвращаются в новую очередь активных проверок.

Specified by:
run in interface Runnable

setRefreshPeriod

public void setRefreshPeriod(long refreshPeriod)
Устанавливает период обновления списка активных проверок.

Parameters:
refreshPeriod - значение периода обновления в миллисекундах
See Also:
ActiveMetricTable.setRefreshPeriod(long)

getRefreshPeriod

public long getRefreshPeriod()
Возвращает значение периода обновления списка активных проверок.

Returns:
значение периода обновления в миллисекундах
See Also:
ActiveMetricTable.getRefreshPeriod()

setPool

public void setPool(ThreadPoolExecutor pool)
Устанавливает пул потоков, используемый для ассинхронного выполнения задач по получению значений метрик

Parameters:
pool - интерфейс пула потоков

getPool

public ThreadPoolExecutor getPool()
Возвращает пул потоков, который используется при асинхронном получении значений метрик

Returns:
интерфейс пула потоков




org.altlinux.jabbix

Class ActiveMetricTable

java.lang.Object
  

org.altlinux.jabbix.ActiveMetricTable
All Implemented Interfaces:
Comparable, Delayed, MetricTable

public class ActiveMetricTableextends Objectimplements MetricTable, Delayed

Обновляемая таблица, содержащая записи об активных метриках (JabbixActiveMetric) и снабжённая периодом устаревания для всего содержимого таблицы в целом. Период обновления и функция ActiveMetricTable.getDelay(TimeUnit) интерйейса Delayed могут быть использованы для установки времени устаревания таблицы и контроля за ним. Поскольку информация об активных проверках поставляется сервером, имеет смысл переодически обновлять её для того, чтобы набор активных метрик не устарел.


Constructor Summary
ActiveMetricTable(long refreshPeriod)

Создаёт таблицу с указанным периодом устаревания.
Method Summary
int compareTo(ActiveMetricTable a)

Показывает, является ли данная таблица меньшей, равной или большей, чем указанная таблица.
int compareTo(Delayed o)

Показывает, является ли данная таблица меньшей, равной или большей, чем указанный объект класса Delayed.
long getDelay(TimeUnit unit)

Возвращает оставшееся время, в течение которого содержимое данной очереди считается свежим.
Date getNextRefresh()

Возвращает врямя и дату, когда истекает время действия данной очереди.
DelayQueue getQueue()

Возвращает очередь с активными метриками, разположенными в соответствии с порядком их устаревания.
long getRefreshPeriod()

Возвращает значение периода обновления очереди.
boolean isExpired()

Показывает истекло ли время действия данной очереди.
void setRefreshPeriod(long refreshPeriod)

Устанавливает указанное значение в качестве периода обновления для всей таблицы в целом.
void updateMetric(JabbixActiveMetric freshMetric)

Добавляет указанную метрику в таблицу.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

ActiveMetricTable

public ActiveMetricTable(long refreshPeriod)
Создаёт таблицу с указанным периодом устаревания.

Parameters:
refreshPeriod - период устаревания очереди
Method Detail

updateMetric

public void updateMetric(JabbixActiveMetric freshMetric)
Добавляет указанную метрику в таблицу.

Specified by:
updateMetric in interface MetricTable
Parameters:
freshMetric - метрика, которую нужно добавить
See Also:
JabbixMetric.equals(Object)

setRefreshPeriod

public void setRefreshPeriod(long refreshPeriod)
Устанавливает указанное значение в качестве периода обновления для всей таблицы в целом. Каждый раз, когда период обновления изменяется, параметр nextRefresh также обновляется в соответствии со старым значением периода и текущим системным временем.

Если указанное значение равно нулю, то параметр nextRefresh устанавливается в null и периодичесткого обновления набора записей таблицы не производится.

Parameters:
refreshPeriod - период обновления в миллисекундах

getRefreshPeriod

public long getRefreshPeriod()
Возвращает значение периода обновления очереди.

Returns:
значение периода обновления очереди в миллисекундах

getNextRefresh

public Date getNextRefresh()
Возвращает врямя и дату, когда истекает время действия данной очереди.

Returns:
дата и время устаревания очереди

isExpired

public boolean isExpired()
Показывает истекло ли время действия данной очереди.

Returns:
истина, если очередь устарела, иначе ложь

getDelay

public long getDelay(TimeUnit unit)
Возвращает оставшееся время, в течение которого содержимое данной очереди считается свежим.

Specified by:
getDelay in interface Delayed
Returns:
оставшееся до устаревания очереди время, выраженное в указанных единицах

compareTo

public int compareTo(Delayed o)
Показывает, является ли данная таблица меньшей, равной или большей, чем указанный объект класса Delayed. Таблицы сравниваются посредством ActiveMetricTable.compareTo(ActiveMetricTable). Если указанный объект не является таблицой, то в этом случае таблица считается меньшей (устареваущей раньше), чем указанный объект.

Specified by:
compareTo in interface Comparable
Parameters:
o - объект с которым нужно выполнить сравнение
Returns:
число меньше нуля, если данная таблица устаревает раньше указанного объекта, ноль, если оба обхекта устаревают в одно и то же время, и число больше нуля, если данная таблица устаревает позже указанного объекта

compareTo

public int compareTo(ActiveMetricTable a)
Показывает, является ли данная таблица меньшей, равной или большей, чем указанная таблица. Одна таблица считается меньше другой, если её обновление ожидается раньше. Возвращаемое значение получается путём сравнения параметров nextCheck двух таблиц.

Parameters:
a - другая таблица, с которой необходмо выполнить сравнение
Returns:
число ниже нуля, если данная таблица устаревает раньше, чем указанная, ноль, если обе таблицы устаревают в одно и то же время, и число больше нуля, если данная таблица устаревает позднее указанной

getQueue

public DelayQueue getQueue()
Возвращает очередь с активными метриками, разположенными в соответствии с порядком их устаревания.

Returns:
очередь с активными метриками




org.altlinux.jabbix

Class AgentServer

java.lang.Object
  

org.altlinux.jabbix.AgentServer
All Implemented Interfaces:
Runnable

public class AgentServerextends Objectimplements Runnable

Сервер-агент для системы мониторигна Zabbix. Содержит набор соответствий между множеством объектов класса MetricAgent и множеством ключей метрик. Действующий сервер агентов -- это пассивный компонент системы мониторигна. Он обслуживает по сети запросы на получение значений метрик с использованием протокола Zabbix (т.е. JabbixProtocol).

Каждый ключ метрики -- это текстовая строка, которая может быть поставлена во взаимно однозначное соответствие с агентом метрики (MetricAgent). Однако проекция нескольких ключей в один агент также возможна, при этом делается предположение о том, что точка (.) является разделителем компонентов. Для заданного мультикомпонентного ключа выбирается наиболее длиное совпадение слева, если есть.

Входящие запросы обрабатываются по возможности асинхронно, с использованием пула потоков (см. ThreadPoolExecutor).


Constructor Summary
AgentServer(ThreadPoolExecutor pool)

Создаёт новый экземпляр сервера агентов, использующий указанный пул потоков для обработки входящих запросов.
Method Summary
MetricAgent getMetricAgent(String key)

Возвращает агент метрики зарегистрированный для указанного ключа метрики.
Map getMetricAgentMap()

Возвращает набор соответствий ключ метрики -> агент метрики.
ThreadPoolExecutor getPool()

Возвращает пул потоков, используемый для обработки входящих запросов.
int getPort()

Возвращает номер порта серверного сокета.
void run()

Производит запуск рабочего цикла.
void setMetricAgentMap(Map map)

Устанавливает набор соответствий ключ метрики -> агент метрики.
void setPool(ThreadPoolExecutor pool)

Установить пул потоков для обработки входящих запросов.
void setPort(int port)

Устанавливает номер порта серверного сокета.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

AgentServer

public AgentServer(ThreadPoolExecutor pool)
Создаёт новый экземпляр сервера агентов, использующий указанный пул потоков для обработки входящих запросов.

Parameters:
pool - интерфейс пула потоков
Method Detail

getPort

public int getPort()
Возвращает номер порта серверного сокета.

Returns:
номер порта серверного сокета

setPort

public void setPort(int port)
Устанавливает номер порта серверного сокета. В том случае, если сервер уже работает, одификация данного значения не изменит номер порта уже открытого сокета.

Parameters:
port - номер порта, на котором ожидать подключения

run

public void run()
Производит запуск рабочего цикла. Сервер ожидает входящего соединения, принимает его если текущий менеджер безопасности не препятствует этому, добавляет новый запрос на выборку метрики (JabbixRequest) в очередь задач (см. AgentServer.getPool()) и начинает новую итерацию.

Если очередь задач является блокируемой, новая итерация может быть заблокирована до тех пор, пока некоторое количество предыдущих задач не будет выполнено.

Specified by:
run in interface Runnable

getMetricAgentMap

public Map getMetricAgentMap()
Возвращает набор соответствий ключ метрики -> агент метрики.

Returns:
набор пар (ключ метрики, агент метрики)

setMetricAgentMap

public void setMetricAgentMap(Map map)
Устанавливает набор соответствий ключ метрики -> агент метрики.

Parameters:
map - набор пар (ключ метрики, агент метрики)

getMetricAgent

public MetricAgent getMetricAgent(String key)
Возвращает агент метрики зарегистрированный для указанного ключа метрики. Каждый ключ метрики -- это текстовая строка, которая может быть поставлена во взаимно однозначное соответствие с агентом метрики (MetricAgent). Однако проекция нескольких ключей в один агент также возможна, при этом делается предположение о том, что точка (.) является разделителем компонентов. Для заданного мультикомпонентного ключа выбирается наиболее длиное совпадение слева, если есть.

Parameters:
key - имя метрики
Returns:
агент, который может быть использован для получения значения метрики

setPool

public void setPool(ThreadPoolExecutor pool)
Установить пул потоков для обработки входящих запросов.

Parameters:
pool - интерфейс пула потоков

getPool

public ThreadPoolExecutor getPool()
Возвращает пул потоков, используемый для обработки входящих запросов.

Returns:
интерфейс пула потоков




org.altlinux.jabbix

Interface ConnectionPredicate

All Known Implementing Classes:
WhitelistPredicate

public interface ConnectionPredicate

Предикат для определения разрешения на установку соединения от или к некоторому узлу и порту, предназначенный для использования совместно с JabbixSecurityManager.


Method Summary
boolean isAllowed(String host, int port)

Указывает является ли соединение с определёнными параметрами допустимым.

Method Detail

isAllowed

boolean isAllowed(String host,
                  int port)
Указывает является ли соединение с определёнными параметрами допустимым.

Parameters:
host - узел от которого или к которому выполняется соединение
port - порт от которого или к которому выполняется соединение
Returns:
истина, если соединение разрешено, иначе ложь




org.altlinux.jabbix

Class JabbixActiveMetric

java.lang.Object
  

org.altlinux.jabbix.JabbixMetric
org.altlinux.jabbix.JabbixActiveMetric
All Implemented Interfaces:
Comparable, Delayed

public class JabbixActiveMetricextends JabbixMetricimplements Delayed

Метрика, снабжённая дополнительной информацией, позволяющей использовать её для активных проверок.


Constructor Summary
JabbixActiveMetric(String key, Class type, Object value, long period, boolean active)

Создаёт новый экземпляр активной метрики с указанными параметрами.
Method Summary
int compareTo(Delayed o)

Указывает, яляется ли данная метрика меньшей, равной или большей указанного объекта класса Delayed.
int compareTo(JabbixActiveMetric m)

Определяет, является ли данная метрика меньшей, равной или большей, по сравнению с указанной метрикой.
long getDelay(TimeUnit unit)

Возвращает оставшееся до ближайшего обновления метрики время.
Date getNextCheck()

Возвращает время и дату, когда значение данной метрики должно быть обновлено (на целевом сервере).
long getPeriod()

Возвращает значение периода обновления (в миллисекундах).
Date getUpdated()

Указывает когда была (и была ли) обновлена данная метрика.
boolean isActive()

Указывает, является ли данная метрика "активной".
void setActive(boolean active)

Устанавливает статус "активности" метрики.
Methods inherited from class org.altlinux.jabbix.JabbixMetric
equals, getKey, getValue, getValueType, toString, updateValue
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail

JabbixActiveMetric

public JabbixActiveMetric(String key,
                          Class type,
                          Object value,
                          long period,
                          boolean active)
Создаёт новый экземпляр активной метрики с указанными параметрами.

Parameters:
key - имя метрики
period - период обновления в миллисекундах
active - статус обратного отсчёта
Method Detail

isActive

public boolean isActive()
Указывает, является ли данная метрика "активной". Параметр JabbixActiveMetric.getNextCheck() активной метрики не равен null.

Returns:
статус активности метрики

setActive

public void setActive(boolean active)
Устанавливает статус "активности" метрики. Если статус изменяется с неактивного на активный, то в качестве значения параметра nextCheck устанавливается сумма текущего времени и указанного для данной метрики периода (JabbixActiveMetric.getPeriod()). Если статус меняется с активного на неактивный, то в качестве значения параметра nextCheck устанавливается null. Иначе значение параметра nextCheck не изменяется.

Parameters:
active - значение статуса, которое нужно установить

getNextCheck

public Date getNextCheck()
Возвращает время и дату, когда значение данной метрики должно быть обновлено (на целевом сервере).

Returns:
время следующего обновления

getPeriod

public long getPeriod()
Возвращает значение периода обновления (в миллисекундах).

Returns:
значение периода обновления

compareTo

public int compareTo(JabbixActiveMetric m)
Определяет, является ли данная метрика меньшей, равной или большей, по сравнению с указанной метрикой. Одна метрика считается меньше другой в том случае, если её обновление ожидается раньше. Если обе метрики являются активными, то для получения результата сравниваются их параметры nextCheck. Иначе активная метрика всегда считается меньшей не активной (поэтому не активные метрики всегда находятся в хвосте очереди).

Parameters:
m - активная метрика для сравнения
Returns:
число меньше нуля, если данная метрика оправляется раньше, чем указанная метрика, ноль, если обе метрики отправляются в одно и то же время, и число больше нуля, если данная метрика отправляется позже, чем указанная метрика
See Also:
ActiveMetricTable

getDelay

public long getDelay(TimeUnit unit)
Возвращает оставшееся до ближайшего обновления метрики время. Если метрика не активна (и её параметр nextCheck не установлен), тогда возвращается максимальное длинное целое число Long.MAX_VALUE. Иначе возвращается разница между текущим времением и nextCheck, выраженная в указанных единицах.

Specified by:
getDelay in interface Delayed
Returns:
оставшееся до следующего обновления метрики время, выраженная в указанных единицах

compareTo

public int compareTo(Delayed o)
Указывает, яляется ли данная метрика меньшей, равной или большей указанного объекта класса Delayed. Активные метрики сравниваются посредством функции JabbixActiveMetric.compareTo(JabbixActiveMetric). Если указанный объект не ясляется активной метрикой, то в этом случае данная метрика считается меньшей (более ранней) чем объект.

Specified by:
compareTo in interface Comparable
Parameters:
o - объект с которым нужно выполнить сравнение
Returns:
число меньше нуля, если данная метрика устаревает быстрее чем указаннй объект, ноль, если оба объекта устаревают в одно и то же время, и число больше нуля, если данная метрика устаревает позднее, чем указаннй объект

getUpdated

public Date getUpdated()
Указывает когда была (и была ли) обновлена данная метрика.

Returns:
время и дата, когда значение метрики было в последний раз обновлено или null, если значение метрики ещё не было обновлено
See Also:
JabbixMetric.updateValue(java.lang.Object)




org.altlinux.jabbix

Class JabbixException

java.lang.Object
  

java.lang.Throwable
java.lang.Exception
org.altlinux.jabbix.JabbixException
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
JabbixProtocolException, NoSuchMetricException, UnknownCommandException

public class JabbixExceptionextends Exception

Исключение, указывающее на общий характер неожиданной ситуации, возникшей во время работы программы, основанной на Jabbix.

See Also:
Serialized Form

Field Summary
static String ERROR_TAG

Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
Constructor Summary
JabbixException(String msg)

Создаёт объект исключения с указанным сообщением.
JabbixException(Throwable t)

Создаёт объект исключения с указанной причиной.
Method Summary
String getErrorTag()

Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

ERROR_TAG

public static String ERROR_TAG
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.

Constructor Detail

JabbixException

public JabbixException(String msg)
Создаёт объект исключения с указанным сообщением.

Parameters:
msg - комментарий к исключению

JabbixException

public JabbixException(Throwable t)
Создаёт объект исключения с указанной причиной.

Parameters:
t - причина, вызвавшая исключение
Method Detail

getErrorTag

public String getErrorTag()
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.

Returns:
текстовая строка, представляющая код ошибки




org.altlinux.jabbix

Class JabbixJSONProtocol

java.lang.Object
  

org.altlinux.jabbix.JabbixJSONProtocol
public class JabbixJSONProtocolextends Object

Константы и функции для основанного на JSON протокола Zabbix-агента.


Field Summary
static String ZBX_PROTO_TAG_AVAILABLE

static String ZBX_PROTO_TAG_CLOCK

Определяет время (обновления и/или создания) записи.
static String ZBX_PROTO_TAG_DATA

Ключ записи, содержащей массив записей о метриках.
static String ZBX_PROTO_TAG_DCHECK

static String ZBX_PROTO_TAG_DELAY

Определяет период обновления активной метрики, определяемой соответствующей записью.
static String ZBX_PROTO_TAG_DRULE

static String ZBX_PROTO_TAG_ERROR

static String ZBX_PROTO_TAG_HOST

Определяет имя локального узла агента, ожидаемое сервером.
static String ZBX_PROTO_TAG_HOSTID

static String ZBX_PROTO_TAG_INFO

Определяет комментарий к выполненной сервером операции обработки данных или сообщение об ошибке.
static String ZBX_PROTO_TAG_IP

static String ZBX_PROTO_TAG_IPMI_AVAILABLE

static String ZBX_PROTO_TAG_IPMI_ERROR

static String ZBX_PROTO_TAG_KEY

Определяет имя записи.
static String ZBX_PROTO_TAG_KEY_ORIG

static String ZBX_PROTO_TAG_LOGEVENTID

static String ZBX_PROTO_TAG_LOGLASTSIZE

static String ZBX_PROTO_TAG_LOGSEVERITY

static String ZBX_PROTO_TAG_LOGSOURCE

static String ZBX_PROTO_TAG_LOGTIMESTAMP

static String ZBX_PROTO_TAG_MTIME

static String ZBX_PROTO_TAG_NODEID

static String ZBX_PROTO_TAG_PORT

static String ZBX_PROTO_TAG_PROXY

static String ZBX_PROTO_TAG_REGEXP

static String ZBX_PROTO_TAG_REQUEST

Указывает, что данное сообщение является запросом к Zabbix-серверу.
static String ZBX_PROTO_TAG_RESPONSE

Указывает, что данное сообщение является ответом от Zabbix-сервера.
static String ZBX_PROTO_TAG_SCRIPTID

static String ZBX_PROTO_TAG_SNMP_AVAILABLE

static String ZBX_PROTO_TAG_SNMP_ERROR

static String ZBX_PROTO_TAG_STATUS

static String ZBX_PROTO_TAG_TYPE

static String ZBX_PROTO_TAG_VALUE

Определяет значение записи.
static String ZBX_PROTO_VALUE_AGENT_DATA

Указывает, что агент отправляет список свежих значений метрик соответствующий ранее запрошенному набору активных проверок (см.
static String ZBX_PROTO_VALUE_AUTO_REGISTRATION_DATA

static String ZBX_PROTO_VALUE_DISCOVERY_DATA

static String ZBX_PROTO_VALUE_FAILED

Указывает, что сервер не смог успешно произвести ранее запрошенную операцию.
static String ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS

Указывает, что агент запрашивает список активных проверок -- набор метрик (JabbixActiveMetric), в которых заинтересован сервер.
static String ZBX_PROTO_VALUE_HISTORY_DATA

static String ZBX_PROTO_VALUE_HOST_AVAILABILITY

static String ZBX_PROTO_VALUE_PROXY_CONFIG

static String ZBX_PROTO_VALUE_PROXY_HEARTBEAT

static String ZBX_PROTO_VALUE_SENDER_DATA

static String ZBX_PROTO_VALUE_SUCCESS

Указывает, что сервер успешно выполнил ранее запрошенную операцию.
Constructor Summary
JabbixJSONProtocol()

Method Summary
static Collection receiveActiveCheckList(JabbixReader reader)

Читает и возвращает список активных проверок.
static String receiveMetricListResponse(JabbixReader reader)

Принимает информацию от сервера в ответ на переданные метрические данные.
static void requestActiveCheckList(JabbixWriter writer, String hostName)

Запрашивает набор метрик для "активного" мониторинга.
static void sendMetricList(JabbixWriter writer, String hostName, Collection metrics)

Отправляет набор значений метрик на Zabbix-сервер.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

ZBX_PROTO_TAG_CLOCK

public static String ZBX_PROTO_TAG_CLOCK
Определяет время (обновления и/или создания) записи.

See Also:
JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection), JabbixJSONProtocol.ZBX_PROTO_TAG_KEY

ZBX_PROTO_TAG_DATA

public static String ZBX_PROTO_TAG_DATA
Ключ записи, содержащей массив записей о метриках.

See Also:
JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection)

ZBX_PROTO_TAG_REGEXP

public static String ZBX_PROTO_TAG_REGEXP

ZBX_PROTO_TAG_DELAY

public static String ZBX_PROTO_TAG_DELAY
Определяет период обновления активной метрики, определяемой соответствующей записью.

See Also:
JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.ZBX_PROTO_TAG_KEY, JabbixActiveMetric

ZBX_PROTO_TAG_DRULE

public static String ZBX_PROTO_TAG_DRULE

ZBX_PROTO_TAG_DCHECK

public static String ZBX_PROTO_TAG_DCHECK

ZBX_PROTO_TAG_HOST

public static String ZBX_PROTO_TAG_HOST
Определяет имя локального узла агента, ожидаемое сервером.

See Also:
JabbixJSONProtocol.requestActiveCheckList(JabbixWriter, String), JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection)

ZBX_PROTO_TAG_INFO

public static String ZBX_PROTO_TAG_INFO
Определяет комментарий к выполненной сервером операции обработки данных или сообщение об ошибке.

See Also:
JabbixJSONProtocol.receiveMetricListResponse(JabbixReader), JabbixJSONProtocol.requestActiveCheckList(JabbixWriter, String)

ZBX_PROTO_TAG_IP

public static String ZBX_PROTO_TAG_IP

ZBX_PROTO_TAG_KEY

public static String ZBX_PROTO_TAG_KEY
Определяет имя записи. В том случае, если запись представляет метрику, её имя определяется посредством данного тега.

See Also:
JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection), JabbixJSONProtocol.ZBX_PROTO_TAG_DELAY, JabbixJSONProtocol.ZBX_PROTO_TAG_CLOCK, JabbixJSONProtocol.ZBX_PROTO_TAG_VALUE, JabbixActiveMetric

ZBX_PROTO_TAG_KEY_ORIG

public static String ZBX_PROTO_TAG_KEY_ORIG

ZBX_PROTO_TAG_LOGLASTSIZE

public static String ZBX_PROTO_TAG_LOGLASTSIZE

ZBX_PROTO_TAG_MTIME

public static String ZBX_PROTO_TAG_MTIME

ZBX_PROTO_TAG_LOGTIMESTAMP

public static String ZBX_PROTO_TAG_LOGTIMESTAMP

ZBX_PROTO_TAG_LOGSOURCE

public static String ZBX_PROTO_TAG_LOGSOURCE

ZBX_PROTO_TAG_LOGSEVERITY

public static String ZBX_PROTO_TAG_LOGSEVERITY

ZBX_PROTO_TAG_LOGEVENTID

public static String ZBX_PROTO_TAG_LOGEVENTID

ZBX_PROTO_TAG_PORT

public static String ZBX_PROTO_TAG_PORT

ZBX_PROTO_TAG_PROXY

public static String ZBX_PROTO_TAG_PROXY

ZBX_PROTO_TAG_REQUEST

public static String ZBX_PROTO_TAG_REQUEST
Указывает, что данное сообщение является запросом к Zabbix-серверу. Соответствующее данному тегу значение должно определять тип соверщаемого запроса.

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_RESPONSE, JabbixJSONProtocol.requestActiveCheckList(JabbixWriter, String), JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection), JabbixJSONProtocol.ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS, JabbixJSONProtocol.ZBX_PROTO_VALUE_AGENT_DATA

ZBX_PROTO_TAG_RESPONSE

public static String ZBX_PROTO_TAG_RESPONSE
Указывает, что данное сообщение является ответом от Zabbix-сервера. Соответствующее данному тегу значение должно определять статус ответа, т.е. статус запрошенной операции.

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_REQUEST, JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.receiveMetricListResponse(JabbixReader), JabbixJSONProtocol.ZBX_PROTO_VALUE_SUCCESS, JabbixJSONProtocol.ZBX_PROTO_VALUE_FAILED

ZBX_PROTO_TAG_STATUS

public static String ZBX_PROTO_TAG_STATUS

ZBX_PROTO_TAG_TYPE

public static String ZBX_PROTO_TAG_TYPE

ZBX_PROTO_TAG_VALUE

public static String ZBX_PROTO_TAG_VALUE
Определяет значение записи. В том случае, если запись представляет метрику, её значение определяется посредством данного тега.

See Also:
JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection), JabbixJSONProtocol.ZBX_PROTO_TAG_KEY, JabbixActiveMetric

ZBX_PROTO_TAG_SCRIPTID

public static String ZBX_PROTO_TAG_SCRIPTID

ZBX_PROTO_TAG_HOSTID

public static String ZBX_PROTO_TAG_HOSTID

ZBX_PROTO_TAG_NODEID

public static String ZBX_PROTO_TAG_NODEID

ZBX_PROTO_TAG_AVAILABLE

public static String ZBX_PROTO_TAG_AVAILABLE

ZBX_PROTO_TAG_SNMP_AVAILABLE

public static String ZBX_PROTO_TAG_SNMP_AVAILABLE

ZBX_PROTO_TAG_IPMI_AVAILABLE

public static String ZBX_PROTO_TAG_IPMI_AVAILABLE

ZBX_PROTO_TAG_ERROR

public static String ZBX_PROTO_TAG_ERROR

ZBX_PROTO_TAG_SNMP_ERROR

public static String ZBX_PROTO_TAG_SNMP_ERROR

ZBX_PROTO_TAG_IPMI_ERROR

public static String ZBX_PROTO_TAG_IPMI_ERROR

ZBX_PROTO_VALUE_FAILED

public static String ZBX_PROTO_VALUE_FAILED
Указывает, что сервер не смог успешно произвести ранее запрошенную операцию.

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_RESPONSE, JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.receiveMetricListResponse(JabbixReader)

ZBX_PROTO_VALUE_SUCCESS

public static String ZBX_PROTO_VALUE_SUCCESS
Указывает, что сервер успешно выполнил ранее запрошенную операцию.

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_RESPONSE, JabbixJSONProtocol.receiveActiveCheckList(JabbixReader), JabbixJSONProtocol.receiveMetricListResponse(JabbixReader)

ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS

public static String ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS
Указывает, что агент запрашивает список активных проверок -- набор метрик (JabbixActiveMetric), в которых заинтересован сервер.

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_REQUEST, JabbixJSONProtocol.requestActiveCheckList(JabbixWriter, String)

ZBX_PROTO_VALUE_PROXY_CONFIG

public static String ZBX_PROTO_VALUE_PROXY_CONFIG

ZBX_PROTO_VALUE_PROXY_HEARTBEAT

public static String ZBX_PROTO_VALUE_PROXY_HEARTBEAT

ZBX_PROTO_VALUE_DISCOVERY_DATA

public static String ZBX_PROTO_VALUE_DISCOVERY_DATA

ZBX_PROTO_VALUE_HOST_AVAILABILITY

public static String ZBX_PROTO_VALUE_HOST_AVAILABILITY

ZBX_PROTO_VALUE_HISTORY_DATA

public static String ZBX_PROTO_VALUE_HISTORY_DATA

ZBX_PROTO_VALUE_AUTO_REGISTRATION_DATA

public static String ZBX_PROTO_VALUE_AUTO_REGISTRATION_DATA

ZBX_PROTO_VALUE_SENDER_DATA

public static String ZBX_PROTO_VALUE_SENDER_DATA

ZBX_PROTO_VALUE_AGENT_DATA

public static String ZBX_PROTO_VALUE_AGENT_DATA
Указывает, что агент отправляет список свежих значений метрик соответствующий ранее запрошенному набору активных проверок (см. ActiveAgent).

See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_REQUEST, JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection)
Constructor Detail

JabbixJSONProtocol

public JabbixJSONProtocol()
Method Detail

requestActiveCheckList

public static void requestActiveCheckList(JabbixWriter writer,
                                          String hostName)
                                   throws IOException
Запрашивает набор метрик для "активного" мониторинга. Запрошенный набор может быть получен посредством функции JabbixJSONProtocol.receiveActiveCheckList(JabbixReader).

Сообщение JSON следующей структуры составляется и отправляется на сервер:

 {"request": "active checks",
  "host": "<имя узла>"}

Параметр имя узла (host) соответствует ожидаемому сервером имени локального узла (см. ZabbixClient.getHostName()).

Parameters:
writer - объект, инкапсулирующий процесс записи в сокет
hostName - имя локального узла
Throws:
IOException - если во время отправки запроса произошло исключение ввода-вывода
See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_REQUEST, JabbixJSONProtocol.ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS, JabbixJSONProtocol.ZBX_PROTO_TAG_HOST

receiveActiveCheckList

public static Collection receiveActiveCheckList(JabbixReader reader)
                                         throws IOException,
                                                JabbixException,
                                                JabbixProtocolException
Читает и возвращает список активных проверок. Используется для чтения ранее запрошенной информации по метрикам для "активного" слежения.

Ожидается сообщение JSON следующей формы (структуры):

 {
     "response": "success",
     "data":
     [
         { "key": "<ключ метрики>",
           "delay": "<период обновления>" },
         { "key": "<ключ метрики>",
           "delay": "<период обновления>" },

         ...

     ]
  }

Параметр ключ метрики (key) для каждой записи определяет имя метрики (см. JabbixActiveMetric) значение которой сервер ожидает получать периодически.

Период обновления значения метрики определятся соответствующим параметром период обновления.

В том случае, если сервер не в состоянии отправить запрошенный список активных проверок, он отвечает сообщением с указанием статуса неудачной операции и необязательным комметрарием (см. JabbixJSONProtocol.receiveMetricListResponse(JabbixReader)).

Parameters:
reader - объект, инкапсулирующий процесс чтения из сокета
Returns:
набор активных метрик (JabbixActiveMetric) представляющий список активных проверок
Throws:
IOException - если во время приёма ответа возникло исключение ввода-вывода
JabbixException - если сервер отправил статус неудачной операции
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixJSONProtocol.requestActiveCheckList(JabbixWriter,String), JabbixJSONProtocol.ZBX_PROTO_TAG_RESPONSE, JabbixJSONProtocol.ZBX_PROTO_VALUE_SUCCESS, JabbixJSONProtocol.ZBX_PROTO_TAG_DATA, JabbixJSONProtocol.ZBX_PROTO_TAG_KEY, JabbixJSONProtocol.ZBX_PROTO_TAG_DELAY, JabbixJSONProtocol.ZBX_PROTO_VALUE_FAILED

sendMetricList

public static void sendMetricList(JabbixWriter writer,
                                  String hostName,
                                  Collection metrics)
                           throws IOException
Отправляет набор значений метрик на Zabbix-сервер. Сервер отвечает посылкой статусного сообщения (см. JabbixJSONProtocol.receiveMetricListResponse(JabbixReader)).

Сообщение JSON следующей структуры составляется и отправляется на сервер:

 {
     "request": "agent data",
     "data":
     [
         { "host": "<имя узла>",
           "key": "<ключ метрики>",
           "value": "<значение метрики>",
           "clock": <время метрики>" },
         { "host": "<имя узла>",
           "key": "<ключ метрики>",
           "value": "<значение метрики>",
           "clock": <время метрики>" },

           ...

       ]
      "clock": <время сообщения>
 }

Параметр имя узла (host) соответствует ожидаемому сервером имени локального узла (см. ZabbixClient.getHostName()).

Параметр ключ метрики (key) для каждой записи определяет имя метрики (см. JabbixActiveMetric) значение которой сервер ожидает получать периодически.

Параметр значние метрики (value) определяет значение метрики, представляемое в виде текстовой строки. Поскольку значение метрики не отправляется непосредственно после ого обновления, специальный переметр врямя метрики (clock) в каждой записи используется для того, чтобы явно указать время его обновления (см. JabbixActiveMetric.getUpdated()).

Полезно, кроме того, указывать и время отправки всего запроса. Параметр верхнего уровня время сообщения (clock) используется для этой цели.

Parameters:
writer - объект, инкапсулирующий процесс записи в сокет
hostName - имя локального узла
metrics - набор метрик
Throws:
IOException - если во время отправки данных возникло исключение ввода-вывода
See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_REQUEST, JabbixJSONProtocol.ZBX_PROTO_VALUE_AGENT_DATA, JabbixJSONProtocol.ZBX_PROTO_TAG_HOST, JabbixJSONProtocol.ZBX_PROTO_TAG_KEY, JabbixJSONProtocol.ZBX_PROTO_TAG_VALUE, JabbixJSONProtocol.ZBX_PROTO_TAG_CLOCK, JabbixJSONProtocol.ZBX_PROTO_TAG_DATA

receiveMetricListResponse

public static String receiveMetricListResponse(JabbixReader reader)
                                        throws IOException,
                                               JabbixException,
                                               JabbixProtocolException
Принимает информацию от сервера в ответ на переданные метрические данные.

Ожидается сообщение JSON следующей формы (структуры):

 { "response": "<статус>",
   "info": "<комментарий>" }

В случае успеха параметр статус (response) указывается как success. А параметр комментарий (info) содержит комментарий к выполненной обработке данных в понятной для человека форме.

В случае ошибки статус может быть установлен как failed или в любое другое значение (отображающее неудачу). Переметр комментарий может присутствовать или быть опущен.

Parameters:
reader - объект, инкапсулирующий процесс чтения из сокета
Returns:
ответное сообщение сервера
Throws:
IOException - если во время приёма ответа возникло исключение ввода-вывода
JabbixException - если сервер отправил статус неудачной операции
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixJSONProtocol.ZBX_PROTO_TAG_RESPONSE, JabbixJSONProtocol.ZBX_PROTO_VALUE_SUCCESS, JabbixJSONProtocol.ZBX_PROTO_TAG_INFO, JabbixJSONProtocol.ZBX_PROTO_VALUE_FAILED




org.altlinux.jabbix

Class JabbixMetricAgent

java.lang.Object
  

org.altlinux.jabbix.JabbixMetricAgent
All Implemented Interfaces:
MetricAgent

public class JabbixMetricAgentextends Objectimplements MetricAgent

Реализация интерфейса MetricAgent для получения некоторой информации о работе прогамммы, основанной на Jabbix. В настоящее время следующие параметры могут быть считаны: "jabbix.agent.freeMemory", "jabbix.agent.maxMemory" and "jabbix.agent.totalMemory". Эти параметры представляют соответствующие параметры рабочего окружения виртуальной машины Java.


Constructor Summary
JabbixMetricAgent()

Создаёт новый экземпляр агента.
Method Summary
JabbixMetric getMetric(String key)

Возвращает метрику, представляющую значение параметра основанной на Jabbix программы с соответствующим ключом.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

JabbixMetricAgent

public JabbixMetricAgent()
Создаёт новый экземпляр агента.

Method Detail

getMetric

public JabbixMetric getMetric(String key)
                       throws JabbixException,
                              NoSuchMetricException
Возвращает метрику, представляющую значение параметра основанной на Jabbix программы с соответствующим ключом.

Specified by:
getMetric in interface MetricAgent
Parameters:
key - ключ метрики -- имя метрики
Returns:
Объект класса JabbixMetric содержащий текущее значение метрики
Throws:
NoSuchMetricException - если метрики с указанным ключом не было обнаружено
JabbixException - в случае возникновения любой другой ошибки




org.altlinux.jabbix

Class JabbixMetric

java.lang.Object
  

org.altlinux.jabbix.JabbixMetric
Direct Known Subclasses:
JabbixActiveMetric

public class JabbixMetricextends Object

Метрика -- именованное значение, представляющее какой-либо параметр системы.


Constructor Summary
JabbixMetric(String key, Class type, Object value)

Строит новую метрику с указанными именем и типом значения.
Method Summary
boolean equals(Object o)

Указывает является ли некоторый другой объект "равным" метрики.
String getKey()

Возвращает имя метрики.
Object getValue()

Возвращает значение метрики.
Class getValueType()

Возвращает класс типа значения метрики.
String toString()

Возвращает значения метрики в виде текстовой строки
void updateValue(Object value)

Обновляет значение метрики.
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail

JabbixMetric

public JabbixMetric(String key,
                    Class type,
                    Object value)
Строит новую метрику с указанными именем и типом значения.

Parameters:
key - имя метрики
value - значение метрики
Method Detail

getKey

public String getKey()
Возвращает имя метрики.

Returns:
имя метрики

getValue

public Object getValue()
Возвращает значение метрики.

Returns:
значение метрики

updateValue

public void updateValue(Object value)
                 throws ClassCastException
Обновляет значение метрики.

Parameters:
value - новое значение
Throws:
ClassCastException - если тип данных нового значения не совместим с типом значения метрики
See Also:
MetricTable.updateMetric(JabbixMetric)

toString

public String toString()
Возвращает значения метрики в виде текстовой строки

Overrides:
toString in class Object

equals

public boolean equals(Object o)
Указывает является ли некоторый другой объект "равным" метрики. Две метрики считаются равными тогда и только тогда, когда их ключи равны. Метрика никогда не равна объекту, не наслудеющему JabbixMetric.

Overrides:
equals in class Object

getValueType

public Class getValueType()
Возвращает класс типа значения метрики.

Returns:
класс типа значения метрики




org.altlinux.jabbix

Class JabbixProtocolException

java.lang.Object
  

java.lang.Throwable
java.lang.Exception
org.altlinux.jabbix.JabbixException
org.altlinux.jabbix.JabbixProtocolException
All Implemented Interfaces:
Serializable

public class JabbixProtocolExceptionextends JabbixException

Исключение, указывающее на не предусмотренную протоколом Jabbix ситуацию, возникшую в работающей программе, основанной на Jabbix.

See Also:
Serialized Form

Field Summary
static String ERROR_TAG

Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
Constructor Summary
JabbixProtocolException(String msg)

Создаёт объект исключения с указанным сообщением.
JabbixProtocolException(Throwable t)

Создаёт объект исключения с указанной причиной.
Method Summary
String getErrorTag()

Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

ERROR_TAG

public static String ERROR_TAG
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.

Constructor Detail

JabbixProtocolException

public JabbixProtocolException(String msg)
Создаёт объект исключения с указанным сообщением.

Parameters:
msg - комментарий к исключению

JabbixProtocolException

public JabbixProtocolException(Throwable t)
Создаёт объект исключения с указанной причиной.

Parameters:
t - причина, вызвавшая исключение
Method Detail

getErrorTag

public String getErrorTag()
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.

Overrides:
getErrorTag in class JabbixException
Returns:
текстовая строка, представляющая код ошибки




org.altlinux.jabbix

Class JabbixProtocol

java.lang.Object
  

org.altlinux.jabbix.JabbixProtocol
public class JabbixProtocolextends Object

Константы и функции для протокола Zabbix-агента.

Базовый протокол Zabbix для связи между агентом и сервером представляет собой разновидность простого бинарного протокола и используется для передачи произвольных порций данных между Zabbix-совместимым агентом (например основанной на Jabbix-программой) и Zabbix-сервером.

Каждая такая передача называется сообщением. Каждое сообщение имеет следующую форму (структуру):

 |   4 Байта   | 1 Байт |    8 Байтов     |        ДЛИНА Байтов       |
    ЗАГОЛОВОК    ВЕРСИЯ        ДЛИНА             ДАННЫЕ СООБЩЕНИЯ

Поле ЗАГОЛОВОК это 4-байтовая последовательность 4 символов ASCII, в настоящее время определённая как ZBXD. Следующее поле ВЕРСИЯ шириной в один байт определяет версию протокола. В настоящее время поддерживаемая версия протокола равняется 1 (т.е. 01h).

Следующее 8-байтовое поле ДЛИНА содержит 64-битное целое число (младший байт первым) определяющее длину следующей за ним части ДАННЫЕ СООБЩЕНИЯ. Все числовые данные также представляются в виде с младшим байтом в начале.

Для целей совместимости и для того, чтобы упростить программы-агенты, используется и другой протокол, основанный на разделителях. В этом протоколе сообщения не имеют предустановленной структуры. Вместо этого, один из символов-разделителей используется для обозначения конца каждого сообщения. Поскольку перевод строки (0Ah) также входит в набор разделителей, простые текстовые сообщения могут быть переданы как есть.

Основное использование передачи простых текстовых сообщений посредством неструктурированного протокола ведётся при взаимодействии Zabbix-сервера с пассивным агентом: сервер отправляет имя метрикри пассивному агенту как простой текст, без всякого заголовка. Однако агент не ограничен в ответе протым текстом и может использовать структурированную версию протокола если это удобно.

Кроме того, неструктурированные ответы могут отправляться сервером Zabbix в некоторых случаях.

See Also:
AgentServer

Field Summary
static int AGENT_PORT

Номер порта агента по умолчанию (10050).
static String HEADER

Четырёхбуквенный заголовок протокола.
static String SEPARATORS

Набор разделителей сообщений.
static int SERVER_PORT

Порт Zabbix-сервера по умолчанию (10051).
static String VERSION

Версия протокола (один байт).
Constructor Summary
JabbixProtocol()

Method Summary
static JabbixReader getReader(InputStream in)

Возвращает объект, инкапсулирующий процесс чтения из указанного канала.
static JabbixWriter getWriter(OutputStream out)

Возвращает объект, инкапсулирующий процесс записи в указанный канал.
static boolean isSeparator(char c)

Определяет, является ли указанный символ разделителем сообщений.
static String removeSeparators(String str)

Возвращает указанную строку, из которой были удалены все символы-разделители.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

HEADER

public static String HEADER
Четырёхбуквенный заголовок протокола.

Для указания на Zabbix используется последовательность ZBXD.


VERSION

public static String VERSION
Версия протокола (один байт).

В настоящее время поддерживается протокол версии 1 (01h).


SEPARATORS

public static String SEPARATORS
Набор разделителей сообщений.

В том случае, если длина сообщения не указана явно в заголовке, конец сообщения определяется посредством символа разделителя. Данная строка содержит последовательность символов этой категории.

В настоящее время символами-разделителями являются:


AGENT_PORT

public static int AGENT_PORT
Номер порта агента по умолчанию (10050).


SERVER_PORT

public static int SERVER_PORT
Порт Zabbix-сервера по умолчанию (10051).

Constructor Detail

JabbixProtocol

public JabbixProtocol()
Method Detail

getReader

public static JabbixReader getReader(InputStream in)
Возвращает объект, инкапсулирующий процесс чтения из указанного канала.

Parameters:
in - входной канал для чтения
Returns:
объект, инкапсулирующий процесс чтения из канала

getWriter

public static JabbixWriter getWriter(OutputStream out)
Возвращает объект, инкапсулирующий процесс записи в указанный канал.

Parameters:
out - выходной канал для записи
Returns:
объект, инкапсулирующий процесс записи в канал

isSeparator

public static boolean isSeparator(char c)
Определяет, является ли указанный символ разделителем сообщений.

Parameters:
c - символ для проверки
Returns:
истина, если символ является разделителем, иначе ложь
See Also:
JabbixProtocol.SEPARATORS

removeSeparators

public static String removeSeparators(String str)
Возвращает указанную строку, из которой были удалены все символы-разделители.

Parameters:
str - строка
Returns:
указанная строка, из которой были удалены все символы-разделители




org.altlinux.jabbix

Class JabbixReader

java.lang.Object
  

org.altlinux.jabbix.JabbixReader
public class JabbixReaderextends Object

Объект, инкапсулирующий процесс чтения из канала, и реализующий базовый протокол Jabbix.


Constructor Summary
JabbixReader(InputStream in)

Создаёт объект, инкапсулирующий процесс чтения из указанного входного канала.
Method Summary
String readAll()

Читает из канала все имеющиеся данные
String readMessage()

Читает сообщение из входного канала.
String readMessage(boolean untilEOF)

Читает сообщение из входного канала.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

JabbixReader

public JabbixReader(InputStream in)
Создаёт объект, инкапсулирующий процесс чтения из указанного входного канала.

Parameters:
in - канал для чтения
Method Detail

readMessage

public String readMessage(boolean untilEOF)
                   throws IOException,
                          JabbixProtocolException
Читает сообщение из входного канала. Если принимаемое сообщение составлено по протоколу Zabbix, то его длина определяется из заголовка. Иначе делается предположение о том, что конец сообщения будет обозначен символом-разделителем (см. JabbixProtocol.isSeparator(char)). Если указан флаг untilEOF, то в этом случае все имеющиеся в канале данные будут прочитаны и возвращены как единое сообщение.

Parameters:
untilEOF - флаг, уазывающий читать все имеющиеся данные
Returns:
сообщение
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixProtocol.HEADER

readMessage

public String readMessage()
                   throws IOException,
                          JabbixProtocolException
Читает сообщение из входного канала. Длина сообщения либо указана явно в заголовке, либо определяется на основании положения символа-разделителя внутри сообщения (см. JabbixProtocol.isSeparator(char)).

Returns:
сообщение
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixReader.readMessage(boolean)

readAll

public String readAll()
               throws IOException,
                      JabbixProtocolException
Читает из канала все имеющиеся данные

Returns:
сообщение, содержащее все прочитанные данные
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
JabbixProtocolException - если протокол был нарушен (т.е. было принято неожиданное значение)
See Also:
JabbixReader.readMessage(boolean)




org.altlinux.jabbix

Class JabbixRequest

java.lang.Object
  

org.altlinux.jabbix.JabbixRequest
All Implemented Interfaces:
Runnable

public class JabbixRequestextends Objectimplements Runnable

Объект-задача, который используется для асинхронного получения значения метрики.


Constructor Summary
JabbixRequest(AgentServer srv, Socket sock)

Создаёт объект-задачу для выполнения запроса с указанными параметрами.
Method Summary
String getCommand()

Возвращает команду, которая была установлена и должна быть обработана.
boolean isParsed()

Указывает, был ли запрос интерпретирован.
void run()

Запускает обработку запроса.
void setCommand(String cmd)

Устанавливает команду, которая должна быть обработана в рамках данного запроса.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

JabbixRequest

public JabbixRequest(AgentServer srv,
                     Socket sock)
Создаёт объект-задачу для выполнения запроса с указанными параметрами.

Parameters:
srv - сервер агентов метрик, используемый для получения подходящего для полученного ключа агента
sock - подключённый сокет для приёма данный запроса и для отправки полученного значения метрики
Method Detail

isParsed

public boolean isParsed()
Указывает, был ли запрос интерпретирован. Если никакая команда не была установлена до начала обработки запроса, то в этом случае делается попытка прочитать команду из сокета и интерпретировать её.

Returns:
истина, если команда была интерпретирована успешно, иначе ложь
See Also:
JabbixRequest.run()

getCommand

public String getCommand()
Возвращает команду, которая была установлена и должна быть обработана.

Returns:
команда, которая должна быть обработкана в рамках данного запроса

setCommand

public void setCommand(String cmd)
Устанавливает команду, которая должна быть обработана в рамках данного запроса. Обычно никакая команда не устанавливается до начала обработки запроса, и в этом случае делается попытка прочитать команду из сокета и интерпретировать её.

Parameters:
cmd - команда
See Also:
JabbixRequest.run()

run

public void run()
Запускает обработку запроса. Если никакая команда не была установлена до начала обработки запроса, то в этом случае делается попытка прочитать команду из сокета и интерпретировать её. Если команда была идентифицирована удачно, то устанавливаются параметры parsed и command. После этого команда обрабатывается. Если команда была определена как ключ метрики, тогда у сервера агентов запрашивается агент метрики из которого извлекается свежее значение метрики. Новое значение метрики отправляется запрашивающей стороне в виде ответного сообщения.

Specified by:
run in interface Runnable
Throws:
RuntimeException - если во время процесса обработки запроса возникло исключение
See Also:
JabbixRequest.isParsed(), JabbixRequest.getCommand()




org.altlinux.jabbix

Class JabbixSecurityManager

java.lang.Object
  

java.lang.SecurityManager
org.altlinux.jabbix.JabbixSecurityManager
public class JabbixSecurityManagerextends SecurityManager

Реализация интерфейса SecurityManager используемого для управления доступом к основанной на Jabbix программе и от неё. Для проверки разрешений используется два набора предикатов.


Constructor Summary
JabbixSecurityManager()

Создаёт экземпляр данного менеджера безопасности.
Method Summary
void checkAccept(String host, int port)

Проверяет разрешение на приём соединения от указанного узла и порта используя набор предикатов.
void checkConnect(String host, int port)

Проверяет разрешение на установку соединения с указанным узлом и портом используя набор предикатов.
Collection getConnectionPredicates()

Возвращает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.
Collection getListenPredicates()

Возвращает набор предикатов, определяющих разрешение на приём соединений от удалённых узлов.
void setConnectionPredicates(Collection connPreds)

Устанавливает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.
void setListenPredicates(Collection listenPreds)

Устанавливает набор предикатов, определяющих разрашение на приём соединений от удалённых узлов.
Methods inherited from class java.lang.SecurityManager
checkAccess, checkAccess, checkAwtEventQueueAccess, checkConnect, checkCreateClassLoader, checkDelete, checkExec, checkExit, checkLink, checkListen, checkMemberAccess, checkMulticast, checkMulticast, checkPackageAccess, checkPackageDefinition, checkPermission, checkPermission, checkPrintJobAccess, checkPropertiesAccess, checkPropertyAccess, checkRead, checkRead, checkRead, checkSecurityAccess, checkSetFactory, checkSystemClipboardAccess, checkTopLevelWindow, checkWrite, checkWrite, getInCheck, getSecurityContext, getThreadGroup
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

JabbixSecurityManager

public JabbixSecurityManager()
Создаёт экземпляр данного менеджера безопасности.

Method Detail

checkAccept

public void checkAccept(String host,
                        int port)
Проверяет разрешение на приём соединения от указанного узла и порта используя набор предикатов. По умолчанию (соответствующий набор предикатов пуст), ращрешены сединения со всеми удалёнными узлами. Иначе, только соединения, удовлетворяющие хотя бы одному из указанных предикатов, разрешены.

Overrides:
checkAccept in class SecurityManager

checkConnect

public void checkConnect(String host,
                         int port)
Проверяет разрешение на установку соединения с указанным узлом и портом используя набор предикатов. По умолчанию (соответствующий набор предикатов пуст), ращрешены сединения со всеми удалёнными узлами. Иначе, только соединения, удовлетворяющие хотя бы одному из указанных предикатов, разрешены.

Overrides:
checkConnect in class SecurityManager

getConnectionPredicates

public Collection getConnectionPredicates()
Возвращает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.

Returns:
набор предикатов для проверки исходящих соединений

setConnectionPredicates

public void setConnectionPredicates(Collection connPreds)
Устанавливает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.

Parameters:
connPreds - набор предикатов для проверки исходящих соединений

setListenPredicates

public void setListenPredicates(Collection listenPreds)
Устанавливает набор предикатов, определяющих разрашение на приём соединений от удалённых узлов.

Parameters:
listenPreds - набор предикатов для проверки входящих соединений

getListenPredicates

public Collection getListenPredicates()
Возвращает набор предикатов, определяющих разрешение на приём соединений от удалённых узлов.

Returns:
набор предикатов для проверки входящих соединений




org.altlinux.jabbix

Class JabbixWriter

java.lang.Object
  

org.altlinux.jabbix.JabbixWriter
public class JabbixWriterextends Object

Объект, инкапсулирующий процесс записи в канал и реализующий базовый протокол Jabbix.

Для отправки сообщения использутся структурированный протокол Zabbix (см. JabbixProtocol).

See Also:
JabbixReader

Constructor Summary
JabbixWriter(OutputStream out)

Создаёт обект, инкапсулирующий просесс записи в указанный канал.
Method Summary
void writeMessage(String msg)

Отправляет указанное сообщение с использованием протокола Zabbix.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

JabbixWriter

public JabbixWriter(OutputStream out)
Создаёт обект, инкапсулирующий просесс записи в указанный канал.

Parameters:
out - канал для записи
Method Detail

writeMessage

public void writeMessage(String msg)
                  throws IOException
Отправляет указанное сообщение с использованием протокола Zabbix. Длина сообщения явно устанавливается в заголовке в соответствии с протоколом Zabbix.

Parameters:
msg - сообщение для отправки
Throws:
IOException - если во время операции чтения возникло исключение ввода-вывода
See Also:
JabbixProtocol.HEADER, JabbixReader.readMessage(boolean)




org.altlinux.jabbix

Interface MetricAgent

All Known Implementing Classes:
JabbixMetricAgent, RandomNumberMetric

public interface MetricAgent

Агент метрики предоставляет функцию для чтения текущего значения метрики.


Method Summary
JabbixMetric getMetric(String key)

Возвращает объект класса JabbixMetric, содержащий текущее значение метрики с указанным ключём.

Method Detail

getMetric

JabbixMetric getMetric(String key)
                       throws JabbixException,
                              NoSuchMetricException
Возвращает объект класса JabbixMetric, содержащий текущее значение метрики с указанным ключём.

Parameters:
key - ключ метрики -- имя метрики
Returns:
Объект класса JabbixMetric содержащий текущее значение метрики
Throws:
NoSuchMetricException - если метрики с указанным ключом не было обнаружено
JabbixException - в случае возникновения любой другой ошибки




org.altlinux.jabbix

Class MetricRequest

java.lang.Object
  

org.altlinux.jabbix.MetricRequest
All Implemented Interfaces:
Runnable

public class MetricRequestextends Objectimplements Runnable

Задача, инкапсулирующая процесс получения значения метрики с использованием агента метрики, как синхронно, так и асинхронно.


Constructor Summary
MetricRequest(AgentServer agentServer, JabbixMetric metric, MetricTable table)

Создаёт новую задачу-запрос с указанными параметрами.
Method Summary
JabbixMetric getFreshMetric()

Возвращает новый экземпляр метрики, содержащий свежее значние для указанной во время создания зспроса метрики
void run()

Используется для асинхронного получения и обновления значения метрики.
void setAgentServer(AgentServer agentServer)

Устанавливает сервер агентов метрик для выполнения запросов на получение новых значений.
void updateMetric(JabbixMetric metric)

Обновляет значение указанной метрики выполняя запрос к подходящему для этого агенту метрики.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

MetricRequest

public MetricRequest(AgentServer agentServer,
                     JabbixMetric metric,
                     MetricTable table)
Создаёт новую задачу-запрос с указанными параметрами.

Parameters:
agentServer - сервер агентов метрик используемый для получения подходящего агента для запрошенной метрики
metric - метрика, для которой нужно получить свежее значение
table - необязательная для указания таблица метрик в которую нужно передать обновлённую метрику
Method Detail

run

public void run()
Используется для асинхронного получения и обновления значения метрики. В завершение обновлённая метрика может быть записана в таблицу обновлений.

Specified by:
run in interface Runnable

getFreshMetric

public JabbixMetric getFreshMetric()
                            throws JabbixException,
                                   NoSuchMetricException
Возвращает новый экземпляр метрики, содержащий свежее значние для указанной во время создания зспроса метрики

Returns:
новый экземпляр метрики со свежим значением
Throws:
JabbixException - в ответ на исключительную ситуацию во время получения значения
NoSuchMetricException - если агент метрики не был найден для указанной метрики

updateMetric

public void updateMetric(JabbixMetric metric)
                  throws JabbixException,
                         NoSuchMetricException
Обновляет значение указанной метрики выполняя запрос к подходящему для этого агенту метрики.

Parameters:
metric - метрика для обновления
Throws:
JabbixException - в ответ на исключительную ситуацию во время получения значения
NoSuchMetricException - если агент метрики не был найден для указанной метрики

setAgentServer

public void setAgentServer(AgentServer agentServer)
Устанавливает сервер агентов метрик для выполнения запросов на получение новых значений.

Parameters:
agentServer - сервер агентов метрик




org.altlinux.jabbix

Interface MetricTable

All Known Implementing Classes:
ActiveMetricTable, ResponseQueue

public interface MetricTable

Обновляемая таблица, содержащая записи класса JabbixActiveMetric.


Method Summary
void updateMetric(JabbixMetric freshMetric)

Обновляет значение той записи таблицы, которая равна (соответствует) указанной метрике, значением последней.

Method Detail

updateMetric

void updateMetric(JabbixMetric freshMetric)
Обновляет значение той записи таблицы, которая равна (соответствует) указанной метрике, значением последней. Если в таблице не была обнаружена искомая метрика, данная функция может добавить указанный объект в таблицу.

Parameters:
freshMetric - метрика-образец с новым значением
See Also:
JabbixMetric.equals(Object)




org.altlinux.jabbix

Class NoSuchMetricException

java.lang.Object
  

java.lang.Throwable
java.lang.Exception
org.altlinux.jabbix.JabbixException
org.altlinux.jabbix.NoSuchMetricException
All Implemented Interfaces:
Serializable

public class NoSuchMetricExceptionextends JabbixException

Исключение, указывающее что агент для получения значения указанной метрики не был найден.

See Also:
Serialized Form

Field Summary
static String ERROR_TAG

Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
Constructor Summary
NoSuchMetricException(String msg)

Создаёт объект исключения с указанным сообщением.
Method Summary
String getErrorTag()

Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

ERROR_TAG

public static String ERROR_TAG
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.

Constructor Detail

NoSuchMetricException

public NoSuchMetricException(String msg)
Создаёт объект исключения с указанным сообщением.

Parameters:
msg - комментарий к исключению
Method Detail

getErrorTag

public String getErrorTag()
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.

Overrides:
getErrorTag in class JabbixException
Returns:
текстовая строка, представляющая код ошибки




Hierarchy For Package org.altlinux.jabbix

Package Hierarchies:
All Packages

Class Hierarchy

Interface Hierarchy





org.altlinux.jabbix

Class ResponseQueue

java.lang.Object
  

org.altlinux.jabbix.ZabbixClient
org.altlinux.jabbix.ResponseQueue
All Implemented Interfaces:
Runnable, MetricTable

public class ResponseQueueextends ZabbixClientimplements MetricTable, Runnable

Клиент Zabbix-сервера, который отправляет значения метрик на сервер, когда истекает период обновления какой-либо метрики. Содержит обновляемую очередь записей класса JabbixActiveMetric, которые отправляются на сервер и ссылку на другую очередь, в которую возвращаются отправленные метрики.

Когда активная метрика добавляется к очереди счётчик её устаревания сбрасывается. По этой причине, отправка значения на сервер производится в том случае, когда истекает один полный период её устаревания, или когда это происходит для какой-либо другой метрики.


Constructor Summary
ResponseQueue(InetSocketAddress addr, MetricTable returnTable)

Создаёт очередь с указанными параметрами.
Method Summary
MetricTable getReturnTable()

Возвращает очередь, в которую помещаются отправленные метрики
boolean isTerminated()

Возвращает признак завершения цикла ожидания-отправки.
void run()

Запускает цикл ожидания-отправки.
void terminate()

Завершает цикл ожидания-отправки для данной очереди.
void updateMetric(JabbixActiveMetric freshMetric)

Добавляет указанную метрику в очередь.
Methods inherited from class org.altlinux.jabbix.ZabbixClient
getAddress, getHostName, setAddress, setAddress, setAddress, setAddress, setHostName
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

ResponseQueue

public ResponseQueue(InetSocketAddress addr,
                     MetricTable returnTable)
Создаёт очередь с указанными параметрами. Отдельная таблица возврата используется для хранения отправленных метрик. Механизм с двумя таблицами (внутренняя таблица очереди и возвратная таблица) используется для того, чтобы предотвратить нахождение в очереди метрик, в которых сервер более не заинтересован, в течение всей жизни процесса.

Parameters:
addr - адрес сокета удалённого сервера
returnTable - таблица, в которую возвращаются отправленные записи
Method Detail

run

public void run()
Запускает цикл ожидания-отправки. До тех пор пока цикл не будет завершён посредством вызова ResponseQueue.terminate(), процесс ожидает устаревания любой метрики в очереди, а затем отправляет всё содержимое очереди в виде запроса "agent data". После этого набор отправленных метрик добавляется в возвратную таблицу.

Specified by:
run in interface Runnable
See Also:
JabbixJSONProtocol.sendMetricList(JabbixWriter, String, Collection), ResponseQueue.getReturnTable()

updateMetric

public void updateMetric(JabbixActiveMetric freshMetric)
Добавляет указанную метрику в очередь. Статус активности метрики (см. JabbixActiveMetric.setActive(boolean)) выключается и включается. Данная операция приводит к тому, что счётчик устаревания метрики сбрасывается.

Specified by:
updateMetric in interface MetricTable
Parameters:
freshMetric - метрика, которую нужно добавить
See Also:
JabbixMetric.equals(Object)

getReturnTable

public MetricTable getReturnTable()
Возвращает очередь, в которую помещаются отправленные метрики

Returns:
очерередь, в которую добавляются отправленные метрики

isTerminated

public boolean isTerminated()
Возвращает признак завершения цикла ожидания-отправки.

Returns:
истина, если признак завершения выставлен
See Also:
ResponseQueue.run()

terminate

public void terminate()
Завершает цикл ожидания-отправки для данной очереди.

See Also:
ResponseQueue.run()




org.altlinux.jabbix

Class UnknownCommandException

java.lang.Object
  

java.lang.Throwable
java.lang.Exception
org.altlinux.jabbix.JabbixException
org.altlinux.jabbix.UnknownCommandException
All Implemented Interfaces:
Serializable

public class UnknownCommandExceptionextends JabbixException

Исключение, указывающее на то, что переданная команда не изместна агенту.

See Also:
Serialized Form

Field Summary
static String ERROR_TAG

Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
Constructor Summary
UnknownCommandException(String msg)

Создаёт объект исключения с указанным сообщением.
Method Summary
String getErrorTag()

Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

Field Detail

ERROR_TAG

public static String ERROR_TAG
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.

Constructor Detail

UnknownCommandException

public UnknownCommandException(String msg)
Создаёт объект исключения с указанным сообщением.

Parameters:
msg - комментарий к исключению
Method Detail

getErrorTag

public String getErrorTag()
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.

Overrides:
getErrorTag in class JabbixException
Returns:
текстовая строка, представляющая код ошибки




org.altlinux.jabbix

Class WhitelistPredicate

java.lang.Object
  

org.altlinux.jabbix.WhitelistPredicate
All Implemented Interfaces:
ConnectionPredicate

public class WhitelistPredicateextends Objectimplements ConnectionPredicate

Реализует предикат соединения, использующий регулярное выражение для проверки имени узла.

See Also:
JabbixSecurityManager

Constructor Summary
WhitelistPredicate(String addressPattern)

Создаёт новый экземпляр предиката на основе указанного шаблона.
Method Summary
boolean isAllowed(String host, int port)

Проверяет, совпадает ли указанное имя узла с установленным шаблоном.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

WhitelistPredicate

public WhitelistPredicate(String addressPattern)
Создаёт новый экземпляр предиката на основе указанного шаблона.

Parameters:
addressPattern - регулярное выражение для проверки имени узлов
Method Detail

isAllowed

public boolean isAllowed(String host,
                         int port)
Проверяет, совпадает ли указанное имя узла с установленным шаблоном.

Specified by:
isAllowed in interface ConnectionPredicate
Parameters:
host - узел от которого или к которому выполняется соединение
port - порт от которого или к которому выполняется соединение
Returns:
истина, если соединение разрешено, иначе ложь




org.altlinux.jabbix

Class ZabbixClient

java.lang.Object
  

org.altlinux.jabbix.ZabbixClient
Direct Known Subclasses:
ActiveAgent, ResponseQueue

public abstract class ZabbixClientextends Object

Базовый класс для всех клиентов Zabbix-сервера. Реализует полезные функции для соединения с сервером Zabbix.


Constructor Summary
ZabbixClient()

Создаёт экземпляр клиента Zabbix-сервера.
Method Summary
InetSocketAddress getAddress()

Возвращает установленный адрес Zabbix-сервера.
String getHostName()

Возвращает установленное имя локального узла.
void setAddress(byte[] ipBytes)

Устанавливает адрес серверного сокета используя указанный IP-адрес и порт Zabbix-сервера по умолчанию.
void setAddress(InetAddress serverAddress)

Устанавливает адрес серверного сокета используя указанный адрес узла и порт Zabbix-сервера по умолчанию.
void setAddress(InetSocketAddress addr)

Устанавливает адрес сокета Zabbix-сервера.
void setAddress(String serverHostName)

Устанавливает адрес серверного сокета используя указанное имя узла и порт Zabbix-сервера по умолчанию.
void setHostName(String hostName)

Устанавливает имя локального узла для маркировки отправляемых сообщений.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

ZabbixClient

public ZabbixClient()
Создаёт экземпляр клиента Zabbix-сервера.

Method Detail

setAddress

public void setAddress(InetSocketAddress addr)
Устанавливает адрес сокета Zabbix-сервера.

Parameters:
addr - адрес сокета сервера

getAddress

public InetSocketAddress getAddress()
Возвращает установленный адрес Zabbix-сервера.

Returns:
адрес сокета сервера

getHostName

public String getHostName()
Возвращает установленное имя локального узла. Zabbix-сервер обычно принимает сообщения, помеченные как отправленные от определённых узлов.

Returns:
установленное имя локального узла

setHostName

public void setHostName(String hostName)
Устанавливает имя локального узла для маркировки отправляемых сообщений.

Parameters:
hostName - имя узла

setAddress

public void setAddress(String serverHostName)
Устанавливает адрес серверного сокета используя указанное имя узла и порт Zabbix-сервера по умолчанию.

Parameters:
serverHostName - имя узла для настройки соединения
See Also:
JabbixProtocol.SERVER_PORT

setAddress

public void setAddress(InetAddress serverAddress)
Устанавливает адрес серверного сокета используя указанный адрес узла и порт Zabbix-сервера по умолчанию.

Parameters:
serverAddress - адрес для настройки соединения
See Also:
JabbixProtocol.SERVER_PORT

setAddress

public void setAddress(byte[] ipBytes)
                throws UnknownHostException
Устанавливает адрес серверного сокета используя указанный IP-адрес и порт Zabbix-сервера по умолчанию.

Parameters:
ipBytes - набор байтов, составляющих IP-адрес для настройки соединения
Throws:
UnknownHostException - в случае, если был указан IP-адрес неверной длины
See Also:
JabbixProtocol.SERVER_PORT




org.altlinux.jabbix.apps

Class JabbixAgent

java.lang.Object
  

org.altlinux.jabbix.apps.JabbixAgent
public class JabbixAgentextends Object

Основанная на Jabbix программа, реализующая самостоятельный Zabbix-агент. Она может быть использована в качестве входной точки для отслеживания параметров сложной систмы, к примеру такой, как вычислительный кластер. Посредством специализированных агентов метрик, которые могут быть настроены и связаны динамически, через параметры команднной строки, данные могут собираться различными путями, включая протоколы JSON, SOAP, RMI и другие сетевые средства.

Для получения информации о возможностях программы используйте параметр командной строки --help.


Field Summary
static String VERSION

Constructor Summary
JabbixAgent()

Method Summary
static void main(String[] args)

Разбирает параметры командной строки и запускает агент.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

VERSION

public static String VERSION
Constructor Detail

JabbixAgent

public JabbixAgent()
Method Detail

main

public static void main(String[] args)
Разбирает параметры командной строки и запускает агент.

Parameters:
args - аргументы командной строки




Package org.altlinux.jabbix.apps

See:

Description

Class Summary
JabbixAgent Основанная на Jabbix программа, реализующая самостоятельный Zabbix-агент.

Package org.altlinux.jabbix.apps Description

Программа JabbixAgent.





Hierarchy For Package org.altlinux.jabbix.apps

Package Hierarchies:
All Packages

Class Hierarchy





Package org.altlinux.jabbix.metric

See:

Description

Class Summary
RandomNumberMetric Агент метрики реализованный в качестве примера для библиотеки Jabbix, который запрашивает генератор псевдослучайных чисел для получения значения нормально-распределённой случайной величины.

Package org.altlinux.jabbix.metric Description

Стандартный набор агентов метрик.





Hierarchy For Package org.altlinux.jabbix.metric

Package Hierarchies:
All Packages

Class Hierarchy





org.altlinux.jabbix.metric

Class RandomNumberMetric

java.lang.Object
  

org.altlinux.jabbix.metric.RandomNumberMetric
All Implemented Interfaces:
MetricAgent

public class RandomNumberMetricextends Objectimplements MetricAgent

Агент метрики реализованный в качестве примера для библиотеки Jabbix, который запрашивает генератор псевдослучайных чисел для получения значения нормально-распределённой случайной величины. Поскольку предполагается возврат только данной метрики, она возвращается для любого указанного ключа.


Constructor Summary
RandomNumberMetric(long seed)

Создаёт новую случайную метрику с указанным зерном.
Method Summary
JabbixMetric getMetric(String key)

Возвращает значение нормально-распределённой случайной величины.
Random getRandom()

Возвращает генератор псевдостучайных чисел.
void setRandom(Random random)

Устанавливает генератор псевдослучайных чисел.
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Detail

RandomNumberMetric

public RandomNumberMetric(long seed)
Создаёт новую случайную метрику с указанным зерном.

Parameters:
seed - зерно генератора псевдослучайных чисел
Method Detail

getMetric

public JabbixMetric getMetric(String key)
                       throws JabbixException,
                              NoSuchMetricException
Возвращает значение нормально-распределённой случайной величины. Поскольку предполагается возврат только данной метрики, она возвращается для любого указанного ключа.

Specified by:
getMetric in interface MetricAgent
Parameters:
key - ключ метрики -- имя метрики
Returns:
Объект класса JabbixMetric, содержащий псевдослучайное значение.
Throws:
NoSuchMetricException - если метрики с указанным ключом не было обнаружено
JabbixException - в случае возникновения любой другой ошибки

setRandom

public void setRandom(Random random)
Устанавливает генератор псевдослучайных чисел.

Parameters:
random - генератор псевдослучайных чисел

getRandom

public Random getRandom()
Возвращает генератор псевдостучайных чисел.

Returns:
генератор псевдослучайных чисел используемый для получения значений


All Classes

ActiveAgent

ActiveMetricTable

AgentServer

ConnectionPredicate

JabbixActiveMetric

JabbixAgent

JabbixException

JabbixJSONProtocol

JabbixMetric

JabbixMetricAgent

JabbixProtocol

JabbixProtocolException

JabbixReader

JabbixRequest

JabbixSecurityManager

JabbixWriter

MetricAgent

MetricRequest

MetricTable

NoSuchMetricException

RandomNumberMetric

ResponseQueue

UnknownCommandException

WhitelistPredicate

ZabbixClient



Constant Field Values


Contents



Deprecated API


Contents



Serialized Form


Package org.altlinux.jabbix

Class org.altlinux.jabbix.JabbixException extends Exception implements Serializable

serialVersionUID: -4613631465571127015L

Class org.altlinux.jabbix.JabbixProtocolException extends JabbixException implements Serializable

serialVersionUID: -2103738920257883564L

Class org.altlinux.jabbix.NoSuchMetricException extends JabbixException implements Serializable

serialVersionUID: 8658433030135158515L

Class org.altlinux.jabbix.UnknownCommandException extends JabbixException implements Serializable

serialVersionUID: -3226163690812745802L




ACEGHIJMNORSTUVWZ

A

ActiveAgent - Class in org.altlinux.jabbix
Клиетн Zabbix-сервера, реализующий протокол активных проверок.
ActiveAgent(AgentServer, ThreadPoolExecutor, long) - Constructor for class org.altlinux.jabbix.ActiveAgent
Создаёт экземпляр активного агента с заданными параметрами.
ActiveMetricTable - Class in org.altlinux.jabbix
Обновляемая таблица, содержащая записи об активных метриках (JabbixActiveMetric) и снабжённая периодом устаревания для всего содержимого таблицы в целом.
ActiveMetricTable(long) - Constructor for class org.altlinux.jabbix.ActiveMetricTable
Создаёт таблицу с указанным периодом устаревания.
AGENT_PORT - Static variable in class org.altlinux.jabbix.JabbixProtocol
Номер порта агента по умолчанию (10050).
AgentServer - Class in org.altlinux.jabbix
Сервер-агент для системы мониторигна Zabbix.
AgentServer(ThreadPoolExecutor) - Constructor for class org.altlinux.jabbix.AgentServer
Создаёт новый экземпляр сервера агентов, использующий указанный пул потоков для обработки входящих запросов.

C

checkAccept(String, int) - Method in class org.altlinux.jabbix.JabbixSecurityManager
Проверяет разрешение на приём соединения от указанного узла и порта используя набор предикатов.
checkConnect(String, int) - Method in class org.altlinux.jabbix.JabbixSecurityManager
Проверяет разрешение на установку соединения с указанным узлом и портом используя набор предикатов.
compareTo(Delayed) - Method in class org.altlinux.jabbix.ActiveMetricTable
Показывает, является ли данная таблица меньшей, равной или большей, чем указанный объект класса Delayed.
compareTo(ActiveMetricTable) - Method in class org.altlinux.jabbix.ActiveMetricTable
Показывает, является ли данная таблица меньшей, равной или большей, чем указанная таблица.
compareTo(JabbixActiveMetric) - Method in class org.altlinux.jabbix.JabbixActiveMetric
Определяет, является ли данная метрика меньшей, равной или большей, по сравнению с указанной метрикой.
compareTo(Delayed) - Method in class org.altlinux.jabbix.JabbixActiveMetric
Указывает, яляется ли данная метрика меньшей, равной или большей указанного объекта класса Delayed.
ConnectionPredicate - Interface in org.altlinux.jabbix
Предикат для определения разрешения на установку соединения от или к некоторому узлу и порту, предназначенный для использования совместно с JabbixSecurityManager.

E

equals(Object) - Method in class org.altlinux.jabbix.JabbixMetric
Указывает является ли некоторый другой объект "равным" метрики.
ERROR_TAG - Static variable in exception org.altlinux.jabbix.JabbixException
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
ERROR_TAG - Static variable in exception org.altlinux.jabbix.JabbixProtocolException
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
ERROR_TAG - Static variable in exception org.altlinux.jabbix.NoSuchMetricException
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.
ERROR_TAG - Static variable in exception org.altlinux.jabbix.UnknownCommandException
Текстовая строка, представляющая код ошибки, в соответствии с протоколом Zabbix.

G

getAddress() - Method in class org.altlinux.jabbix.ZabbixClient
Возвращает установленный адрес Zabbix-сервера.
getCommand() - Method in class org.altlinux.jabbix.JabbixRequest
Возвращает команду, которая была установлена и должна быть обработана.
getConnectionPredicates() - Method in class org.altlinux.jabbix.JabbixSecurityManager
Возвращает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.
getDelay(TimeUnit) - Method in class org.altlinux.jabbix.ActiveMetricTable
Возвращает оставшееся время, в течение которого содержимое данной очереди считается свежим.
getDelay(TimeUnit) - Method in class org.altlinux.jabbix.JabbixActiveMetric
Возвращает оставшееся до ближайшего обновления метрики время.
getErrorTag() - Method in exception org.altlinux.jabbix.JabbixException
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
getErrorTag() - Method in exception org.altlinux.jabbix.JabbixProtocolException
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
getErrorTag() - Method in exception org.altlinux.jabbix.NoSuchMetricException
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
getErrorTag() - Method in exception org.altlinux.jabbix.UnknownCommandException
Возвращает текстовую строку, представляющую код ошибки в соответствии с протоколом Zabbix.
getFreshMetric() - Method in class org.altlinux.jabbix.MetricRequest
Возвращает новый экземпляр метрики, содержащий свежее значние для указанной во время создания зспроса метрики
getHostName() - Method in class org.altlinux.jabbix.ZabbixClient
Возвращает установленное имя локального узла.
getKey() - Method in class org.altlinux.jabbix.JabbixMetric
Возвращает имя метрики.
getListenPredicates() - Method in class org.altlinux.jabbix.JabbixSecurityManager
Возвращает набор предикатов, определяющих разрешение на приём соединений от удалённых узлов.
getMetric(String) - Method in class org.altlinux.jabbix.JabbixMetricAgent
Возвращает метрику, представляющую значение параметра основанной на Jabbix программы с соответствующим ключом.
getMetric(String) - Method in class org.altlinux.jabbix.metric.RandomNumberMetric
Возвращает значение нормально-распределённой случайной величины.
getMetric(String) - Method in interface org.altlinux.jabbix.MetricAgent
Возвращает объект класса JabbixMetric, содержащий текущее значение метрики с указанным ключём.
getMetricAgent(String) - Method in class org.altlinux.jabbix.AgentServer
Возвращает агент метрики зарегистрированный для указанного ключа метрики.
getMetricAgentMap() - Method in class org.altlinux.jabbix.AgentServer
Возвращает набор соответствий ключ метрики -> агент метрики.
getNextCheck() - Method in class org.altlinux.jabbix.JabbixActiveMetric
Возвращает время и дату, когда значение данной метрики должно быть обновлено (на целевом сервере).
getNextRefresh() - Method in class org.altlinux.jabbix.ActiveMetricTable
Возвращает врямя и дату, когда истекает время действия данной очереди.
getPeriod() - Method in class org.altlinux.jabbix.JabbixActiveMetric
Возвращает значение периода обновления (в миллисекундах).
getPool() - Method in class org.altlinux.jabbix.ActiveAgent
Возвращает пул потоков, который используется при асинхронном получении значений метрик
getPool() - Method in class org.altlinux.jabbix.AgentServer
Возвращает пул потоков, используемый для обработки входящих запросов.
getPort() - Method in class org.altlinux.jabbix.AgentServer
Возвращает номер порта серверного сокета.
getQueue() - Method in class org.altlinux.jabbix.ActiveMetricTable
Возвращает очередь с активными метриками, разположенными в соответствии с порядком их устаревания.
getRandom() - Method in class org.altlinux.jabbix.metric.RandomNumberMetric
Возвращает генератор псевдостучайных чисел.
getReader(InputStream) - Static method in class org.altlinux.jabbix.JabbixProtocol
Возвращает объект, инкапсулирующий процесс чтения из указанного канала.
getRefreshPeriod() - Method in class org.altlinux.jabbix.ActiveAgent
Возвращает значение периода обновления списка активных проверок.
getRefreshPeriod() - Method in class org.altlinux.jabbix.ActiveMetricTable
Возвращает значение периода обновления очереди.
getReturnTable() - Method in class org.altlinux.jabbix.ResponseQueue
Возвращает очередь, в которую помещаются отправленные метрики
getUpdated() - Method in class org.altlinux.jabbix.JabbixActiveMetric
Указывает когда была (и была ли) обновлена данная метрика.
getValue() - Method in class org.altlinux.jabbix.JabbixMetric
Возвращает значение метрики.
getValueType() - Method in class org.altlinux.jabbix.JabbixMetric
Возвращает класс типа значения метрики.
getWriter(OutputStream) - Static method in class org.altlinux.jabbix.JabbixProtocol
Возвращает объект, инкапсулирующий процесс записи в указанный канал.

H

HEADER - Static variable in class org.altlinux.jabbix.JabbixProtocol
Четырёхбуквенный заголовок протокола.

I

isActive() - Method in class org.altlinux.jabbix.JabbixActiveMetric
Указывает, является ли данная метрика "активной".
isAllowed(String, int) - Method in interface org.altlinux.jabbix.ConnectionPredicate
Указывает является ли соединение с определёнными параметрами допустимым.
isAllowed(String, int) - Method in class org.altlinux.jabbix.WhitelistPredicate
Проверяет, совпадает ли указанное имя узла с установленным шаблоном.
isExpired() - Method in class org.altlinux.jabbix.ActiveMetricTable
Показывает истекло ли время действия данной очереди.
isParsed() - Method in class org.altlinux.jabbix.JabbixRequest
Указывает, был ли запрос интерпретирован.
isSeparator(char) - Static method in class org.altlinux.jabbix.JabbixProtocol
Определяет, является ли указанный символ разделителем сообщений.
isTerminated() - Method in class org.altlinux.jabbix.ResponseQueue
Возвращает признак завершения цикла ожидания-отправки.

J

JabbixActiveMetric - Class in org.altlinux.jabbix
Метрика, снабжённая дополнительной информацией, позволяющей использовать её для активных проверок.
JabbixActiveMetric(String, Class, T, long, boolean) - Constructor for class org.altlinux.jabbix.JabbixActiveMetric
Создаёт новый экземпляр активной метрики с указанными параметрами.
JabbixAgent - Class in org.altlinux.jabbix.apps
Основанная на Jabbix программа, реализующая самостоятельный Zabbix-агент.
JabbixAgent() - Constructor for class org.altlinux.jabbix.apps.JabbixAgent
JabbixException - Exception in org.altlinux.jabbix
Исключение, указывающее на общий характер неожиданной ситуации, возникшей во время работы программы, основанной на Jabbix.
JabbixException(String) - Constructor for exception org.altlinux.jabbix.JabbixException
Создаёт объект исключения с указанным сообщением.
JabbixException(Throwable) - Constructor for exception org.altlinux.jabbix.JabbixException
Создаёт объект исключения с указанной причиной.
JabbixJSONProtocol - Class in org.altlinux.jabbix
Константы и функции для основанного на JSON протокола Zabbix-агента.
JabbixJSONProtocol() - Constructor for class org.altlinux.jabbix.JabbixJSONProtocol
JabbixMetric - Class in org.altlinux.jabbix
Метрика -- именованное значение, представляющее какой-либо параметр системы.
JabbixMetric(String, Class, T) - Constructor for class org.altlinux.jabbix.JabbixMetric
Строит новую метрику с указанными именем и типом значения.
JabbixMetricAgent - Class in org.altlinux.jabbix
Реализация интерфейса MetricAgent для получения некоторой информации о работе прогамммы, основанной на Jabbix.
JabbixMetricAgent() - Constructor for class org.altlinux.jabbix.JabbixMetricAgent
Создаёт новый экземпляр агента.
JabbixProtocol - Class in org.altlinux.jabbix
Константы и функции для протокола Zabbix-агента.
JabbixProtocol() - Constructor for class org.altlinux.jabbix.JabbixProtocol
JabbixProtocolException - Exception in org.altlinux.jabbix
Исключение, указывающее на не предусмотренную протоколом Jabbix ситуацию, возникшую в работающей программе, основанной на Jabbix.
JabbixProtocolException(String) - Constructor for exception org.altlinux.jabbix.JabbixProtocolException
Создаёт объект исключения с указанным сообщением.
JabbixProtocolException(Throwable) - Constructor for exception org.altlinux.jabbix.JabbixProtocolException
Создаёт объект исключения с указанной причиной.
JabbixReader - Class in org.altlinux.jabbix
Объект, инкапсулирующий процесс чтения из канала, и реализующий базовый протокол Jabbix.
JabbixReader(InputStream) - Constructor for class org.altlinux.jabbix.JabbixReader
Создаёт объект, инкапсулирующий процесс чтения из указанного входного канала.
JabbixRequest - Class in org.altlinux.jabbix
Объект-задача, который используется для асинхронного получения значения метрики.
JabbixRequest(AgentServer, Socket) - Constructor for class org.altlinux.jabbix.JabbixRequest
Создаёт объект-задачу для выполнения запроса с указанными параметрами.
JabbixSecurityManager - Class in org.altlinux.jabbix
Реализация интерфейса SecurityManager используемого для управления доступом к основанной на Jabbix программе и от неё.
JabbixSecurityManager() - Constructor for class org.altlinux.jabbix.JabbixSecurityManager
Создаёт экземпляр данного менеджера безопасности.
JabbixWriter - Class in org.altlinux.jabbix
Объект, инкапсулирующий процесс записи в канал и реализующий базовый протокол Jabbix.
JabbixWriter(OutputStream) - Constructor for class org.altlinux.jabbix.JabbixWriter
Создаёт обект, инкапсулирующий просесс записи в указанный канал.

M

main(String[]) - Static method in class org.altlinux.jabbix.apps.JabbixAgent
Разбирает параметры командной строки и запускает агент.
MetricAgent - Interface in org.altlinux.jabbix
Агент метрики предоставляет функцию для чтения текущего значения метрики.
MetricRequest - Class in org.altlinux.jabbix
Задача, инкапсулирующая процесс получения значения метрики с использованием агента метрики, как синхронно, так и асинхронно.
MetricRequest(AgentServer, M, MetricTable) - Constructor for class org.altlinux.jabbix.MetricRequest
Создаёт новую задачу-запрос с указанными параметрами.
MetricTable - Interface in org.altlinux.jabbix
Обновляемая таблица, содержащая записи класса JabbixActiveMetric.

N

NoSuchMetricException - Exception in org.altlinux.jabbix
Исключение, указывающее что агент для получения значения указанной метрики не был найден.
NoSuchMetricException(String) - Constructor for exception org.altlinux.jabbix.NoSuchMetricException
Создаёт объект исключения с указанным сообщением.

O

org.altlinux.jabbix - package org.altlinux.jabbix
Классы библиотпеки Jabbix
org.altlinux.jabbix.apps - package org.altlinux.jabbix.apps
Программа JabbixAgent.
org.altlinux.jabbix.metric - package org.altlinux.jabbix.metric
Стандартный набор агентов метрик.

R

RandomNumberMetric - Class in org.altlinux.jabbix.metric
Агент метрики реализованный в качестве примера для библиотеки Jabbix, который запрашивает генератор псевдослучайных чисел для получения значения нормально-распределённой случайной величины.
RandomNumberMetric(long) - Constructor for class org.altlinux.jabbix.metric.RandomNumberMetric
Создаёт новую случайную метрику с указанным зерном.
readAll() - Method in class org.altlinux.jabbix.JabbixReader
Читает из канала все имеющиеся данные
readMessage(boolean) - Method in class org.altlinux.jabbix.JabbixReader
Читает сообщение из входного канала.
readMessage() - Method in class org.altlinux.jabbix.JabbixReader
Читает сообщение из входного канала.
receiveActiveCheckList(JabbixReader) - Static method in class org.altlinux.jabbix.JabbixJSONProtocol
Читает и возвращает список активных проверок.
receiveMetricListResponse(JabbixReader) - Static method in class org.altlinux.jabbix.JabbixJSONProtocol
Принимает информацию от сервера в ответ на переданные метрические данные.
removeSeparators(String) - Static method in class org.altlinux.jabbix.JabbixProtocol
Возвращает указанную строку, из которой были удалены все символы-разделители.
requestActiveCheckList(JabbixWriter, String) - Static method in class org.altlinux.jabbix.JabbixJSONProtocol
Запрашивает набор метрик для "активного" мониторинга.
ResponseQueue - Class in org.altlinux.jabbix
Клиент Zabbix-сервера, который отправляет значения метрик на сервер, когда истекает период обновления какой-либо метрики.
ResponseQueue(InetSocketAddress, MetricTable) - Constructor for class org.altlinux.jabbix.ResponseQueue
Создаёт очередь с указанными параметрами.
run() - Method in class org.altlinux.jabbix.ActiveAgent
Запускает цикл активных проверок.
run() - Method in class org.altlinux.jabbix.AgentServer
Производит запуск рабочего цикла.
run() - Method in class org.altlinux.jabbix.JabbixRequest
Запускает обработку запроса.
run() - Method in class org.altlinux.jabbix.MetricRequest
Используется для асинхронного получения и обновления значения метрики.
run() - Method in class org.altlinux.jabbix.ResponseQueue
Запускает цикл ожидания-отправки.

S

sendMetricList(JabbixWriter, String, Collection) - Static method in class org.altlinux.jabbix.JabbixJSONProtocol
Отправляет набор значений метрик на Zabbix-сервер.
SEPARATORS - Static variable in class org.altlinux.jabbix.JabbixProtocol
Набор разделителей сообщений.
SERVER_PORT - Static variable in class org.altlinux.jabbix.JabbixProtocol
Порт Zabbix-сервера по умолчанию (10051).
setActive(boolean) - Method in class org.altlinux.jabbix.JabbixActiveMetric
Устанавливает статус "активности" метрики.
setAddress(InetSocketAddress) - Method in class org.altlinux.jabbix.ZabbixClient
Устанавливает адрес сокета Zabbix-сервера.
setAddress(String) - Method in class org.altlinux.jabbix.ZabbixClient
Устанавливает адрес серверного сокета используя указанное имя узла и порт Zabbix-сервера по умолчанию.
setAddress(InetAddress) - Method in class org.altlinux.jabbix.ZabbixClient
Устанавливает адрес серверного сокета используя указанный адрес узла и порт Zabbix-сервера по умолчанию.
setAddress(byte[]) - Method in class org.altlinux.jabbix.ZabbixClient
Устанавливает адрес серверного сокета используя указанный IP-адрес и порт Zabbix-сервера по умолчанию.
setAgentServer(AgentServer) - Method in class org.altlinux.jabbix.MetricRequest
Устанавливает сервер агентов метрик для выполнения запросов на получение новых значений.
setCommand(String) - Method in class org.altlinux.jabbix.JabbixRequest
Устанавливает команду, которая должна быть обработана в рамках данного запроса.
setConnectionPredicates(Collection) - Method in class org.altlinux.jabbix.JabbixSecurityManager
Устанавливает набор предикатов, определяющих разрешение на соединение с удалёнными узлами.
setHostName(String) - Method in class org.altlinux.jabbix.ZabbixClient
Устанавливает имя локального узла для маркировки отправляемых сообщений.
setListenPredicates(Collection) - Method in class org.altlinux.jabbix.JabbixSecurityManager
Устанавливает набор предикатов, определяющих разрашение на приём соединений от удалённых узлов.
setMetricAgentMap(Map) - Method in class org.altlinux.jabbix.AgentServer
Устанавливает набор соответствий ключ метрики -> агент метрики.
setPool(ThreadPoolExecutor) - Method in class org.altlinux.jabbix.ActiveAgent
Устанавливает пул потоков, используемый для ассинхронного выполнения задач по получению значений метрик
setPool(ThreadPoolExecutor) - Method in class org.altlinux.jabbix.AgentServer
Установить пул потоков для обработки входящих запросов.
setPort(int) - Method in class org.altlinux.jabbix.AgentServer
Устанавливает номер порта серверного сокета.
setRandom(Random) - Method in class org.altlinux.jabbix.metric.RandomNumberMetric
Устанавливает генератор псевдослучайных чисел.
setRefreshPeriod(long) - Method in class org.altlinux.jabbix.ActiveAgent
Устанавливает период обновления списка активных проверок.
setRefreshPeriod(long) - Method in class org.altlinux.jabbix.ActiveMetricTable
Устанавливает указанное значение в качестве периода обновления для всей таблицы в целом.

T

terminate() - Method in class org.altlinux.jabbix.ResponseQueue
Завершает цикл ожидания-отправки для данной очереди.
toString() - Method in class org.altlinux.jabbix.JabbixMetric
Возвращает значения метрики в виде текстовой строки

U

UnknownCommandException - Exception in org.altlinux.jabbix
Исключение, указывающее на то, что переданная команда не изместна агенту.
UnknownCommandException(String) - Constructor for exception org.altlinux.jabbix.UnknownCommandException
Создаёт объект исключения с указанным сообщением.
updateMetric(JabbixActiveMetric) - Method in class org.altlinux.jabbix.ActiveMetricTable
Добавляет указанную метрику в таблицу.
updateMetric(M) - Method in class org.altlinux.jabbix.MetricRequest
Обновляет значение указанной метрики выполняя запрос к подходящему для этого агенту метрики.
updateMetric(M) - Method in interface org.altlinux.jabbix.MetricTable
Обновляет значение той записи таблицы, которая равна (соответствует) указанной метрике, значением последней.
updateMetric(JabbixActiveMetric) - Method in class org.altlinux.jabbix.ResponseQueue
Добавляет указанную метрику в очередь.
updateValue(Object) - Method in class org.altlinux.jabbix.JabbixMetric
Обновляет значение метрики.

V

VERSION - Static variable in class org.altlinux.jabbix.apps.JabbixAgent
VERSION - Static variable in class org.altlinux.jabbix.JabbixProtocol
Версия протокола (один байт).

W

WhitelistPredicate - Class in org.altlinux.jabbix
Реализует предикат соединения, использующий регулярное выражение для проверки имени узла.
WhitelistPredicate(String) - Constructor for class org.altlinux.jabbix.WhitelistPredicate
Создаёт новый экземпляр предиката на основе указанного шаблона.
writeMessage(String) - Method in class org.altlinux.jabbix.JabbixWriter
Отправляет указанное сообщение с использованием протокола Zabbix.

Z

ZabbixClient - Class in org.altlinux.jabbix
Базовый класс для всех клиентов Zabbix-сервера.
ZabbixClient() - Constructor for class org.altlinux.jabbix.ZabbixClient
Создаёт экземпляр клиента Zabbix-сервера.
ZBX_PROTO_TAG_AVAILABLE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_CLOCK - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет время (обновления и/или создания) записи.
ZBX_PROTO_TAG_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Ключ записи, содержащей массив записей о метриках.
ZBX_PROTO_TAG_DCHECK - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_DELAY - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет период обновления активной метрики, определяемой соответствующей записью.
ZBX_PROTO_TAG_DRULE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_ERROR - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_HOST - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет имя локального узла агента, ожидаемое сервером.
ZBX_PROTO_TAG_HOSTID - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_INFO - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет комментарий к выполненной сервером операции обработки данных или сообщение об ошибке.
ZBX_PROTO_TAG_IP - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_IPMI_AVAILABLE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_IPMI_ERROR - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_KEY - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет имя записи.
ZBX_PROTO_TAG_KEY_ORIG - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_LOGEVENTID - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_LOGLASTSIZE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_LOGSEVERITY - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_LOGSOURCE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_LOGTIMESTAMP - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_MTIME - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_NODEID - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_PORT - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_PROXY - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_REGEXP - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_REQUEST - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что данное сообщение является запросом к Zabbix-серверу.
ZBX_PROTO_TAG_RESPONSE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что данное сообщение является ответом от Zabbix-сервера.
ZBX_PROTO_TAG_SCRIPTID - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_SNMP_AVAILABLE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_SNMP_ERROR - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_STATUS - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_TYPE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_TAG_VALUE - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Определяет значение записи.
ZBX_PROTO_VALUE_AGENT_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что агент отправляет список свежих значений метрик соответствующий ранее запрошенному набору активных проверок (см.
ZBX_PROTO_VALUE_AUTO_REGISTRATION_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_DISCOVERY_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_FAILED - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что сервер не смог успешно произвести ранее запрошенную операцию.
ZBX_PROTO_VALUE_GET_ACTIVE_CHECKS - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что агент запрашивает список активных проверок -- набор метрик (JabbixActiveMetric), в которых заинтересован сервер.
ZBX_PROTO_VALUE_HISTORY_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_HOST_AVAILABILITY - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_PROXY_CONFIG - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_PROXY_HEARTBEAT - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_SENDER_DATA - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
ZBX_PROTO_VALUE_SUCCESS - Static variable in class org.altlinux.jabbix.JabbixJSONProtocol
Указывает, что сервер успешно выполнил ранее запрошенную операцию.

ACEGHIJMNORSTUVWZ


How This API Document Is Organized

Overview

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

Package

Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

Class/Interface

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

Annotation Type

Each annotation type has its own separate page with the following sections:

Enum

Each enum has its own separate page with the following sections:

Tree (Class Hierarchy)

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.

Deprecated API

The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.

Index

The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.

Prev/Next

Frames/No Frames

Serialized Form

Constant Field Values

Constant Field Values

This help file applies to API documentation generated using the standard doclet.