Ad Widget

Collapse

Мониторинг netHASP

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • marakshin
    Junior Member
    • Feb 2011
    • 27

    #1

    Мониторинг netHASP

    Коллеги, доброго времени суток.
    Возникла необходимость мониторить лицензии на hasp-ключах. Есть утилита Alladin Monitor, но хотелось бы попробовать прикрутить на это дело zabbix.
    Подскажете, куда можно покопать в решении этой задачки?
    Спасибо!
  • SergeniuS
    Member
    • Jan 2012
    • 68

    #2
    Утилита может выдавать статусы или писать лог?

    Comment

    • marakshin
      Junior Member
      • Feb 2011
      • 27

      #3
      Originally posted by sergenius
      Утилита может выдавать статусы или писать лог?
      Нет, думал уже на этот счет... Програмка бестолковая до безобразия...

      Comment

      • Tor
        Junior Member
        • Dec 2010
        • 2

        #4
        В состав Aladdin monitor входит hsmon.dll отвечающая за общение с ключами. Написал небольшую утилиту которая напрямую обращается к этой библиотеке.
        Вот так можно получить список ключей в вашей сети:
        Code:
        HaspMonitor.exe "SET CONFIG,FILENAME=\".\\NETHASP.INI\"" "SCAN SERVERS" "GET SERVERS"
        для получения количество подключенных пользователей:
        Code:
        HaspMonitor.exe "SET CONFIG,FILENAME=\".\\NETHASP.INI\"" "SCAN SERVERS" "GET LOGINS,HS,ID=[B]ХХХХХ[/B],MA=1"
        где ХХХХХ - id вашего сервера из предыдущего запроса

        Количество подключенных пользователей можно получить так:
        Code:
        HaspMonitor.exe "SET CONFIG,FILENAME=\".\\NETHASP.INI\"" "SCAN SERVERS" "GET LOGINS,HS,ID=[B]ХХХХХ[/B],MA=1" | grep -coP "TIMEOUT=\d,|TIMEOUT=\d\d,"
        Если запросы выполняются на тойже машине где установлен ключ, то параметр "SET CONFIG,FILENAME=\".\\NETHASP.INI\"" не нужен
        Attached Files

        Comment

        • marakshin
          Junior Member
          • Feb 2011
          • 27

          #5
          Originally posted by tor
          В состав aladdin monitor входит hsmon.dll отвечающая за общение с ключами. Написал небольшую утилиту которая напрямую обращается к этой библиотеке.
          Вот так можно получить список ключей в вашей сети:
          Code:
          haspmonitor.exe "set config,filename=\".\\nethasp.ini\"" "scan servers" "get servers"
          для получения количество подключенных пользователей:
          Code:
          haspmonitor.exe "set config,filename=\".\\nethasp.ini\"" "scan servers" "get logins,hs,id=[b]ХХХХХ[/b],ma=1"
          где ХХХХХ - id вашего сервера из предыдущего запроса

          Количество подключенных пользователей можно получить так:
          Code:
          haspmonitor.exe "set config,filename=\".\\nethasp.ini\"" "scan servers" "get logins,hs,id=[b]ХХХХХ[/b],ma=1" | grep -cop "timeout=\d,|timeout=\d\d,"
          Если запросы выполняются на тойже машине где установлен ключ, то параметр "set config,filename=\".\\nethasp.ini\"" не нужен
          То, что нужно. даже как-то тоскливо на душе стало: вот можно было бы взять, самому посмотреть библиотеки, да программку наваять... ленивый стал видимо.
          Спасибо!

          Comment

          • Gabalino
            Senior Member
            • Mar 2013
            • 103

            #6
            Расскажите пожалуйста по шагам, как создать item и т.д, если Вам не сложно.

            при запуске из командной строки всё проходит удачно
            HaspMonitor.exe "SCAN SERVERS" "GET LOGINS,HS,ID=33937,MA=1" | grep.exe -coP "TIMEOUT=\d\d,|TIMEOUT=\d\d\d,"
            но агент данные не отправляет

            конфигурация:

            zabbix_agentd.conf
            ----------
            LogFile=C:\Program Files\Zabbix Agent\Zabbix_agentd.log
            DebugLevel=3
            EnableRemoteCommands=1
            Server=zabbix.domain.net
            ListenPort=10050
            ServerActive=zabbix.domain.net
            Hostname=USB-IP-1C-01
            Timeout=30
            UnsafeUserParameters=1
            UserParameter=nethasp,c:\nethasp.bat
            ----------

            nethasp.bat
            ----------
            HaspMonitor.exe "SCAN SERVERS" "GET LOGINS,HS,ID=33937,MA=1" | grep.exe -coP "TIMEOUT=\d\d,|TIMEOUT=\d\d\d,"
            ----------
            Attached Files

            Comment

            • Tor
              Junior Member
              • Dec 2010
              • 2

              #7
              укажите полный путь к HaspMonitor.exe в bat файле
              тип элемента Numeric(uns)

              Comment

              • uniken1
                Member
                • Sep 2012
                • 93

                #8
                Если используется License Manager, то есть встроенная утилита lmstat, например:

                C:\Program Files (x86)\Flex\flex118\lmstat.exe"" -a -c @localhost >C:\Temp\lmstat.log"

                Comment

                • Gabalino
                  Senior Member
                  • Mar 2013
                  • 103

                  #9
                  К сожалению не помогло. Вчера переставил ОС хоста(Windows XP), подключил 2 ключа 300+100. Но id стал восьмизначный, при выполнении команды
                  HaspMonitor.exe "SCAN SERVERS" "GET LOGINS,HS,ID=37031187,MA=1"
                  ответ
                  OK
                  EMPTY

                  Comment

                  • sadman
                    Senior Member
                    • Dec 2010
                    • 1611

                    #10
                    Да, всё так. Из .bat/.cmd утилитка красиво рисует цифры в stdout, но стоит этот cmd указать в UserParameter, как zabbix_agentd -test приводит к [m|ZBX_NOTSUPPORTED]

                    В чем дело - абсолютно непонятно. Может потому что вывод заканчивается LF (0x0A), а не CR+LF (0x0D 0x0A)?

                    ...
                    UPD: Дело было не в бобине.
                    Отлуп был по причине долгого исполнения скрипта. Timeout=30 (или по вкусу) в zabbix_agentd.conf исправляет ситуацию с [m|ZBX_NOTSUPPORTED] при zabbix_agentd -test. Почему у Gabalino при тех же установках ничего не идет - вопрос...
                    Last edited by sadman; 11-04-2013, 17:01.

                    Comment

                    • As_lan
                      Junior Member
                      • Apr 2011
                      • 20

                      #11
                      Апну тему.

                      Взяв за основу пост Tor я настроил LLD. В имени используется ID ключа. Так же вытаскивается текущее количество подключений и максимально возможное. Не сочтите за рекламу, описание всего этого тут
                      a7lanov.b l o g s po t.r u/2014/07/hasp-1-zabbix.h t m l, повторять все исложеннное там не хотелось обратно)) Делал это на скорую руку, поэтому может где то не совсем элегантно или есть ошибки.

                      P.S. редактор не позволял добавить ссылку. Так что пробелы надо удалить.

                      Comment

                      • As_lan
                        Junior Member
                        • Apr 2011
                        • 20

                        #12
                        Недавно заметил, что после обновления с 2.0 до 2.2 перестал работать LLD. Потом конечно увидел в списке изменений, что проверяется синтаксис json. Пошерстив тут и в интернете переделал скрипт. Теперь на Powershell.

                        Code:
                        param([string]$arg1, [string]$arg2)
                        cd C:\zabbix\hasp
                        if ($arg1 -eq "get_id") {
                        $haspId = .\HaspMonitor.exe "set config,filename=.\NETHASP.INI" "scan servers" "get serverinfo" | .\sed -e  "s/.*ID\=//;s/,.*//;" | .\grep -oE "[0-9]+"
                        
                        write-host "{"
                        write-host " `"data`":["
                        write-host
                        
                        foreach ($objItem in $haspId) {
                        $i++
                        if ($i -lt $haspId.Count){
                         $line = " { `"{#ID}`":`"" + $objItem + "`" },"
                         write-host $line
                            }
                        else{
                         $line = " { `"{#ID}`":`"" + $objItem + "`" }"
                         write-host $line
                            }
                        }
                        write-host
                        write-host " ]"
                        write-host "}"
                        write-host
                        exit}
                        
                        
                        
                        if (($arg1 -eq "get_max") -and ($arg2 –match "^[0-9]")) {
                        .\HaspMonitor.exe "SET CONFIG,FILENAME=.\NETHASP.INI" "SCAN SERVERS" "GET MODULES,ID=$arg2" | .\grep CURR | .\sed -e  "s/.*MAX\=//;s/,.*//;"
                        exit}
                        
                        if (($arg1 -eq "get_load") -and ($arg2 –match "^[0-9]")) {
                        .\HaspMonitor.exe "SET CONFIG,FILENAME=.\NETHASP.INI" "SCAN SERVERS" "GET MODULES,ID=$arg2" | .\grep CURR | .\sed -e  "s/.*CURR\=//;s/,.*//;"
                        exit}
                        Запускаем с ключом get_id - получаем id ключей.
                        Запускаем get_load XXXXXX (где xxxxxx ид ключа) получаем количество спользуемых лицензий.
                        Запускаем get_max XXXXXX (где xxxxxx ид ключа) получаем максимальное количество лицензий.

                        в zabbix_agentd.conf
                        Code:
                        UserParameter=hasp_id,powershell -File "C:\zabbix\hasp\hasp.ps1" get_id
                        UserParameter=hasp_used[*],powershell -File "C:\zabbix\hasp\hasp.ps1" get_load $1 
                        UserParameter=hasp_max[*],powershell -File "C:\zabbix\hasp\hasp.ps1" get_max $1
                        Last edited by As_lan; 05-09-2014, 08:54.

                        Comment

                        • softcom
                          Junior Member
                          • Jul 2015
                          • 12

                          #13
                          Добрый день!
                          Хочу настроить мониторинг, при выполнении команд, выдает просто Ок

                          Comment

                          • As_lan
                            Junior Member
                            • Apr 2011
                            • 20

                            #14
                            Originally posted by softcom
                            Добрый день!
                            Хочу настроить мониторинг, при выполнении команд, выдает просто Ок
                            Попробуйте по этой инструкции. h t t p://a 7 l a n o v.blogspot.r u/2014/07/hasp-1-zabbix.html (пробелы уберите)

                            Comment

                            • Andrei4
                              Junior Member
                              • Dec 2015
                              • 4

                              #15
                              Добрый день,
                              Так же попробовал привязать hasp к zabbix. Мне нужно чтобы zabbix проверял сколько пользователей подключено с периодичностью например 1 час и строил график по этим данным, а затем уже просто триггером сравнивать количество пользователей и максимально допустимое и выводить алерт если например до максимума осталось 5 лицензий.
                              При использовании команды
                              haspmonitor.exe "set config,filename=\".\\nethasp.ini\"" "scan servers" "get logins,hs,id=ХХХХХ,ma=1"
                              Выводится информация об ID ключа, слоте, № пользователя, IP и т.д.
                              А при использовании
                              haspmonitor.exe "set config,filename=\".\\nethasp.ini\"" "scan servers" "get logins,hs,id=ХХХХХ,ma=1" | grep -cop "timeout=\d,|timeout=\d\d,"
                              Выводится просто 0.

                              Что я делаю не так?
                              И можно пример команды как запросить максимально возможное количество пользователей на этом ключе?

                              Comment

                              Working...