Многоязычные сайты - готовые решения для многонационального бизнеса
Что такое CRM - Система управления взаимодействием с клиентами
Примеры создания CRM для малого и среднего бизнеса
- Я рекомендую использовать хостинг от Интернет Хостинг Центра
AndresDanilovСайт дешево, быстро и качественно - это реально |
||
Для клиентовЗагруженность04.12.2025 - 14.12.2025
![]() КалендарьСсылки по теме
|
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: |
|