Монторинг аппаратных лицензий 1С в Linux

Монторинг аппаратных лицензий 1С в Linux

Мы работаем с 1С на платформе Linux/PostgreSQL с аппаратными ключами защиты HASP. Появилась необходимость мониторить видимость и количество использованных лицензий. Написал для себя программку.Утилита позволяет получить список лицензий ключей HASP4 системы «1С:Предприятие 8.X» и количество использованных лицензий. Вывод программы осуществляется в формате Nagios plugin.
Программа 32-х битная из-за того, что API для HASP4 выпущено было только для x86 платформы и более не поддерживается компанией производителем. Linux у нас Ubuntu x64 поэтому пришлось установить поддержку архитектуры x86:
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

Несмотря на то, что программа для получения количества используемых лицензий Net HASP обращается к менеджеру лицензий по сети, она должна запускаться на том же компьютере, на котором установлены драйвера и менеджер лицензий.
Запуск:
usbhaspinfo <-c путь_к_nethasp.ini>
Если не задавать опцию -c, то программа ищет файл nethasp.ini в каталоге /etc/haspd/.
Вывод программы в формате Nagios plugin выглядит примерно так:
HASP OK: HASP4 Time (652048341 network 50 0) | SN_652048341=0;35;45
В скобках — серийный номер, тип ключа (network/local), количество лицензий, количество использованных лицензий (только для network ключа). После разделителя сведения об активности — серийный номер ключа, текущее количество использованных лицензий, порог предупреждения (70% от общего количества), порог критической ошибки (90% от общего количества).
В Nagios описываем команду (либо как локальную, либо как удаленную; я использую NRPE), описываем сервис, привязываем сервис к хосту. Вуаля! Даже при миграции контейнеров LXC с хоста на хост мы отслеживаем доступность ключей и израсходованные лицензии.
1c_hasp4.jpg