Я не вполне уверен что данный вопрос не поднимался уже ранее, однако поиск ничего не дал...
Предложение: я предлагаю ввести в NXMS наряду с возможностью мониторинга базовых служебных протоколов типа telnet, smtp, http, etc также и возможность мониторинга игровых серверов.
Суть: требуется уметь только одну вещь - стандартно как и для других протоколов (например, определение доступности веб или telnet-серверов) определять, жив ли игровой сервер.
Всё что для это нужно - уметь запрашивать сервер по заданному порту и разбираться, откликается ли сервер. Идеальный вариант - использование технологии, аналогичной определению живости веб-сервера (и наличия на полученной запрошенной странице нужных или нежелательных слов) и простого сравнения получаемого результата с эталоном.
Попытаюсь привести пример: (к сожалению, тут только поверхностный)
Игровой движок- Valve "Source"
инфо: http://developer.valvesoftware.com/wiki/Main_Page
SDK: http://developer.valvesoftware.com/wiki/SDK_Docs
Сервер (игра)- Team Fortress 2 (но данное решение подойдёт и для любой другой игры на данном движке)
DCI может выглядеть так:
Origin: NetXMS Agent
Data type: String
Data Parameter: в целом, как мне кажется, можно использовать схожую с HTTP но несколько видоизменённую схему
было: (ServiceCheck.HTTP(server_ip_address,port,uri,host_header,response))
стало: (ServiceCheck.SRCDS(server_ip_address,port,server_variable))
новый запрос: ServiceCheck.SRCDS(10.100.0.1,27015,hostname)
SRCDS - Source Dedicated Server
10.100.0.1,27015 - адрес и порт сервера
hostname - мы хотим получить от сервера содержание его переменной "hostname" (название сервера)
Соответственно, если сервер возвращает содержание переменной (нужно использовать трэшолды, содержащие имя сервера)- он жив и здоров.
Если данный вопрос вас заинтересовал, готов предоставить всю необходимую для разработки документацию по Source (мы сейчас используем самописную систему для мониторинга наших игровых серверов, она в сущности неплохо справляется, но она, к сожалению, локальна по отношению к каждому серверу, не масштабируема, а количество серверов у нас растёт).
ПС: ровно такой же подход можно практиковать при мониторинге абсолютно любого игрового сервера. Я ещё не видел на рынке систем мониторинга ВАШЕГО уровня таких систем, которые бы предоставляли возможность мониторинга игровых серверов "из коробки". Не хотите стать первыми? :)
Готов предоставить информацию, разъяснения, полигон и всё прочее, нужное для тестов (www.megatron.ws).
Идея хорошая. Мы собираемся переделывать PORTCHECK субагента, чтобы можно было проще добавлять новые сервисы, можно будет сразу добавить и предложенную проверку игровых серверов. Я буду обращаться за дополнительной информацией когда до этого дойдем.
Премного благодарен =)
Буду помогать чем смогу.
Могу предоставить исходник нашего мониторинга, возможно это будет полезно в плане реализации нового протокола.