Я большой поклонник работы системы мониторинга с SNMP, и когда он пришел в горнодобывающую промышленность я не нашел много там, что удовлетворяет мои требования, поэтому я решил поставить что-то вместе и делиться с вами. Ниже описывается, как контролировать множество Linux на основе с любым количеством графических процессоров ATI:
Prerequesites
- Linux хост (использует aticonfig и сигнализации POSIX)
- Perl
- драйверы AMD
- Все установленные графические процессоры обнаружены и оперативно
- Все графические процессоры должны иметь поддержку PPLIB.
- Net-SNMP установлен и работает
Инструкция по установке
- Возьмите последний скрипт из Вот.
- Установите этот скрипт где-Net-SNMP может выполнить его (например, / USR / местные / бен).
- Измените следующие строки в сценарии, необходимые для вашей среды:
Код:
################################################## ######
## Tweak следующие переменные среды
#
мой $ Sudo = "Судо -u jintu"; # Команда Судо выполнить
мой $ aticonfig = "/ USR / бен / aticonfig"; # Полный путь к aticonfig
мой $ дисплей = "DISPLAY =: 0"; # Дисплей ваш X сессии и ATI графические процессоры работают под
#
## Tweak следующие переменные среды
#
мой $ Sudo = "Судо -u jintu"; # Команда Судо выполнить
мой $ aticonfig = "/ USR / бен / aticonfig"; # Полный путь к aticonfig
мой $ дисплей = "DISPLAY =: 0"; # Дисплей ваш X сессии и ATI графические процессоры работают под
#
- Редактировать snmpd.conf (шахта находится в / и т.д. / SNMP), чтобы включить в него следующие строки (измените путь в зависимости от обстоятельств):
Код:
# Это выход многострочный виден с NET-SNMP-Extend-MIB :: nsExtendOutLine
расширить gputemp темп /usr/local/bin/gpu_snmp.pl
расширить gpuload /usr/local/bin/gpu_snmp.pl нагрузки
расширить gpuclock /usr/local/bin/gpu_snmp.pl часы
расширить gpumemory память /usr/local/bin/gpu_snmp.pl
расширить gpuvcore /usr/local/bin/gpu_snmp.pl Vcore
расширить gpufan /usr/local/bin/gpu_snmp.pl вентилятор
расширить gpuid /usr/local/bin/gpu_snmp.pl идентификатор
расширить gpuaddress адрес /usr/local/bin/gpu_snmp.pl
расширить gpudescription /usr/local/bin/gpu_snmp.pl описание
#
расширить gputemp темп /usr/local/bin/gpu_snmp.pl
расширить gpuload /usr/local/bin/gpu_snmp.pl нагрузки
расширить gpuclock /usr/local/bin/gpu_snmp.pl часы
расширить gpumemory память /usr/local/bin/gpu_snmp.pl
расширить gpuvcore /usr/local/bin/gpu_snmp.pl Vcore
расширить gpufan /usr/local/bin/gpu_snmp.pl вентилятор
расширить gpuid /usr/local/bin/gpu_snmp.pl идентификатор
расширить gpuaddress адрес /usr/local/bin/gpu_snmp.pl
расширить gpudescription /usr/local/bin/gpu_snmp.pl описание
#
- Тест с snmpwalk например, «Snmpwalk -v2c -cpublic локального NET-SNMP-ПРОДЛИТЕ-MIB :: nsExtendOutLine», который должен вывести что-то вроде следующего моей двойной 6990 вышки:
Код:
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid"0,1 = СТРОКА: 0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid"0,2 = СТРОКА: 1
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid".3 = СТРОКА: 2
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid".4 = СТРОКА: 3
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan"0,1 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan"0,2 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan".3 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan".4 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,1 = СТРОКА: 78
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,2 = СТРОКА: 91
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,3 = STRING: 94
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload".4 = СТРОКА: 98
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp"0,1 = СТРОКА: 7350
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp"0,2 = СТРОКА: 7400
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp".3 = СТРОКА: 7450
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp".4 = СТРОКА: 7550
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock"0,1 = СТРОКА: 500
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock"0,2 = СТРОКА: 500
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock".3 = СТРОКА: 515
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock".4 = СТРОКА: 505
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore"0,1 = STRING: 1000
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore"0,2 = STRING: 1000
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore".3 = СТРОКА: 1050
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore".4 = СТРОКА: 1050
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory"0,1 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory"0,2 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory".3 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory".4 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"0,1 = STRING: 03: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"0,2 = STRING: 04: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress".3 = СТРОКА: 07: 00.0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"+0,4 = STRING: 08: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,1 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,2 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,3 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"+0,4 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid"0,2 = СТРОКА: 1
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid".3 = СТРОКА: 2
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuid".4 = СТРОКА: 3
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan"0,1 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan"0,2 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan".3 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpufan".4 = СТРОКА: 85
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,1 = СТРОКА: 78
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,2 = СТРОКА: 91
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload"0,3 = STRING: 94
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuload".4 = СТРОКА: 98
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp"0,1 = СТРОКА: 7350
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp"0,2 = СТРОКА: 7400
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp".3 = СТРОКА: 7450
NET-SNMP-Extend-MIB :: nsExtendOutLine."gputemp".4 = СТРОКА: 7550
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock"0,1 = СТРОКА: 500
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock"0,2 = СТРОКА: 500
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock".3 = СТРОКА: 515
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuclock".4 = СТРОКА: 505
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore"0,1 = STRING: 1000
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore"0,2 = STRING: 1000
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore".3 = СТРОКА: 1050
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuvcore".4 = СТРОКА: 1050
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory"0,1 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory"0,2 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory".3 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpumemory".4 = СТРОКА: 150
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"0,1 = STRING: 03: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"0,2 = STRING: 04: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress".3 = СТРОКА: 07: 00.0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpuaddress"+0,4 = STRING: 08: 00,0
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,1 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,2 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"0,3 = STRING: AMD Radeon HD 6900 Series
NET-SNMP-Extend-MIB :: nsExtendOutLine."gpudescription"+0,4 = STRING: AMD Radeon HD 6900 Series
Исправление проблем
- Если ты видишь "Sudo: извините, вы должны TTY для запуска Sudo" при выполнении сценария с помощью SNMPD, закомментируйте следующую строку в файле sudoers:
Код:
"По умолчанию requiretty"
Проволока до вашего NMS, как вы считаете нужными. Для справки, я отправил свой шаблон Cacti использующий эту статистику Вот.
Повеселись!