Вот так выглядит страница настройки триггера, у которого включена возможность ручного закрытия проблем:
Для ручного закрытия проблемы нужно найти проблему и перейти по ссылке в колонке подтверждения. Например, ниже показана страница просмотра проблем с одним из таких триггеров:
Для ручного закрытия проблемы нужно написать сообщение, объясняющее причину ручного закрытия проблемы, и отметить соответствующую галочку:
Однако, реализована эта функция оказалась довольно странным образом: чтобы воспользоваться галочкой, нужно иметь права редактирования группы узлов, на одном из которых может сработать проблема, требующая ручного закрытия. Даже если предположить, что пользователь, желающий закрыть проблему, не захочет менять настройки наблюдаемых узлов или удалять их, у него остаётся возможность закрыть любую проблему, которая ему не нравится, если у него есть доступ на редактирование соответствующего узла. Для этого нужно всего лишь зайти в настройки триггера, который породил проблему, выставить галочку, разрешающую ручное закрытие, закрыть проблему и вернуть галочку обратно. На мой взгляд, польза от такой настройки сомнительна, потому что пользователь, имеющий доступ к редактированию настроек, и раньше мог закрыть любую проблему. Для этого ему нужно было всего лишь временно поменять выражение в триггере и вернуть его обратно, или удалить и создать триггер заново. Новая галочка ручного закрытия лишь дала возможность сделать это чуть-чуть корректнее :)
Итак, думаю что вам уже стало понятно, что лучше дать возможность всем закрывать видимые ими проблемы вручную, чем давать им доступ на редактирование настроек узлов. Для этого пересоберём пакет для Debian, внеся в исходные тексты веб-интерфейса соответствующие исправления.
Добавим официальные репозитории с файлами для сборки пакетов в файл /etc/apt/sources.list:
deb-src http://repo.zabbix.com/zabbix/3.4/debian stretch mainУстановим ключ репозитория Zabbix и обновим список доступных пакетов:
# wget http://repo.zabbix.com/zabbix-official-repo.key -O - | apt-key add - # apt-get updateУстановим необходимые для сборки пакетов Zabbix зависимости и скачаем файлы для сборки пакетов:
# apt-get build-dep zabbix # apt-get source zabbixСтавим пакеты с инструментами, которые пригодятся нам для пересборки пакета:
# apt-get install dpkg-dev devscripts fakerootПереходим в каталог zabbix-3.4.12-1+stretch, в который распаковались исходные тексты пакета, скачиваем и накладываем заплатку:
# cd zabbix-3.4.12-1+stretch # wget http://stupin.su/files/zabbix3_4_12_manual_close_event_acknowledge.diff # patch -Np0 < zabbix3_4_12_manual_close_event_acknowledge.diffТекст самой заплатки:
Description: Fixed manual closing problems for users without rights to edit trigger Fixed manual closing problems for users without rights to edit trigger Author: Vladimir Stupin <vladimir@stupin.su> Last-Update: <2019-03-01> --- zabbix-3.4.12-1+wheezy.orig/frontends/php/app/controllers/CControllerAcknowledgeEdit.php +++ zabbix-3.4.12-1+wheezy/frontends/php/app/controllers/CControllerAcknowledgeEdit.php @@ -132,7 +132,6 @@ class CControllerAcknowledgeEdit extends 'output' => [], 'triggerids' => $triggerids, 'filter' => ['manual_close' => ZBX_TRIGGER_MANUAL_CLOSE_ALLOWED], - 'editable' => true, 'preservekeys' => true ]); --- zabbix-3.4.12-1+wheezy.orig/app/controllers/CControllerAcknowledgeCreate.php 2019-03-01 16:15:28.931300319 +0500 +++ zabbix-3.4.12-1+wheezy/app/controllers/CControllerAcknowledgeCreate.php 2019-03-01 16:15:14.211550047 +0500 @@ -87,7 +87,6 @@ 'output' => [], 'triggerids' => $triggerids, 'filter' => ['manual_close' => ZBX_TRIGGER_MANUAL_CLOSE_ALLOWED], - 'editable' => true, 'preservekeys' => true ]); --- zabbix-3.4.12-1+wheezy.orig/include/classes/api/services/CEvent.php 2019-03-01 16:18:17.636438283 +0500 +++ zabbix-3.4.12-1+wheezy/include/classes/api/services/CEvent.php 2019-03-01 16:18:24.272325613 +0500 @@ -860,7 +860,6 @@ 'eventids' => $eventids, 'source' => EVENT_SOURCE_TRIGGERS, 'object' => EVENT_OBJECT_TRIGGER, - 'editable' => true ]); if ($events_count != count($events)) {Если всё прошло успешно, то можно внести комментарии к изменениям. Запускаем команду для редактирования журнала изменений:
# dch -iИ приводим последнюю запись к подобному виду:
zabbix (1:3.4.12-1+stretch-p2) UNRELEASED; urgency=low * Non-maintainer upload. * Fixed manual closing problems for users without rights to edit trigger -- Vladimir Stupin <vladimir@stupin.su> Thu, 07 Mar 2019 11:04:14 +0500Теперь можно собрать двоичные пакеты и исправленный пакет с исходными текстами:
# dpkg-buildpackage -us -uc -rfakerootВ каталоге выше появятся собранные пакеты, которые можно установить при помощи dpkg. Нас прежде всего интересует пересобранный пакет с веб-интерфейсом Zabbix:
# dpkg -i zabbix-frontend-php_3.4.12-1+stretch-p2_all.deb
Комментариев нет:
Отправить комментарий