Расширение в zabbix, которое находит и блокирует уволенных коллег
Ожидает приглашения
Предприятие где я работаю довольно большое, свыше 4 тыс сотрудников, серверных компонентов тоже довольно много.
Мы применяем zabbix как одну из систем мониторинга, но речь пойдет не о мониторинге систем как таковом (хотя о нем я могу многое рассказать), а о необходимости поддерживать в актуальном состоянии список пользователей который заведен в мониторинге.
Зачем заводить пользователей в мониторинге:
Авторизация в мониторинге прикручена к ldap AD предприятия.
Все учетные записи в мониторинге заведены с точно такими же именами пользователей как и в AD все красиво. При первичном заведении учетки в мониторинге мы создаем пользователя в мониторинге, подкидываем ему нужных групп на просмотр, групп рассылок, добавляем почту и другие атрибуты для отправки на телефон. Когда сотрудник переходит из отдела в отдел к нам приходят и говорят какие группы рассылок убрать, а какие добавить.
Но при увольнении учетка в мониторинге остается активной и мониторинг продолжает слать уже уволенному сотруднику уведомления — это неправильно и это можно автоматизировать
Полгода как реализованный механизм работает у нас, запускаясь по крону несколько раз в судки, зеркалирует состояние учетных записей в мониторинге на основе их состояние в AD
zbbx_account_dismissed
На чистой Ubuntu 20.04 LTS мне потребовалось поставить несколько пакетов и в общем то все заработало
Что нужно сделать чтоб завелось:
1) скачать репозитарий zbbx_account_dismissed, разложить файлы
В папке
Остальные нужны чтоб функционал завелся.
Привожу их все скопом, чтоб функционал завелся, хотя вы можете сами скачать их с сети и поставить.
2) создать в мониторинге группу пользователей с именем "_Disabled", нужно у группы проставить атрибуты:
Состояние группы пользователей — Деактивировано
Доступ к веб-интерфейсу — Деактивировано
3) Если имя созданное группы отличается от "_Disabled", нужно в файле
4) Нужна учетная запись в мониторинга с админскими правами, нужен работающий api забикса, заходим в файл
5) Нужна учетная запись в AD вполне достаточно прав только на чтение, скрипт под этой учеткой будет шарится по AD, искать учетки пользователей которые заведены в мониторинге, и определять заблокирована ли учетка в AD или нет.
В файле
В самом скрипте
Вначале запускаем скрипт руками.
После если все ок, добавляем
В общем то все, всем добра.
Мы применяем zabbix как одну из систем мониторинга, но речь пойдет не о мониторинге систем как таковом (хотя о нем я могу многое рассказать), а о необходимости поддерживать в актуальном состоянии список пользователей который заведен в мониторинге.
Зачем заводить пользователей в мониторинге:
- для распределения прав доступа к ИС на просмотр через веб
- для наделение прав на создание / изменения шаблонов и их линковку к хостам
- для добавление коллег в нужные группы рассылок, для получения уведомлений только по нужным для того или иного специалиста системам
Авторизация в мониторинге прикручена к ldap AD предприятия.
Все учетные записи в мониторинге заведены с точно такими же именами пользователей как и в AD все красиво. При первичном заведении учетки в мониторинге мы создаем пользователя в мониторинге, подкидываем ему нужных групп на просмотр, групп рассылок, добавляем почту и другие атрибуты для отправки на телефон. Когда сотрудник переходит из отдела в отдел к нам приходят и говорят какие группы рассылок убрать, а какие добавить.
Но при увольнении учетка в мониторинге остается активной и мониторинг продолжает слать уже уволенному сотруднику уведомления — это неправильно и это можно автоматизировать
Полгода как реализованный механизм работает у нас, запускаясь по крону несколько раз в судки, зеркалирует состояние учетных записей в мониторинге на основе их состояние в AD
zbbx_account_dismissed
На чистой Ubuntu 20.04 LTS мне потребовалось поставить несколько пакетов и в общем то все заработало
# apt-get install libjson-perl libnet-ldap-perl
Что нужно сделать чтоб завелось:
1) скачать репозитарий zbbx_account_dismissed, разложить файлы
/etc/zabbix/lib
/etc/zabbix/zbbx_account_dismissed.pl
/etc/zabbix/zbbx_main.confВ папке
/etc/zabbix/lib/ две мои библиотеки:/etc/zabbix/lib/Add/lib_zabbix_api.pm
/etc/zabbix/lib/Add/lib_config.pmОстальные нужны чтоб функционал завелся.
Привожу их все скопом, чтоб функционал завелся, хотя вы можете сами скачать их с сети и поставить.
2) создать в мониторинге группу пользователей с именем "_Disabled", нужно у группы проставить атрибуты:
Состояние группы пользователей — Деактивировано
Доступ к веб-интерфейсу — Деактивировано
3) Если имя созданное группы отличается от "_Disabled", нужно в файле
zbbx_account_dismissed.pl найти и поправить на свое имя4) Нужна учетная запись в мониторинга с админскими правами, нужен работающий api забикса, заходим в файл
/etc/zabbix/zbbx_main.conf и поправляем в нем на свои параметры5) Нужна учетная запись в AD вполне достаточно прав только на чтение, скрипт под этой учеткой будет шарится по AD, искать учетки пользователей которые заведены в мониторинге, и определять заблокирована ли учетка в AD или нет.
В файле
/etc/zabbix/zbbx_account_dismissed.pl нужно будет вписать параметры учетки и дополнить еще некоторыми простыми атрибутами.В самом скрипте
/etc/zabbix/zbbx_account_dismissed.pl приведено много комментариев, по этому не запутаетесь.Вначале запускаем скрипт руками.
После если все ок, добавляем
/etc/zabbix/zbbx_account_dismissed.pl в планировщик.В общем то все, всем добра.