|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.altlinux.jabbix.AgentServer
public class AgentServer
Сервер-агент для системы мониторигна 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 |
|---|
public AgentServer(ThreadPoolExecutor pool)
pool - интерфейс пула потоков| Method Detail |
|---|
public int getPort()
public void setPort(int port)
port - номер порта, на котором ожидать подключенияpublic void run()
менеджер безопасности не препятствует этому, добавляет новый запрос на выборку метрики (JabbixRequest) в очередь задач (см. AgentServer.getPool()) и начинает новую итерацию. Если очередь задач является блокируемой, новая итерация может быть заблокирована до тех пор, пока некоторое количество предыдущих задач не будет выполнено.
run in interface Runnablepublic Map getMetricAgentMap()
public void setMetricAgentMap(Map map)
map - набор пар (ключ метрики, агент метрики)public MetricAgent getMetricAgent(String key)
MetricAgent). Однако проекция нескольких ключей в один агент также возможна, при этом делается предположение о том, что точка (.) является разделителем компонентов. Для заданного мультикомпонентного ключа выбирается наиболее длиное совпадение слева, если есть.
key - имя метрики
public void setPool(ThreadPoolExecutor pool)
pool - интерфейс пула потоковpublic ThreadPoolExecutor getPool()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||