- Никакого хардкода настроек. В плагине выше, для изменения адреса сервера, куда должны уходить данные, его необходимо прописывать вместе с портом в исходнике, а после - компилировать.
- Обновленный способ общения с Zabbix. Используется актуальная версия протокола, и вместо XML, на сервер уходит сжатый JSON.
- Готовый шаблон для Заббикса. Не нужно ничего составлять руками/искать в Интернете. Можно взять за основу предоставленный шаблон, и состряпать свой.
- Если у плагина не удалось доставить Заббиксу по тем или иным причинам метрики, он попытается сделать это ещё 5 раз спустя некоторое время. При этом, Заббикс, помимо самих метрик, получит точное время (секунды с эпохи Unix), когда метрики были сняты.
Внутреннее название метрики | Видимое название метрики (в готовом шаблоне) | Описание |
---|---|---|
srcds.cpu | CPU utilization | Процент нагрузки на ядро процессора |
srcds.net_in | Network (input) | Кол-во байт, получаемое в секунду |
srcds.net_out | Network (output) | Кол-во байт, отправляемое в секунду |
srcds.uptime | Uptime | Время работы (в минутах) |
srcds.changelevels | Changelevels | Кол-во смен карты |
srcds.fps | FPS | Тикрейт сервера (сколько вырабатывается кадров в секунду) |
srcds.clients | Clients | Кол-во игроков |
Названия всех метрик начинается с srcds. для удобства.
После установки и настройки, можно строить графики вида
TODO
- API для отправки своих метрик в Zabbix
- Вынести кол-во повторных попыток и их частоту в конфигурационный файл
- SourceMod v1.8 и выше.
- Socket v3.0.1 и выше.
- REST in Pawn v1.0.4 и выше.
В файле конфигурации плагина (addons/sourcemod/configs/zabbix.cfg) представлено на данный момент 5 настроек:
- push_frequency. Частота снятия и отправки метрик Zabbix.
- address. Адрес сервера Zabbix.
- port. Порт сервера Zabbix.
- hostname. Имя добавленного сервера из Zabbix.
- log_success. Логгировать ли успешные доставки метрик?
- sm_zabbix_reload. Выполняет перезагрузку файла конфигурации Zabbix.
- sm_zabbix_push. Команда, предназначенная скорее для отладки, что всё работает. Производит снятие метрик и отправку их в Zabbix.
Подготовка Zabbix
- Импортируйте представленный в архиве шаблон (.../template.xml) в Ваш установленный Zabbix.
- Создайте сервер в Zabbix, заполните все данные. Установленный адрес запомните или запишите. Он понадобится при настройке плагина.
- Подключите ранее импортированный шаблон к серверу.
- Проследуйте в раздел "Элементы данных" у созданного сервера, выберите все элементы из шаблона (помечены как Source Dedicated Server), и выберите действие "Массовое обновление".
- В самом низу страницы установите галочку напротив пункта "Разрешенные хосты", и введите в поле адрес игрового сервера.
- Нажмите "Обновить".
- Откройте файл конфигурации (.../addons/sourcemod/configs/zabbix.cfg), произведите конфигурацию. В hostname введите придуманный на шаге 2 в подготовке Zabbix имя сервера.
- Соберите плагин из исходного кода.
Для сборки, Вам понадобится иметь в папке include заголовочные файлы (инклуды) от следующих расширений:- Socket (используется для отправки данных на сервер Zabbix)
- REST in Pawn (используется для формирования JSON для отправки метрик)
- Загрузите плагин на удалённый сервер вместе с файлом конфигурации.
- Выполните загрузку плагина любым удобным способом.