Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

check_clusters_cache может галюцинировать #132

Open
zeegin opened this issue Jan 19, 2024 · 7 comments
Open

check_clusters_cache может галюцинировать #132

zeegin opened this issue Jan 19, 2024 · 7 comments
Labels
bug Something isn't working

Comments

@zeegin
Copy link

zeegin commented Jan 19, 2024

C:\Program Files\Zabbix Agent 2>"C:\Program Files\Git\bin\bash.exe" -c "wmic path win32_process where \"caption like 'rphost%'\" get caption,commandline,processid,osname"
Caption     CommandLine  OSName                                                                               ProcessId
rphost.exe               Microsoft Windows Server 2012 R2 Essentials|C:\Windows|\Device\Harddisk1\Partition2  6552

Screenshot 2024-01-19 125302

Если запускать cmd под админом - естественно все работает.

Может лучше читать из 1cv8wsrv.lst?

@zeegin
Copy link
Author

zeegin commented Jan 19, 2024

Если захардкодить

# Проверить актуальность файла списка кластеров
function check_clusters_cache {

    # Получим список менеджеров кластеров, в которых участвует данный сервер, следующего вида:
    #   <имя_сервера>:<номер_порта_0>[|<номер_порта_1>[|..<номер_порта_N>]]
    readarray -t RMNGR_LIST < <( if [ -z "${IS_WINDOWS}" ]; then pgrep -ax rphost; else
        wmic path win32_process where "caption like 'rphost%'" get CommandLine | grep rphost; fi |
        sed -r 's/.*-regport ([^ ]+).*/\0|\1/; s/.*-reghost ([^ ]+).*\|/\1:/' | sort -u |
        awk -F: '{ if ( clstr_list[$1]== "" ) { clstr_list[$1]=$2 } \
            else { clstr_list[$1]=clstr_list[$1]"|"$2 } } \
            END { for ( i in clstr_list ) { print i":"clstr_list[i]} }' )


    # PATCH zeegin
    RMNGR_LIST[0]="localhost:3541"

то все ок

@slothfk
Copy link
Owner

slothfk commented Jan 20, 2024

Сначала не понял из описания сути проблемы, потом дошло (я
же из строки запуска получаю порт менеджера). Надо подумать, так как с вин дело не имею, то ...

Может лучше читать из 1cv8wsrv.lst?

Для сервера лицензирования не подойдёт, да и потом бывает так, что в ОС процесс есть, а в реестре кластера нет, и наоборот ...
Затея была смотреть именно за процессами, которые в ОС

@zeegin
Copy link
Author

zeegin commented Jan 20, 2024

Тогда видимо надо zabbix agent с повышением привилегий запускать и с отключением UAC а это опасненькая затея...
Либо с повышением привилений крутитить какое-то задание в планировщике которое будет дампить все в кеш а zabbix agent уже будет использовать.

@slothfk
Copy link
Owner

slothfk commented Jan 20, 2024

Тогда видимо надо zabbix agent с повышением привилегий запускать ...

По-умолчанию, агент от системной учётки запускается, вроде, а у неё прав хватает. Когда с безопасностью начинают "играться" более пристально, вероятно можно сделать такие права у пользователя которые дадут возможность посмотреть строку запуска, больше там ничего не надо лишнего.
В Линуксе любой пользователь может посмотреть строку запуска в списке процессов.

@zeegin
Copy link
Author

zeegin commented Jan 20, 2024

Неа, не хватает. Возможно агент 2 так создает службу. Пока не резобрался.

@zeegin
Copy link
Author

zeegin commented Jan 20, 2024

Затея была смотреть именно за процессами, которые в ОС

Так все равно без правильно настроенного ras не получится мониторить жеж.

@slothfk
Copy link
Owner

slothfk commented Jan 22, 2024

Так все равно без правильно настроенного ras не получится мониторить жеж.

От чего же, количество процессов, объем потребляемой ими памяти - все берется из ОС, а не обращением к RAS.

@slothfk slothfk added the bug Something isn't working label Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants