Готовые решения для вашего сайта интернет-магазина
Примеры создания CRM для малого и среднего бизнеса
Быстро и дешево сделать сайт - создать сайт на шаблоне
- Я рекомендую использовать хостинг от Интернет Хостинг Центра
AndresDanilovСайты на любой вкус |
||
Для клиентовЗагруженность03.10.2024 - 13.10.2024
КалендарьСсылки по теме
|
Zabbix - мониторинг обновлений Битрикс (Б24)Совсем не так давно я описывал как связать проверку обновлений wordpress и zabbix. Сегодня речь пойдет об аналогичной функции, но для Битрикс24 (коробочная версия). Думаю, что аналогичный способ будет полезен и для обычного Битрикс. Принцип работы схемы остается полностью аналогичным: zabbix запрашивает количество неустановленных обновлений у сайта, если оно изменилось -- предупреждает вас об этом. Для обработки запросо на стороне сайта необходим специальный скрипт. Вот его содержание: <?php // отключаем авторизацию define("NO_KEEP_STATISTIC", true); define("NOT_CHECK_PERMISSIONS",true); define('CHK_EVENT', true); // подключаем необходимые для работы стандартные модули require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php" ) ; // подключаем класс для запроса обновлений require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/classes/general/update_client.php'); // запрашиваем информацию по обновлениям $errors = null; $stableVersionsOnly = COption::GetOptionString('main', 'stable_versions_only', 'Y'); $arUpdateList = CUpdateClient::GetUpdatesList($errors, LANG, $stableVersionsOnly); // формируем массив с нужными данными $updates=array( 'system' => 0, 'modules' => 0, 'lang' => 0, 'langOther' => 0, ); // need update tool update if ( isset($arUpdateList["UPDATE_SYSTEM"]) ) $updates['system'] = 1; // кусочек из /bitrix/modules/main/admin/update_system.php для анализа и подсчета количества обновлений if (isset($arUpdateList["MODULES"]) && is_array($arUpdateList["MODULES"]) && isset($arUpdateList["MODULES"][0]["#"]["MODULE"]) && is_array($arUpdateList["MODULES"][0]["#"]["MODULE"])) $updates['modules'] = count($arUpdateList["MODULES"][0]["#"]["MODULE"]); if (isset($arUpdateList["LANGS"]) && is_array($arUpdateList["LANGS"]) && isset($arUpdateList["LANGS"][0]["#"]["INST"]) && is_array($arUpdateList["LANGS"][0]["#"]["INST"]) && is_array($arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"])) $updates['lang'] = count($arUpdateList["LANGS"][0]["#"]["INST"][0]["#"]["LANG"]); if (isset($arUpdateList["LANGS"]) && is_array($arUpdateList["LANGS"]) && isset($arUpdateList["LANGS"][0]["#"]["OTHER"]) && is_array($arUpdateList["LANGS"][0]["#"]["OTHER"]) && is_array($arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"])) $updates['langOther'] = count($arUpdateList["LANGS"][0]["#"]["OTHER"][0]["#"]["LANG"]); // формирование вывода if ( (!isset($_GET['k'])) or (!isset($updates[$_GET['k']])) ) { foreach ($updates as $k=>$l) { echo $k.": ".$l."\n"; } } else { echo $updates[$_GET['k']]; } ?> Вызов этого скрипта также, как и в решении для wordpress может быть как с выводом количества всех доступных обновлений, так и по одному из параметров:
Настройки на стороне Zabbix клиента и сервера полностью аналогичны первой статье, потому приводить здесь их не буду. UPD 28.08.2019: |