Приветствую!
Возник следующий вопрос: предположим, что нужно мониторить состояние не одного, отдельно взятого сервиса или показателя производительности, а их совокупность. И состояние системы тоже определяется совокупностью состояний сервисов и показателей производительности.
Как лучше всего реализовать данное комплексное получение данных и связать воедино для того, что бы здоровье системы определялось совокупностью всех показателей? (Предположим, что мы знаем какие цифры мы получим, т.е. трэшолды создать возможность у нас есть).
Какой из текущих инструментов, входящих в NetXMS позволяет это сделать?
Какие самые общие рекомендации при реализации такого рода комплексного опроса?
Пример 1: определяем состояние и здоровье MS SQL сервера.
\SQLServer:Buffer Manager\Buffer cache hit ratio
(процент запросов на получение страницы, которые
выполняются без обращения к жесткому диску).
\SQLServer:Buffer Manager\Page reads/sec
(среднее число страниц в секунду, которое SQL-сервер
читает с дисковой системы).
\SQLServer:SQL Statistics\Batch Requests/sec
(среднее число пакетных запросов в секунду).
\SQLServer:SQL Statistics\SQL Re-Compilations/sec
(среднее число рекомпиляций в секунду).
\Process(sqlservr)\% Processor Time
(утилизация процессоров, создаваемая процессом SQL-сервер).
\Process(sqlagent)\% Processor Time
(утилизация процессоров, создаваемая процессом SQL-агент).
\SQLServer:Locks(_Total)\Average Wait Time (ms)
(среднее время ожидания выполнения запросов блокировки).
\SQLServer:Locks(_Total)\Lock Wait Time (ms)
(общее время ожидания выполнения запросов блокировки).
Пример 2: определяем состояние и здоровье MS DNS сервера.
\DNS\Database Node Memory;
(Память узлов в базе данных)
\DNS\Dynamic Update Queued;
(Поставлено в очередь динамических обновлений)
\DNS\Total Query Received/sec;
(Общее число полученных запросов/сек)
\DNS\Total Response Sent/sec;
(Отправлено всего ответов/сек)
\Process(dns)\% Processor Time;
(Процесс(dns)\% загруженности процессора)
\DNS\Recursive Query Failure/sec;
(Рекурсивных ошибок запросов/сек)
\DNS\Recursive TimeOut/sec;
(Рекурсивных таймаутов отправления/сек)
			
			
			
				Вариантов два:
1. Создать дополнительный DCI, для которого написать transformation script, в котором текущие значения всех нужных параметров будут пересчитываться в некий комплексный индикатор, на который потом можно накладывать threshold'ы.
2. Сделать объект Condition, в котором определить требуемое комплексное условие. Это единственный вариант если в условии надо связать значения параметров с разных узлов.
			
			
			
				Виктор, спасибо!
Буду экспериментировать.
Off: очень ждём новую версию и новые функции, особенно работу с логами, которой к сожалению не предполагается в новой версии =).